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闪存设置

Guru**** 2057290 points
Other Parts Discussed in Thread: MSPM0G3507, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1290414/mspm0g3507-mspm0-flash-settings

器件型号:MSPM0G3507
主题中讨论的其他器件: SysConfig

你好

我正在使用 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、但确实有一些错误。
    我管理的是"Flash ECC 代码"、而不是"Configuration NVM (NONMAIN) ECC 代码"。

    我想使用链接器在特定区域管理数据。 因此、我们将填充部分代码(闪存) ECC 校正区域。

    我在某种程度上使用了调试配置。
    我正在刷写一个包含两个步骤的程序配置。
    1.
    只擦除主内存
    闪存0x0000~0x1FFF
    从0x2000填充到0x3FFF

    2.
    按范围擦除主存储器扇区(0x2000 ~ 0x3FFF)
    闪存0x4000~0xFFFF

    可能的原因是有两种配置、即 BCR_CONFIG 和 BSL_CONFIG。

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

    尊敬的 Kei:

    BCR_CONFIG 和 BSL_CONFIG 包含在链接器的默认版本中、除非您同时填充这些区域、否则不应触发该消息。  

    如果您从 SDK 中刷写一个新示例、是否仍然看到此错误?  

    此致、
    布兰登·费舍尔

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

    非常感谢、Brandon。
    抱歉。 这是我确认的错误。
    NONMAIN 在 SysConfig 中更改了。 正在为此打印消息。