ZHCU755D August   2022  – December 2022

 

  1.   说明
  2.   资源
  3.   特性
  4.   应用
  5.   5
  6. 1系统说明
    1. 1.1 关键系统规格
  7. 2系统概览
    1. 2.1 方框图
    2. 2.2 设计注意事项
      1. 2.2.1 构建块
      2. 2.2.2 闪存分区
      3. 2.2.3 LFU 切换概念
      4. 2.2.4 应用程序 LFU 流程
  8. 3硬件、软件、测试要求和测试结果
    1. 3.1 硬件要求
    2. 3.2 软件要求
      1. 3.2.1 软件包内容
      2. 3.2.2 软件结构
    3. 3.3 TIDM-DC-DC-BUCK 简介
    4. 3.4 测试设置
      1. 3.4.1 使用 CCS 将自定义引导加载程序和应用程序加载到闪存
    5. 3.5 测试结果
      1. 3.5.1 在 CPU 上运行控制循环时运行 LFU 演示
      2. 3.5.2 在 CLA 上运行控制循环时运行 LFU 演示
      3. 3.5.3 CPU 上的 LFU 流程
      4. 3.5.4 CLA 上的 LFU 流程
      5. 3.5.5 假设
      6. 3.5.6 为 LFU 准备固件
      7. 3.5.7 LFU 编译器支持
      8. 3.5.8 稳健性
      9. 3.5.9 LFU 用例
  9. 4FOTA 示例
    1. 4.1 摘要
    2. 4.2 引言
    3. 4.3 硬件要求
    4. 4.4 软件要求
    5. 4.5 运行示例
  10. 5设计和文档支持
    1. 5.1 软件文件
    2. 5.2 文档支持
    3. 5.3 支持资源
    4. 5.4 商标
  11. 6术语
  12. 7关于作者
  13. 8修订历史记录

为 LFU 准备固件

为了执行 LFU,同时在旧和新的应用程序映像之间进行更加实质性的更改,用户需要注意以下事项:

  1. LFU 编译器支持有助于维持公用全局变量的状态(在 RAM 中保留它们的地址,并避免在 LFU 切换期间对它们进行初始化)。

    __TI_auto_init_warm() 与旧应用程序的 ISR 一同执行,因此 __TI_auto_init_warm() 花费多长时间并不重要。这意味着对需要初始化的变量的数量没有限制

  2. LFU 切换时间 – 当控制循环 ISR 在 C28x CPU 上运行时,这很重要。在 F28003x 上,就需要在 LFU 上更新的中断向量和函数指针的数量而言,器件上的 LFU 硬件特性(如 PIE 向量交换和 RAM 块交换)可提供极大的灵活性。无论向量或函数指针的数量如何,只需一个单周期交换实现即可。但 F28004x 上不存在这些硬件特性,因此每个 PIE 向量和函数指针都需要单独更新,这会成比例地增加 LFU 切换时间。如果这超过了空闲时间,那么中断执行就会受到影响,这是不可接受的。
  3. LFU 切换时间 - 一般来说,当控制循环 ISR 在 CLA 上运行时,这不会成为问题。禁用全局中断仅影响 C28x CPU,不会影响 CLA。LFU 期间不会禁用和重新启用 CLA 任务(后台任务除外)。
  4. 另一个需要考虑的重要方面是自定义引导加载程序(SCI 闪存内核)和应用程序之间的 RAM 内存重叠:
    1. 一般来说,应避免 RAM 段在 SCI 闪存内核和应用程序之间发生重叠。如果无法实现,请使用为 SCI 闪存内核和应用程序生成的 .map 文件来验证未发生 RAM 内存重叠,因为这会破坏功能。
    2. 对于使用 CLA 的 LFU,一些 LSRAM 段在应用程序中指定为程序,一些指定为数据。确保这不会与 SCI 闪存内核发生冲突。换而言之,请勿将应用程序放在 SCI 闪存内核用于数据的段中,反之亦然。