ZHCU803B August   2020  – September 2022 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1

 

  1.   C2000 MCU 在无器件复位时的实时固件更新
  2.   商标
  3. 1引言
  4. 2关键创新
  5. 3LFU 的构建块
  6. 4建议解决方案的详细信息
    1. 4.1 闪存组组织
    2. 4.2 影响性能的 LFU 概念和因素
    3. 4.3 LFU 的硬件支持
      1. 4.3.1 独立闪存组
      2. 4.3.2 中断向量表交换
      3. 4.3.3 RAM 块交换
      4. 4.3.4 硬件寄存器标志
    4. 4.4 LFU 编译器支持
    5. 4.5 应用程序 LFU 流程
  7. 5结果和结论
  8. 6修订历史记录

关键创新

建议的解决方案有两项关键创新:

  • 编译器 LFU 初始化例程,用于初始化新固件中的变量,并与旧固件的控制 ISR 协同执行。在此之前,新固件的下载和安装(编程)会与旧固件的控制 ISR 同步进行。这些步骤可能很耗时,但协同执行意味着在执行 LFU 的必要步骤时不会损害应用程序功能。
  • 在理想时间(空闲时间开始)切换到新固件,并在很短的时间内(< 100 个 CPU 时钟周期)禁用中断,可以通过 MCU 中的硬件 LFU 支持(交换中断向量和函数指针)来实现。此步骤非常短,将其与上一步分离可以非常快速地激活新固件。