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.
你好
我正在使用 MSPM0G3507。
我已尝试在 MSPM0闪存设置中删除主存储器的0x00002000 ~ 0x0000FFFF。
执行后、成功创建了闪存本身、但显示以下消息。
有什么危险吗?
Cortex_M0P:闪存编程器:错误、尝试不擦除的非主写入!
尊敬的 Kei:
您将使用哪些工具对器件进行编程? 具体来说是什么 IDE 和什么调试器?
您是否在使用 SysConfig?
该消息表示由于某种原因您的程序中的某些部分分配给了 NONMAIN 存储器。 由于它未被擦除、因此不会对其重新编程、但如果您对 NONMAIN 的写入不够仔细、那么您可能会意外将自己锁定在器件之外。
此致、
布兰登·费舍尔
非常感谢、Brandon。
我已经描述了我的环境。
・Code composer Studio 12.4.0
・XDS110
・使用 SysConfig 1.17.0
我使用 ECC 来写入 NONMAIN。
此外、链接器文件会使用值填充代码区域。
尊敬的 Kei:
・Code composer Studio 12.4.0
・XDS110
・使用 SysConfig 1.17.0
[/报价]您的 MSPM0 SDK 版本是什么? 最新版本是1.20、我认为它需要 SysConfig 1.18。 其中包含了一些错误修复程序、但我不认为这是您当前问题的原因。
我使用 ECC 写入 NONMAIN。
[/报价]您是说您要对 NONMAIN 的 ECC 校正区域进行写入、这很好、是要写入的最佳区域。 如果您有意修改 NONMAIN、我建议您使用 SysConfig 工具来执行该操作、而不是自行修改。 如果您不小心、可能会永久锁定在设备之外。 如果您使用 SysConfig 来执行此操作、那么您当然可以。
如果您有意修改非主存储器、则还必须设置调试配置、在对闪存的非主区域进行编程之前擦除该区域、否则您将看到错误。
为此、首先在项目浏览器中右键单击您的项目名称、然后转到 Debug As -> Debug Configurations:
然后、在调试配置中、按如下所述为您的项目更改擦除方法设置:
[/quote]此外,链接器文件还使用值来填充代码区域默认链接器不应填充此内容、如果未加载任何 Coded、则应忽略此内容。 您完全是否修改了链接器?
此致、
[/quote][/quote]
布兰登·费舍尔
非常感谢、Brandon。
SDK 使用1.10.0.05。 此版本将在未来被最新版本取代。 它还没有跟上变化。
很抱歉、但我真的不明白如何使用 SysConfig 工具更改 NONmain、所以我不使用它。
我想使用链接器在特定区域管理数据。 因此、我们将填充部分代码(闪存) ECC 校正区域。
我在某种程度上使用了调试配置。
我正在刷写一个包含两个步骤的程序配置。
1.
只擦除主内存
闪存0x0000~0x1FFF
从0x2000填充到0x3FFF
2.
按范围擦除主存储器扇区(0x2000 ~ 0x3FFF)
闪存0x4000~0xFFFF
可能的原因是有两种配置、即 BCR_CONFIG 和 BSL_CONFIG。
尊敬的 Kei:
BCR_CONFIG 和 BSL_CONFIG 包含在链接器的默认版本中、除非您同时填充这些区域、否则不应触发该消息。
如果您从 SDK 中刷写一个新示例、是否仍然看到此错误?
此致、
布兰登·费舍尔
非常感谢、Brandon。
抱歉。 这是我确认的错误。
NONMAIN 在 SysConfig 中更改了。 正在为此打印消息。