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

实施

闪存内核 B 比内核 A 更强大。它与 C2000Ware 中提供的主机 PC 应用程序 (C2000Ware_x_xx_xx_xx > utilities > flash_programmers > serial_flash_programmer) 进行通信,并就接收数据包和分配给它的命令的完成情况向主机提供反馈。

将内核加载到 RAM 并通过 SCI ROM 引导加载程序执行后,内核首先初始化器件的 PLL,初始化 SCIA,并在必要时控制闪存泵。然后,它等待来自主机的“a”或“A”,以便通过主机执行自动波特率锁定。在此之后,内核开始一个 while 循环,等待来自主机的命令,执行命令,并将状态包发送回主机。当发送 Run(运行)或 Reset(重置)命令时,此 while 循环中断。

命令在表 5-1 中描述的数据包中发送,每个数据包要么被确认,要么不被确认。除 Run(运行)和 Reset(重置)外,所有命令都在完成后发送带有操作状态的数据包。状态数据包会发送 16 位状态代码和 32 位地址。如果出现错误,数据中的地址会指定第一个错误的地址。发生 NO_COMMAND_ERROR 时,地址为 0x12345678。

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

注: 这些步骤不适用于 F28P55x。有关 F28P55x 器件的详细信息,请参阅 F28P55x SCI 闪存内核
  1. 内核从 SCI 模块逐字节接收十六进制引导格式的文件,并对块大小计算校验和。收到数据块后,它发回校验和。
  2. 接收到一个数据块并将其存储在缓冲器中后,内核会擦除之前未擦除过的扇区,并使用闪存 API 库将数据与 ECC 一同编程到闪存中。
    注: 若要获取有关数据块以及如何确定块大小的更多信息,请参阅器件特定 TRM 的引导加载程序数据流结构 部分。请注意,这里提到的块和块大小不要与前文提及的命令包相混淆。
  3. 之后,内核会验证数据和 ECC 是否正确编程到闪存中。
    注: 该内核仅擦除将应用程序和数据编程到闪存中所需的扇区。这与闪存内核 A 不同,它会在内核执行开始时擦除整个闪存。但是,闪存内核 B 还支持独立于 DFU 命令的擦除命令,这使用户能够擦除器件的特定扇区或整个闪存。

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