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.

[参考译文] MSPM0G1107:通过 DataFlash 访问 NvMem

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1445919/mspm0g1107-accessing-nvmem-via-the-dataflash

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

工具与软件:

寻找我的骑士在闪亮的盔甲,又名迪伦·奥布里恩爵士。

使用 TI DataFlash 库调用时应避免硬故障。 具体来说、我部分完成了擦除"清除"函数、但在将状态返回到顶级函数调用之前、我们硬错误地返回到无效地址或其他内容。

找不到1107的示例、但找到了3507的示例(flashctl_multiple_size_read_verify_lp_MSPM0G3507_nortos_gcc)、并使其在 e2e 中正常运行。

然而、所有自动生成代码的 bc、很难将工作示例移植到我们的构建环境中。 喜欢打电话、看表演、告诉别人。

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

    Edward、您好!

    您能否在此处粘贴函数调用、以便能够准确地知道您在使用哪一个以及相关参数?

    至于示例代码、可使用 G3507示例、然后在.syscfg 文件中单击器件视图(如 本页的 第4.6节所示-第4.8节还显示了开关器件)、并使用"SWITCH"按钮将器件更改为 G1107。 它可能会抛出一些有关引脚配置的警告、但对于 flashctl 示例、这应该没有问题。 MSPM0G3507的闪存映射将与 MSPM0G1107相同、因此您还应该能够在任一器件上执行相同的闪存读取和写入。  

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

    使用与 CCS 示例中相同的链接器- flashctl_multiple_size_read_verify_LP_MSPM0G3507_nortos_gcc

    已按照您的建议使用 G1107目标重建 G3507示例。 这是导致硬故障的功能

    抛出异常-似乎从0x2020_0000地址的 RAM bc 中执行、对吧?

    不同之处不是自动生成的 SYSCFG_DL_init ()函数,而是使用我们自己的名为 Driver_App 357wareInit ()的函数-它有效地执行相同的工作(我想吗?)

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

    正确、该函数正在从 RAM 执行、源自0x20200XXX 的异常表示它来自 SRAM 的 ECC 未校验区域、这在这里是预期的。

    还可以确认您的第三个映像是的、您正在使用的函数调用只是我们提供的 driverlib 函数、它们看起来在这种情况下可以很好地使用。

    那么、返回到第一个图像以阐明-当您在 G1107上运行所提供的示例时、还会遇到硬错误? 或者、您是说突出显示的函数就是原始应用中出现硬故障的原因吗?

    对于任何情况-有必要知道你传递的地址(第二个操作数)和你正在擦除的空间的大小(第三个操作数)。 您能否告诉我这些内容也适用于您的示例? 这可能会揭示问题所在。

    此外、当遇到硬故障时、您还可以在此处复制粘贴 xPSR 寄存器的内容吗?