工具与软件:
根据 freertos_builds_LP_MSPM0G3507_RELEASE_ticlang_2_00_00_03、我们希望在闪存上保留特定块以进行保存
产品关键数据、并且此块无法在闪存映像上被擦除。
MSPP0G3507是否支持该功能以允许我们访问保留的闪存块、有什么示例可供参考?
谢谢。
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.
工具与软件:
根据 freertos_builds_LP_MSPM0G3507_RELEASE_ticlang_2_00_00_03、我们希望在闪存上保留特定块以进行保存
产品关键数据、并且此块无法在闪存映像上被擦除。
MSPP0G3507是否支持该功能以允许我们访问保留的闪存块、有什么示例可供参考?
谢谢。
尊敬的 Sal:
我在查看技术文档上的 NONMAIN 区域时发现此区域由 BCR 和 BSL 使用、因此您建议的方式是将自定义数据"附加"到
BCR_Config 或 BSL_Config 但不会创建新的 NONMAIN 区域?
如果我在上文的理解是正确的、我在 TI 资源中找到了一个示例- flashctl_nonmain_memory_WRITE_LP_MSPM0G3507_nortos_ticlang
但会显示如下所示的错误日志、我的 CCS 上是否有任何配置错误?
Cortex_M0P:GEL 输出:内存映射初始化完成
Cortex_M0P:文件加载程序:存储器写入失败:闪存编程器:错误、在不擦除的情况下尝试 NONMAIN 写入!
Cortex_M0P:GEL:文件:C:\projects\workspace_v12\flashctl_nonmain_memory_WRITE_LP_MSPM0G3507_nortos_ticlang\Debug\flflashctl_nonmain_memory_WRITE_LP_MSPM0G3507_nortos_ticlang.out:加载失败。
谢谢。
ROI
您好 ROI、
闪存应首先擦除、然后将新数据加载到闪存。 因此、您应可靠地擦除 NONMAIN。 或者、旧数据将被保留、这可能会导致意外结果。
同时、NONMAIN 是一个特殊特征、用于控制器件接口访问权限的任务、因此如果用户擦除 NONMAIN 而不加载新数据、则器件将被永久锁定且不能解锁。
至于 CCS 中的错误、您应该将调试行为更改为擦除 NOMAIN 闪存区域。 下面是一个 exapmle:
B.R.
SAL
尊敬的 Sal:
我在项目中检查 cmd 文件、如下所示。
如果我要为关键数据保留1KB、我是否需要修改 cmd 文件、以便 首先将闪存长度从0x00020000更改为0x0001FC00?
CMD 文件:
小程序
{
Flash (RX):origin = 0x00000000、length = 0x00020000 -> 0x0001FC00
SRAM (rwx):origin = 0x20200000、length = 0x00008000
BCR_CONFIG (R):origin = 0x41C00000、length = 0x00000080
BSL_CONFIG (R):origin = 0x41C00100、length = 0x00000080
}
谢谢。
ROI
您好 ROI、
是的、正确。 然后、您可以将0x1FC00 -0x20000分配为新的闪存区域、以安装一些要保留的数据。
提供了编译器格拉默指南、可帮助您实施这些指南。
https://www.ti.com/tool/ARM-CGT?keyMatch=TI%20CLANG
B.R.
SAL