ZHCAAI4H October   2021  – April 2024 SM320F28335-EP , SM320F28335-HT , TMS320F280023-Q1 , TMS320F280025-Q1 , TMS320F280025C-Q1 , 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 , TMS320F2802-Q1 , TMS320F28020 , TMS320F280200 , TMS320F28021 , TMS320F28022 , TMS320F28022-Q1 , TMS320F280220 , TMS320F28023 , TMS320F28023-Q1 , TMS320F280230 , TMS320F28026 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027 , TMS320F28027-Q1 , TMS320F280270 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28030 , TMS320F28030-Q1 , TMS320F28031 , TMS320F28031-Q1 , TMS320F28032 , TMS320F28032-Q1 , TMS320F28033 , TMS320F28033-Q1 , TMS320F28034 , TMS320F28034-Q1 , TMS320F28035 , TMS320F28035-EP , TMS320F28035-Q1 , TMS320F28050 , TMS320F28051 , TMS320F28052 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28053 , TMS320F28054 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F28055 , TMS320F2806-Q1 , TMS320F28062 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28066-Q1 , TMS320F28067 , TMS320F28067-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28P550SJ , TMS320F28P559SJ-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2编程基础知识
  6. 3ROM 引导加载程序
  7. 4闪存内核 A
    1. 4.1 执行
      1. 4.1.1 应用加载
  8. 5闪存内核 B
    1. 5.1 实施
      1. 5.1.1 数据包格式
      2. 5.1.2 CPU1 内核命令
      3. 5.1.3 CPU2 内核命令
      4. 5.1.4 数据包数据
      5. 5.1.5 状态代码
    2. 5.2 F2838x SCI 闪存内核
      1. 5.2.1 CPU1-CPU2 内核
        1. 5.2.1.1 内核命令
      2. 5.2.2 CPU1-CM 内核
        1. 5.2.2.1 内核命令
      3. 5.2.3 使用 SCI 引导加载程序下载工程
        1. 5.2.3.1 CPU1-CPU2
        2. 5.2.3.2 CPU1-CM
      4. 5.2.4 使用 Code Composer Studio (CCS) 软件编译工程
        1. 5.2.4.1 CPU1-CPU2
        2. 5.2.4.2 CPU1-CM
    3. 5.3 F28P65x SCI 闪存内核
      1. 5.3.1 CPU1 内核
        1. 5.3.1.1 主机-内核通信:ControlCard
        2. 5.3.1.2 主机-内核通信:LaunchPad 开发套件
        3. 5.3.1.3 内核命令
      2. 5.3.2 使用 SCI 引导加载程序下载工程
        1. 5.3.2.1 CPU1
      3. 5.3.3 使用 CCS 编译工程
        1. 5.3.3.1 CPU1
    4. 5.4 F28P55x SCI 闪存内核
      1. 5.4.1 实施
        1. 5.4.1.1 指定应用的闪存组和扇区
      2. 5.4.2 内核
      3. 5.4.3 使用 SCI 引导加载程序下载工程
      4. 5.4.4 使用 CCS 编译工程
  9. 6实现示例
    1. 6.1 器件设置
      1. 6.1.1 闪存内核
      2. 6.1.2 硬件
    2. 6.2 主机应用程序:serial_flash_programmer
      1. 6.2.1 概述
      2. 6.2.2 使用 Visual Studio 编译和运行 serial_flash_programmer
      3. 6.2.3 为 F2806x 运行 serial_flash_programmer(闪存内核 A)
      4. 6.2.4 为 F2837xD 运行 serial_flash_programmer(闪存内核 B)
    3. 6.3 主机应用程序:具有 SCI 闪存内核的 F28004x 上的固件更新
      1. 6.3.1 概述
      2. 6.3.2 引导引脚配置
      3. 6.3.3 使用三种引导模式
      4. 6.3.4 执行实时固件更新
  10. 7疑难解答
    1. 7.1 常见问题
    2. 7.2 SCI 引导
    3. 7.3 F2837x
      1. 7.3.1 F2837xS
      2. 7.3.2 F2837xD
      3. 7.3.3 F2837xD LaunchPad™
    4. 7.4 F28P65x
  11. 8参考资料
  12. 9修订历史记录

实施

SCI 闪存内核 B 的 F28P55x 实现与上一个实现部分中描述的实现类似,但 DFU 命令期间闪存擦除的方式不同。

对于 F28P55x 上的器件固件升级 (DFU) 命令,将执行以下步骤:

  1. 主机编程器会检查是否包含一个指定要擦除的闪存组和扇区的文本文件(请参阅指定应用的闪存组和扇区
  2. 如果包含,将擦除指定的闪存组和扇区。否则,会擦除所有闪存组和扇区,以便为编程做好准备
  3. 内核从 SCI 模块逐字节接收十六进制引导格式的文件,并对块大小计算校验和。收到数据块后,内核会发回校验和。
  4. 接收到一个数据块并将数据存储在缓冲器中后,内核会使用闪存 API 库将数据与 ECC 一同编程到闪存中。请记住,该内核使用闪存 API 的 512 位编程功能,因此应用必须与 512 位边界对齐。请参阅故障排除章节了解更多详情。
    注: 若要获取有关数据块以及如何确定块大小的更多信息,请参阅器件特定 TRM 的引导加载程序数据流结构 部分。请注意,这里提到的块和块大小不要与前文提及的命令包相混淆。
  5. 之后,内核会验证数据和 ECC 是否正确编程到闪存中。

类似地,验证命令会接收一个十六进制引导格式的文件,内核只验证闪存的内容,而不是擦除闪存并对闪存进行编程。