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.

[参考译文] TM4C123GH6PM:从闪存下载 Firware

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/874354/tm4c123gh6pm-firware-download-from-flash

器件型号:TM4C123GH6PM

您好!

请帮我举个例子。

目前、我使用 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 、在此处捕获以供您参考:

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

    谢谢科斯比。

    我将尝试该解决方案。

    再次感谢。