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.

[参考译文] TM4C129DNCPDT:使用 UART 和备用闪存区域的 TM4C129DNCPDT 双应用固件更新策略

Guru**** 2885260 points

Other Parts Discussed in Thread: TM4C129DNCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1643553/tm4c129dncpdt-tm4c129dncpdt-dual-application-firmware-update-strategy-using-uart-and-alternate-flash-regions

器件型号: TM4C129DNCPDT

您好、

我正在为 TM4C129DNCPDT 开发固件更新机制、并希望获得有关双映像固件管理的最佳方法的指导。

电流要求

我们 .bin 通过 UART 接收应用文件、希望支持具有回滚功能的安全固件升级。

  • 保持当前运行的固件的安全
  • 将新固件下载到备用闪存区域
  • 验证后引导新固件
  • 如果新固件出现故障、请继续使用以前的固件
  • 始终保持一个有效的正常运行的固件映像。
  •  
  • 第一个固件

    • .bin 为次要区域链接
    • 闪存到辅助时隙
    • 引导加载程序跳转到辅助应用程序

    第二个固件

    • 新品 .bin 通过 UART 送达
    • 闪存到主时隙
    • 引导加载程序跳转到主应用程序

    第三个固件

    • 再次刷新到辅助插槽
    • 引导加载程序跳转到辅助应用程序

    因此、固件执行会在两个区域之间交替(“锯齿形“切换)。

  • 当前使用生成应用二进制文件:

    • 修复了链接器脚本地址
    • 固定 .cfg 存储器地址
    • 链接地址为 0x00080000

      但有时我们要将相同的二进制文件刷写到:0x00010000、我们使用 CCS studio 生成.bin 文件。 在锯齿形闪烁中、我们正在修复一个地址中的所有应用程序、但有时我们希望闪存到主地址、引导加载程序应该从那里开始。