OTA Version 注意事项

  1. 目前 RTL8773E 系列 watch 支持的 OTA 文件有:APP_Config 、VP_Data、dsp_app、dsp_sys、dsp_config、sys patch、stack patch、boot patch、APP、User Data(配置为支持 OTA)。

    备注

    • OTA 后可以通过版本号直观确认是否有升级成功。

  2. 版本号修改方法

    • APP_Config 、VP_Data 在 MCUConfig Tool 里改版本号,需要添加 flash_map.ini 重新生成。

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

      修改 APP_Config 和 VP_Data 版本号

    • dsp_app、dsp_sys 文件的版本号是 DSP 版本发布更新的、dsp_config 的版本号可以在 DSPconfig Tool 中 Customer Info 自定义。

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

      修改 dsp_config 版本号

    • sys_patch、stack_patch、boot_patch 的版本号是 Realtek 发布 SDK 时基于不同 code base 编译而生成的。

    • APP 的版本号可在 version.h 对应位置修改,如果 flash_map.ini 更新,需要更新对应的 flash_map.h 编译。

    • User Data 文件可在 flash map 分配时设定是否支持 OTA,在 Prepend Header for User Data 时可以设定版本号。

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

      修改 User Data 版本号

  3. 版本号的字段定义

    //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;
    

    可以对照结构体 T_IMG_HEADER_FORMAT 成员 T_VERSION_FORMAT git_ver,从 image header 中获取对应 image 的 version 信息。