Other Parts Discussed in Thread: UNIFLASH
器件型号: CC2745R10-Q1
Thread 中讨论的其他器件: UNIFLASH
尊敬的 TI 支持团队:
我正在使用通过 Code Composer Studio (CCS) 进行固件开发的 CC2745 器件。
我观察到以下与闪存相关的行为:
当使用以下指令复位器件时:
电源复位
硬件复位引脚
软件复位
→闪存内容保持不变且持久不变。
但是、当 I 使用 CCS (Load Program / Debug) 对固件进行刷写/编程时、闪存内容将被擦除并恢复为默认值 (0xFF)。
我不仅在我的应用中验证了这种行为、还使用了 TI 参考示例、该行为在所有情况下都是相同的。
据我的理解、CCS 在编程前执行批量擦除、这会导致 NVS 等用户数据或闪存中存储的配置丢失。
我的问题:
CCS 的这种批量擦除行为是否是 CC2745 的建议行为及预期行为?
在开发过程中对固件重新编程时、建议使用什么方法来保留 NVS/用户数据?
是否有首选的 CCS 配置或链接器存储器布局来安全地保护 NVS 区域不被擦除?
在生产固件更新场景中、确保闪存用户数据不会丢失的最佳实践是什么?
我的用例:
我将永久配置数据存储在闪存中、并希望确保:
数据能够承受电源复位和系统复位(正常工作)。
在固件重新编程或未来的固件更新机制期间、不会意外擦除数据。
请参阅 TI 建议的用于在 CC2745 上管理持久闪存数据的最佳方法指南。
感谢您的支持。