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修订历史记录

闪存组组织

图 4-1 展示了如何对双组闪存分区。每组中的两个扇区分配给 LFU 引导加载程序,该引导加载程序由闪存组选择逻辑、SCI 内核和闪存 API 组成。这些在固件升级期间不会发生变化。组 1 不包含组选择逻辑。组中的其余闪存扇区被分配给应用程序。组选择逻辑使引导加载程序能够确定哪个(如果有)闪存组已使用应用固件编程,以及哪个组包含较新的应用程序固件版本。因此,组选择逻辑是软件系统的入口点。SCI 内核函数实现从主机传输映像,并通过闪存编程 API(在闪存或 ROM 中)对闪存进行编程。保留了扇区 2 中的几个位置,用于存储以下信息:

  • START – 指示闪存擦除已完成,程序/验证即将开始。
  • KEY – 如果此位置包含特定模式,则认为组中的固件有效
  • 固件版本号 (REV) – 由组选择逻辑用于确定组 0 和 1 之间的较新固件版本
图 4-1 双组闪存分区