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.

[参考译文] TMS320F28069F:从 SPI 闪存复制新映像

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/696194/tms320f28069f-copying-new-image-from-spi-flash

器件型号:TMS320F28069F

我终于有了 SPI 例程来工作、在这里我可以从外部 SPI 闪存器件写入/读取数据。 其理念是从 USB 驱动器读取新映像(NewImage.hex)、然后将该数据复制到 SPI 闪存中。 复制后、我将自行复位、并让 CurImage.hex 检测 SPI 闪存上是否有新映像、从 RAM 执行复制函数以将数据从 SPI 闪存中复制出来、并过度写入 CurImage.hex。

在我通过 CurImage.hex 写入 NewImage.hex 后、器件将复位并开始执行 NewImage.hex。

如何操作?

我希望所有内容都集成到一个图像中,因此我没有第二启动图像等豪华功能(如中所述  )。

如何执行以下操作:

a)指定在 RAM 中有效的 SPI 读取函数

b)从 SPI 闪存复制映像以覆盖现有映像(我必须使用 SCI 方法、还是有更快速的方法来替换内部闪存映像)?

c)复位代码、以便 NewImage.hex 可以运行(跳转至0x0?)?

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

    光亮、

    请参阅以下主题:
    e2e.ti.com/.../1985962
    e2e.ti.com/.../1946958

    这些应该有助于您快速了解。

    此外、您是否阅读过串行闪存编程用户指南?
    http://www.ti.com/lit/sprabv4

    要回答您的问题、  

    a)您将使用 #pragma CODE_SECTION ()编译器指令来指示您希望函数位于"ramfuncs"中 许多示例都显示了这一点。 您可以在 主.c 文件中查看有关 epwm1_timer_ISR 声明的 Example_28069Flash 示例。

    b)您不必使用 SCI 方法。 您只需读取 SPI 函数、然后使用闪存 API 调用写入新的闪存映像。  

    C)如果您完全覆盖现有映像、并且映像使用相同的扇区和复位矢量、则您应该能够进行复位、并在下次复位时从闪存映像引导器件。  

    谢谢、

    标记