TI中文支持网
TI专业的中文技术问题搜集分享网站

LP-CC2652RB: 关于在支持 OAD 功能的 app 中使用内部 flash 问题

Part Number:LP-CC2652RBOther Parts Discussed in Thread:SYSCONFIG

Hi Ti,

今天我们在 OAD 过程中遇到 FLASH 不足的问题,在通过增加 persistent_app 的 sysconfig 的 NVS 的 CONFIG_NVSINTERNAL1 空间,问题可以解决。

但是对其中的细节还是很不清晰,所以特来求助:

在 simplelink_cc13x2_26x2_sdk_4_30_00_54 中,persistent_app 的 sysconfig 关于 NVS 配置如下:

    

在 simplelink_cc13x2_26x2_sdk_5_10_00_48 中,persistent_app 的 sysconfig 关于 NVS 配置如下:

通过以上两个 SDK 配置的对比,我们想请教一下:

1. CONFIG_NVSINTERNAL1 和 CONFIG_NVSINTERNAL 两个 NVS 区域的功能是什么?

2. CONFIG_NVSINTERNAL1 的具体范围是多少?这个范围是否跟 SDK 版本有关?如果范围和SDK版本有关系,则这两个SDK版本的范围分别是多少呢?

 

我还查看了一下不同 SDK 的 simple_peripheral_oad_onchip 工程中 NVS 的配置:

在 simplelink_cc13x2_26x2_sdk_4_30_00_54 中 simple_peripheral_oad_onchip  的 sysconfig 配置如下:

     

在 simplelink_cc13x2_26x2_sdk_5_10_00_48 中 simple_peripheral_oad_onchip 的 sysconfig 配置如下:

    

通过对比,发现:在相同版本的 SDK 中, persistent_app 和 simple_peripheral_oad_onchip 工程的 NVS 配置是完全一致的。

由此,我们想请教一下:

3. persistent_app 和 simple_peripheral_oad_onchip 工程的 NVS 配置是否一定要完全匹配呢?

4. 在这两个工程中的两个 NVS 区域功能是一样的吗?

最后,还想问一下:

5. Region Type 中的 Generated 和 Pointer 区别是什么,什么情况下会用到呢?

(可参考问题 LP-CC2652RB: 关于在支持 OAD 功能的 app 中使用内部 flash 问题 – 蓝牙论坛 – Bluetooth – E2ETm 设计支持 (ti.com) )

由于是在开发中遇到了这个问题,所以我们需要尽可能地了解更多的细节,多谢你们的帮助!

Kevin Qiu1:

我会仔细研究一下,预计明天这个时候回复你

,

junde deng:

多谢 kevin 

,

Kevin Qiu1:

CONFIG_NVSINTERNAL是persistent所占用的空间,CONFIG_NVSINTERNAL1是从flash 起始地址到persistent之前的区域

junde deng 说:2. CONFIG_NVSINTERNAL1 的具体范围是多少?这个范围是否跟 SDK 版本有关?如果范围和SDK版本有关系,则这两个SDK版本的范围分别是多少呢?

是与SDK版本有关,版本变了后部分程序所占的空间会大一些

范围可以在flash layout中查看内存布局https://dev.ti.com/tirex/content/simplelink_cc13x2_26x2_sdk_5_20_00_52/docs/ble5stack/ble_user_guide/html/oad-secure/flash-layout-on-chip-stack-library.html

junde deng 说:3. persistent_app 和 simple_peripheral_oad_onchip 工程的 NVS 配置是否一定要完全匹配呢?

不能出现覆盖

junde deng 说:4. 在这两个工程中的两个 NVS 区域功能是一样的吗?

一样的

junde deng 说:Region Type 中的 Generated 和 Pointer 区别是什么,什么情况下会用到呢?

Generated – An internal flash region is automatically generated.
Pointer – Provide a pointer to the memory location of a predefined internal flash region.

更多OAD文档查看上面链接中的OAD部分,它涵盖了所有OAD信息

,

junde deng:

Kevin Qiu1 说:CONFIG_NVSINTERNAL是persistent所占用的空间,CONFIG_NVSINTERNAL1是从flash 起始地址到persistent之前的区域

在  simplelink_cc13x2_26x2_sdk_4_30_00_54 中的 persistent_app 的烧录起始地址是 0x36000, 而 CONFIG_NVSINTERNAL 定义的空间是 0x32000-0x35FFF,刚好两个衔接上,但是并不重叠,如果 CONFIG_NVSINTERNAL 是 persistent 占用的空间,那这个 persistent 就占用了两个空间???

还有:如果 CONFIG_NVSINTERNAL1 是从flash 起始地址到 persistent (CONFIG_NVSINTERNAL?) 之前的区域,那就是说我可以将 simplelink_cc13x2_26x2_sdk_4_30_00_54 的 CONFIG_NVSINTERNAL1 空间直接改成 0x0 ~ 0x31FFF 而没有增加与 SDK 已定义的其他空间的冲突对吗?

,

Kevin Qiu1:

junde deng 说:如果 CONFIG_NVSINTERNAL 是 persistent 占用的空间,那这个 persistent 就占用了两个空间???

占用两个空间是什么意思,persistent是从0x32000开始的

junde deng 说:simplelink_cc13x2_26x2_sdk_4_30_00_54 的 CONFIG_NVSINTERNAL1 空间直接改成 0x0 ~ 0x31FFF 而没有增加与 SDK 已定义的其他空间的冲突对吗?

理论上是可以的,但这没经过验证,我建议你使用一个版本进行开发,新的版本会对之前的bug进行修复,SDK5.20会是

更好的选择

赞(0)
未经允许不得转载:TI中文支持网 » LP-CC2652RB: 关于在支持 OAD 功能的 app 中使用内部 flash 问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1