您好!
请帮我举个例子。
目前、我使用 boot_serial 应用程序将固件下载到控制器、但当下载固件时此串行通信中断时、我需要重新刷写引导加载程序、这对我来说是个问题。
如果固件下载期间的通信中断、我需要系统保持正常运行。
我想先将固件文件复制到闪存中,因为当前我的固件仅使用40%的控制器闪 存,所以60%是免费的,在完全下载后,如果下载的固件有效,我想运行下载的固件。
请提供一些示例或正确的方法。
谢谢、
Pradeep Kumar
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.
您好!
请帮我举个例子。
目前、我使用 boot_serial 应用程序将固件下载到控制器、但当下载固件时此串行通信中断时、我需要重新刷写引导加载程序、这对我来说是个问题。
如果固件下载期间的通信中断、我需要系统保持正常运行。
我想先将固件文件复制到闪存中,因为当前我的固件仅使用40%的控制器闪 存,所以60%是免费的,在完全下载后,如果下载的固件有效,我想运行下载的固件。
请提供一些示例或正确的方法。
谢谢、
Pradeep Kumar
除非在对应用程序代码进行编程时覆盖引导加载程序、否则不应重新对引导加载程序进行编程。 最可能发生的情况是应用程序已进行部分编程。 然后、引导加载程序会看到应用程序的启动、并将控制权转移到随后挂起的未完成的应用程序代码。 通过重新编程引导加载程序、您可以擦除部分编程的应用程序代码、并防止引导加载程序向其传输操作。
避免此问题的一种方法是启用 CHECK_CRC。 使用此选项、引导加载程序不会将执行转移到应用程序代码、除非代码通过 CRC 校验。 如果应用程序仅进行部分编程(或编程错误)、CPU 将继续执行引导加载程序、这将允许用户对应用程序进行重新编程。 为此、可在 BL_CONFIG.h 的第189行启用宏 CHECK_CRC 的定义 有关更多详细信息、请参阅:
C: \ti\TivaWare_C_Series-2.1.4.178\docs\SW-TM4C-BOOTLDR-UG-2.1.4.178.pdf 、在此处捕获以供您参考: