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.

[参考译文] LP-MSPM0L1306:使用闪存的仿真 EEPROM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1171864/lp-mspm0l1306-emulation-eeprom-using-flash

器件型号:LP-MSPM0L1306
主题中讨论的其他器件:MSPM0L1306

您好!

我希望将配置参数存储到仿真的 EEPROM 中、我使用的是示例代码 emulation_type_b、在这里我可以成功运行、并且可以从内存浏览器中看到存储在从0x0001000开始的位置的数据。 但是、我如何在加电和加电后使闪存中的数据保持一致。

我已经尝试先加载数据@ 0x00001000、然后停止调试、然后再次运行调试器。这次我希望在再次加载数据之前在内存浏览器中看到之前加载的数据、但它都是默认值0xFFFFFFFF

有人可以在这里提供帮助

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

    您好、Vamsi、

    正如一个预先说明的那样、EEPROM 示例是早期修订版本、可能 仍需要一些额外的测试和更新。 也就是说、您应该仍然能够在闪存存储器中看到上一次写入的结果。  当调试器第二次启动时、它可能只是擦除所有非主闪存、然后重新编程。

     首次调试/运行后、但在启动第二个调试会话之前、您应该更改该工程的调试配置(如下所示)、以便将其设置为 仅加载符号。  

    确保单击"应用"、以便保留更改。 在下一次调试时、您仍然应该能够看到写入此存储器位置的数据。  

    此致、
    Brandon Fisher

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

    非常感谢 Brandon、但当我使用此配置运行调试时、它会在默认处理程序中出现问题、而(1)是否符合预期? 如果是、我能否知道原因  

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

    您好、Vamsi、

    您是否以任何其他方式修改了项目中的任何内容? 这不是完全可以预料的、但我之前在这个示例中看到过。 特别是在过去、我从与闪存存储器访问相关的硬故障中看到了这一点。  

    为了进一步说明、这个示例当前完全从闪存运行、并且也写入同一个闪存组。 通常、我们需要运行在从 SRAM 写入闪存时运行的函数。 计划在未来的更新中修复此问题、可能需要对 DL_FLACHCTL 库进行一些重组。 如果您需要在短期内执行此操作以进行验证、可以通过对链接器和 example/driverlib 代码进行一些修改来将正确的函数放入 SRAM。  

    此致。
    Brandon Fisher

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

    您好、Brandon、

    我已将基地址从0x00001000更改为0x0000E000

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

    您好、Vamsi、

    我看不到这会导致您点击默认处理程序的明显原因、但我们可以通过从 SRAM 运行您的代码来快速检查它是否与我描述的内容相关。 我描述的问题有时会出现这种症状、其中看似不相关的代码更改可能会导致故障。  

    在链接器命令文件(mspm0l1306.cmd)内、将下面突出显示的代码从"flash"更改为"sRAM"。 然后再次加载并运行代码。  

    这会将您的所有程序放入 SRAM 而不是闪存中、并希望允许您到达程序断点的末尾。  

    此致、
    Brandon Fisher