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.

[参考译文] TMS320F280049M:闪存模块控制器(FMC)上的闪存编程

Guru**** 2581345 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/651253/tms320f280049m-flash-programming-at-flash-module-controller-fmc

器件型号:TMS320F280049M

您好、倒角。


我对 FMC 有一些疑问。

在 TRM P121-122

"单个 FMC 同时控制组0和组1。 CPU 与 FMC 连接、FMC 反过来与组0和组1以及共享泵连接、以执行擦除或编程操作、读取数据并执行来自这些闪存组的代码。

FMC 中有一个在硬件中生成擦除/编程序列的状态机。 这简化了闪存 API 软件、该软件可配置 FMC 中的控制寄存器以执行闪存擦除和编程操作。 有关闪存 API 的详细信息、请参阅 TMS320F28004x 闪存 API 参考指南。"

我的理解是
FMC 可以在没有 CPU 的情况下执行闪存擦除和编程。 (来自 CPU 的指令)
2. CPU 可以在 FMC 执行擦除/编程时执行其他指令。
FMC 检查 ECC 校验位。 但 FMC 无法验证是否执行了。
此外、即使组是相同的、当扇区不同时、也可以执行 FMC 擦除/编程。
5. FMC 在执行擦除/编程完成时中断 CPU。

这些是正确的吗?

请告诉我是否有其他功能。


此致、
新吉宇田

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

    Ueda-San、

    1.是的。 CPU 使用 API 提供擦除或编程命令。 FMC 中的 FSM 将接管该操作。 CPU 可以轮询 FSM 状态。  CPU 可以在 FSM 上等待完成擦除/编程操作时接受任何中断。

    2. CPU 可以从 RAM 或从另一个组(如果存在第二个组)执行其他指令(如 ISR)。  CPU 不应访问正在进行擦除或编程操作的存储块。

    3.我认为我不清楚你的问题。  如果启用了 ECC 检查(ECC_ENABLE = 0xA)、FMC 会在获取或读取闪存时评估 ECC。  当闪存被编程时、应该完成验证。  这是否回答了您的问题?  

    4.不 如上所述、无论哪个扇区正在进行擦除/编程、都不允许对整个存储区进行访问。   

    5.不支持此功能。

    谢谢、此致、
    Vamsi