Other Parts Discussed in Thread: CC2755R10, UNIFLASH, SYSCONFIG
器件型号: CC2745R10-Q1
Thread 中讨论的其他器件: CC2755R10、 UNIFLASH、 SYSCONFIG
尊敬的 TI 团队:
通过 CCS 进行编程时、CC2755R10 器件上存在 NVS 数据持久性问题。
问题描述
我们使用 NVS 模块将持久数据存储在内部闪存中。 NVS 写入和读取操作可以正常工作、并且存储的数据会按预期在电源复位时持续存在。
但是、每当我们使用 Code Composer Studio (CCS) 对固件重新编程时、之前存储的 NVS 数据都会被擦除。 这种行为会导致开发阻塞、因为我们的应用依赖于在不同固件更新之间保留配置和证书数据。
NVS 闪存区域
以下闪存区域保留用于 NVS 存储:
| 大得多 | 地址范围 | 扇区 |
|---|---|---|
| CONFIG_NVSINTERNAL | 0xDE000–0xE0FFF | 444–449 |
| CONFIG_NVS_CSR | 0xE1000–0xE17FF | 450 |
| CONFIG_NVS_CERT | 0xE1800–0xE2FFF | 451–453. |
| CONFIG_NVS_COMM | 0xE3000–0xE4FFF | 454–457 |
受保护扇区总范围:
444-457.
预期行为
在固件下载期间、NVS 区域应保持不变、因为这些扇区保留用于持久存储、不打算作为应用程序映像的一部分进行重新编程。
已应用 CCS 配置
根据提供的建议、我们按如下方式配置 CCS:
- 已打开“项目属性“。
- 导航至:
Debug→Flash Settings。 - 启用:
“程序加载期间跳过指定的扇区“。 - 已输入扇区范围:
444-457.
随附所应用 CCS 配置的屏幕截图。
测试程序
- 对固件进行编程。
- 将数据写入 NVS 区域。
- 验证数据是否正确存储。
- 执行电源复位。
- 数据仍然正确存在。
- 使用 CCS 对固件重新编程。
- NVS 数据被擦除。
- 使用 UniFlash 对固件重新编程。
- NVS 数据保持不变。
当前状态
即使在应用建议的 CCS 闪存设置并保护扇区 444-457 后、问题仍然存在。 通过 CCS 编程后、NVS 内容将丢失。
请帮助我们了解以下内容:
- 是否需要其他 CCS 设置来保留这些扇区?
- 链接器配置是否需要进行任何修改?
- 尽管采用了跳过扇区配置、CCS 是否正在执行任何仍然可以擦除这些扇区的操作?
- 在 CC2755R10 上下载固件期间保留 NVS 数据的任何推荐方法?
这一问题目前阻碍了我们的发展活动、因此我们非常希望得到任何指导。
谢谢你。
此致、
Ankur Singh
TRAK N TELL



