OTA Version Usage Notes

  1. Currently, the OTA files supported by the RTL8773E series watch include: APP_Config, VP_Data, dsp_app, dsp_sys, dsp_config, sys patch, stack patch, boot patch, APP, and User Data (configured to support OTA).

Note

  • After OTA, you can visually confirm whether the upgrade was successful through the version number.

  1. Method for Modifying Version Number

  • APP_Config and VP_Data need to have their version numbers changed in the McuConfig Tool, and flash_map.inimust be added for regeneration.

    ../../../_images/OTA_version_mcutool.png

    Modify APP_Config and VP_Data Version Number

  • The version number of dsp_app and dsp_sys files is updated with the DSP version release, while the version number of dsp_config can be customized in the DSPconfig Tool under Customer Info.

    ../../../_images/OTA_version_dsptool.png

    Modify dsp_config Version Number

  • The version numbers for sys_patch, stack_patch, and boot_patch are generated based on different code bases when Realtek releases the SDK.

  • The version number for the APP can be modified at the corresponding location in version.h, and if flash_map.ini is updated, the corresponding flash_map.h needs to be updated for compilation.

  • The User Data file can be set to support OTA during flash map allocation, and the version number can be set in Prepend Header for User Data.

    ../../../_images/OTA_version_mppgtool.png

    Modify User Data Version Number

  1. Definition of Version Number Fields

    //APP:
    struct {
       uint32_t _version_major: 4;
       uint32_t _version_minor: 8;
       uint32_t _version_revision: 9;
       uint32_t _version_buildnum: 11;
    } app_sub_version;
    
    //PATCH(sys_patch, stack_patch, boot_patch):
    struct {
       uint32_t _version_major: 4;
       uint32_t _version_minor: 8;
       uint32_t _version_revision: 15;
       uint32_t _version_reserve: 5;
    } sub_version;
    
    //dsp app/dsp sys/dsp cfg version:
    struct {
       uint32_t  customer_info : 8;
       uint32_t  svn_version_revision: 8;
       uint32_t  svn_version_minor: 8;
       uint32_t  svn_version_major: 8;
    }versionNew;
    
    //Others:
    struct {
       uint32_t _version_buildnum: 8;
       uint32_t _version_revision: 8;
       uint32_t _version_minor: 8;
       uint32_t _version_major: 8;
    } xx_sub_version;
    

    One can refer to the structure T_IMG_HEADER_FORMAT member T_VERSION_FORMAT git_ver to obtain the version information of the corresponding image from the image header.