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.
我终于有了 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)如果您完全覆盖现有映像、并且映像使用相同的扇区和复位矢量、则您应该能够进行复位、并在下次复位时从闪存映像引导器件。
谢谢、
标记