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

RAM 块交换

与向量表交换类似,可以交换物理 RAM 内存块,如图 4-3 所示。

如果物理存储器块 1 包含当前固件的函数指针,则在 LFU 切换之前,块 2 物理存储器中相同的相对位置可以填充新固件的函数指针。在 LFU 切换期间,简单交换操作由仅占用 1 个 CPU 时钟周期的用户应用代码启动。这允许用户应用代码在 LS0 中维护函数指针,但有两个不同的物理块映射到 LS0 地址范围。交换之后,之前映射到 Block1 地址空间的物理 RAM 块现在将映射到 Block0 地址空间,反之亦然,从而在新固件中实现无缝函数指针访问。

图 4-3 RAM 块交换