This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2652P:有关 CCFG 地区的问题

Guru**** 2589275 points
Other Parts Discussed in Thread: CC2652P, SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/947902/cc2652p-questions-about-ccfg-region

器件型号:CC2652P
Thread 中讨论的其他器件: SysConfig

大家好、我使用的是 CC2652P、SimpleLink SDK v4.20。 我的应用基于示例154堆栈传感器。

我对 ccfg 有一些问题。

根据 CC2652P 技术参考手册、CCFG 寄存器基址为0x5000 3000。 有22个 ccfg 寄存器、第一个寄存器的偏移量为0x1FA8、每个寄存器为4个字节、因此、cfg 寄存器从0x5000 4FA8获取88个字节。

最后一个闪存页面也是 ccfg、如下所示:

最后一个闪存页的范围是0x56000到0x58000。

我读出了 ccfg 寄存器的内容和闪存的最后一页、然后比较88个字节、发现它们实际上是相同的。

那么、我的问题是 、两个相同的 ccfg 区域之间的机制是什么?

例如、有一个 ccfg 寄存器、名为 image_valid_conf、该寄存器具有闪存矢量表开头的地址值、以便 ROM 中的引导 FW 可以将控制传输到闪存映像。

我读出该寄存器、它是0x0000 0000、最后一个闪存页中的相同偏移地址也是0x0000 0000。

因此、很明显、ROM 中的 FW 会将控制权转移到0x0000 0000 0000以运行我的应用程序映像。

但是、如果该寄存器值与上一个闪存页中的值不同、该怎么办?  

例如、寄存器值为0x0000 0000、但最后一个闪存页中的模块为0x0000 8000、ROM 中的 FW 是否会将控制传输到0x0000 0000或0x0000 8000?

并且、当 ccfg 寄存器中的值与最后一个闪存页面中的值不同时、如何使它们再次相同?

这个设计机制有两个 ccfg 区域(ccfg 寄存器和最后一个闪存页)的优势是什么?

非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yingtao、

    存储器映射用于在两个 Arm Cortex 处理器(无线电 M0和主 M4F)之间共享资源。  作为一个开发人员、您唯一关心的是应用、因此您应该修改存储在闪存最后一页中的 CCFG。  存储器位置在 cc26x2lp.cmd 中设置、CCFG 在 SysConfig 文件的器件配置模块中配置。

    此致、
    Ryan