Part Number:LAUNCHXL-CC26X2R1
simple_peripheral工程 NV范围起始:0x48000大小:0x4000(2page)
simple_peripheral_oad_onchip为什么有两个NV,分别用来做什么?
Nick Sun:
您好,
感谢您的提问,我需要查看一下这个问题,有结论及时联系您。
,
Nick Sun:
您好,
CONFIG_NVSINTERNAL1(Region Base:0x0),存储的用户应用程序(包括原工程和后期oad的工程),BIM查找该地址并启动应用程序。
CONFIG_NVSINTERNAL(Region Base:0x34000),0x34000 到 0x38000 这部分是默认保留用于非易失性内存存储。
默认simple_peripheral对于双映像配置来说太大,因此使用了persistent_app。
simple_peripheral_oad_onchip 是使用 persistent 镜像更新active镜像区域的示例,您可以查看 Application Execution switching section部分:
On power up, BIM will pass execution to the user application. When user application wants to upload a new image, it has to switch the execution to the persistent application. (开机时,BIM 会将执行传递给用户应用程序。什么时候用户应用程序想要上传新图像,它必须将执行切换到持久性应用程序。)
您可以参看这篇帖子:(+) CC2652R: Compiling into NVS regions – Zigbee & Thread forum – Zigbee & Thread – TI E2E support forums
,
疾风亦有归途:
Nick Sun said:默认simple_peripheral对于双映像配置来说太大,因此使用了persistent_app。
persistent_app工程的NVS也是0x34000 到 0x38000 这块区域吗?
,
Nick Sun:
您好,
上述回复参考帖子中有提到:BIM finds valid application at 0x38000 (persistent)
persistent_app是从0x38000地址开始的。
,
疾风亦有归途:
只刷写simple_peripheral_oad_onchip和BIM_onchip,将simple_peripheral_oad_onchip的CONFIG_NVSINTERNAL(Region Base:0x34000-0x38000)修改为 (Region Base:0x50000-0x52000),NVS读写(osal_snv_write)失败?
NVS的划分必须紧靠应用程序吗?
,
Nick Sun:
您好,
不只是要改这个,之前也有回复您,cmd文件也要改,另外只用一页NV的话,宏定义也要改。
参考:https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_7_10_01_24/docs/ble5stack/ble_user_guide/html/ble-stack-common/flash_memory-cc13xx_cc26xx.html#non-volatile-on-chip-multi-page-nvocmp-driver
所以我们不是很建议乱改。
,
疾风亦有归途:
cmd需要改哪些?
我修改了#define IMG_A_FLASH_START 0x00028000
,
Nick Sun:
您好,
看到您之前的帖子(LAUNCHXL-CC26X2R1: 修改oad_onchip工程替换persistent_app – 蓝牙论坛 – Bluetooth – E2E 设计支持 (ti.com))有提到:
所有相关项目的所有链接器命令文件都应该更新(包括simple_peripheral_load_onchip)。您所做的更改尚未经过TI的测试,我们只能为这些更改提供有限的支持。
我们建议您可以将问题发帖至E2E英文论坛(e2e.ti.com),产线工程师专家会针对性解决您的需求。