Other Parts Discussed in Thread: AM2634-Q1, UNIFLASH
Thread 中讨论的其他器件: UNIFLASH
您好、
我正在处理 AM2634-Q1。
我不得不更新其中的固件、但无法访问引导模式引脚。
问题 1:我的系统仍在运行而没有访问引导模式 (SOP) 引脚时、是否可以将我的应用程序更新到闪存中?
问题 2:如果我必须进行固件更新、程序是什么?
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.
问题 1:当我的系统仍在运行而不访问引导模式 (SOP) 引脚时、是否可以将我的应用程序更新到闪存?
是的。 QSPI 闪存通常只是空闲、而您的应用程序完全在 RAM 中运行。 只要您的应用配置了闪存和 QSPI 外设、您就可以接收字节流(例如通过 CAN)、存储在缓冲区中并对 QSPI 闪存进行编程。
问题 2:如果我必须进行固件更新、该过程是什么?
我不是说这是唯一的方法、而是我在 AM263Px 上这么做的。
研究 SBL CAN UNIFLASH 示例。 AM263x MCU+ SDK:SBL 可以 UNIFLASH
通过对其进行调试、您将看到通过 CAN 将应用文件接收到 RAM 缓冲区中、然后通过调用 引导加载程序驱动程序、将应用程序刷写到 QSPI。
最终它会调用 Bootloader_uniflashFlashFileSector (flashIndex、buf、filesize、flashOffset)、其中:
在应用程序中、将闪存和 QSPI 配置为与 SBL CAN UNIFLASH 示例相同 、然后在运行的应用程序中对 Bootloader_uniflashFlashFileSector () 进行类似的调用以刷写新应用程序。 好吧、POR 后、新应用程序将运行。
在我的例子中,我通过 XCP-on-CAN FD 将整个应用程序下载到 RAM 中,然后在后台空闲任务中对 Bootloader_uniflashFlashFileSector () 进行单次调用。 最后,我可以在 RAM 上运行低,所以在那一点,我将 逐块下载应用程序,并多次调用 Bootloader_uniflashFlashFileSector (),就像传统的重新闪存序列一样。
问题 1:当我的系统仍在运行而不访问引导模式 (SOP) 引脚时、是否可以将我的应用程序更新到闪存?
正如 KIER 所回复、您可以读取/写入 QSPI 闪存、因为在 AM263x 中、SOC 代码始终从 RAM 执行、因此闪存几乎处于空闲状态、除非您在应用中使用它。
问题 2:如果我必须进行固件更新、该过程是什么?
如果您正在寻找样品流、请参阅: e2e.ti.com/.../5667305