CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

SCA

System Configuration Area(SCA)位于Flash的前两个Sector(共8 KB,0x0100_0000 ~ 0x0100_2000)。SCA中存储了系统启动过程使用的标志以及其他系统配置参数。SDK toolchain链接工具会根据用户配置文件custom_config.h(路径:Project_Folder\Src\config)生成SCA Image,并将其烧写到SCA,参考生成固件图 6为System Configuration Area布局。

说明:

Project_Folder为工程的根目录。

图 6 System Configuration Area布局
  • Boot_Info与Boot_Info Backup存储了相同的信息,Boot_Info Backup是Boot_Info的备份。
    • 在非安全模式下,Bootloader会默认从Boot_Info中获取启动信息。
    • 在安全模式下,Bootloader会先校验Boot_Info,如果Boot_Info校验不过,则会校验Boot_Info Backup,并从Boot_Info Backup中获取启动信息。
  • Boot_Info(32B)区域中存储了Firmware启动信息,Bootloader会根据启动信息,校验和跳转到Firmware的入口地址。
    • Boot Config为系统启动配置信息。
    • SPI Access Mode为SPI访问方式配置。为系统固定配置,用户无法修改。
    • Run Addr为Firmware运行地址,与custom_config.h中的APP_CODE_RUN_ADDR对应。
    • Load Addr为Firmware存储地址,与custom_config.h中的APP_CODE_LOAD_ADDR对应。
    • CheckSum为Firmware校验和,生成Firmware后,由SDK toolchain自动算出。
    • APP Size为Firmware的Size信息,生成Firmware后,由SDK toolchain自动算出。
  • Img_Info区域存储了最多10个Firmware的信息。当使用GProgrammer下载Firmware或使用DFU升级Firmware时,Firmware信息会被存储到Img_Info区域。
    • Comments为Firmware描述信息,支持最多12个字符。生成Firmware后,SDK toolchain使用Firmware文件名作为Comments信息。
    • Boot Info(24B)为Firmware启动信息,与上述Boot_Info(32B)的低24 Byte相同。
    • Version为Firmware版本信息,与custom_config.h中VERSION对应。
    • Pattern为固定值0x4744。
  • DFU Config Info区域存储了ROM中DFU模块的配置信息,开发者可以通过调用相应API来更改该区域的数据,进而配置DFU模块。
    • UART Info为DFU模块的UART串口相关配置,包括状态位、波特率、GPIO配置等。
    • ADV Name Info为DFU模块的广播相关配置,包括状态位、广播名、广播长度。
    • NVDS Init Info为DFU模块的NVDS系统的初始化配置,包括状态位、NVDS区域大小、起始地址。
    • DFU Disable Cmd Info为DFU模块的DFU禁用命令配置,包括状态位和Disable DFU Cmd(2B,设置格式为Bitmask),可通过设置Disable DFU Cmd值来禁用某些DFU命令。
  • Hmac区域存储了Hmac校验值。该区域仅在安全模式下有效。关于安全模式,参考文档GR551x固件加密及应用介绍

扫描关注

打开微信,使用“扫一扫”即可关注。