ZHCU802A March   2020  – August 2021 TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1

 

  1.   商标
  2. 1引言
  3. 2LFU 所需资源
  4. 3存储器布局
  5. 4LFU 中的静态代码
  6. 5LED 示例应用和 LFU 流程
  7. 6运行 LED 示例
    1. 6.1 串行闪存编程器更新
    2. 6.2 静态代码编程 – 通过 Code Composer Studio (CCS) 加载
    3. 6.3 应用的实时固件更新
    4. 6.4 限制和疑难解答
  8. 7修订历史记录

LFU 所需资源

如果器件拥有各种类型的充足资源(CPU 带宽、内存和可用外设),则 LFU 是可行的:

  • CPU 带宽 – 新固件必须使用通信外设传输,并写入闪存存储器,同时应用仍在运行。这意味着 CPU 需要有足够的可用带宽来支持 LFU。
  • 存储器 – 此处使用的非易失性存储器是闪存存储器。闪存读取和写入操作无法在同一闪存组中同时执行。但读取和写入操作可以在不同闪存组中同时执行。因此,对器件而言理想方案是包含两组闪存。如果器件只有一组闪存,实现 LFU 将特别具有挑战性,但仍是可行的,前提条件是:
    • 新固件更新到闪存时,完整的应用代码(或控制用户所关注的输出的那部分代码)和闪存 API 需要从 RAM 存储器运行。这意味着应有大小足够的 RAM 存储器可供利用。
    • 一些器件支持 ROM 中的闪存 API;在这些器件中,应用代码可从 RAM 运行,闪存 API 可从 ROM 存储器运行,从而降低了 RAM 要求。
  • 可用外设 – 使用新映像的备用通信外设可从主机传输到器件。

在包含多组闪存的器件中更易于实现 LFU。在此文档和参考示例中,假设器件都包含两组闪存。考虑使用的器件为具有双组闪存的 TMS320F28004x。它们各自的地址空间都是 64K x 16,地址范围为 0x80000-0x8FFFF 和 0x90000-0x9FFFF。