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

执行

闪存内核 A 基于 SCI ROM 加载程序源。为了使该代码能够擦除和编程闪存,必须合并闪存 API,这是通过链接闪存 API 来完成的。在接收到任何应用程序数据之前,闪存内核会擦除器件的闪存,以为编程做好准备。缓冲区用于保存接收到的连续应用程序代码块。当缓冲区已满或检测到新的非连续数据块时,将对缓冲区中的代码进行编程。此过程一直持续到收到整个应用程序为止。

用于传输应用程序数据的协议与 SCI ROM 加载器协议略有不同。这样做是为了提高编程速度,同时确保可靠通信。使用原有的 SCI ROM 加载器协议,大部分时间都不是用来传输数据,而是等待数据通过操作系统的不同层传播。SCI ROM 加载程序必须一次发送一个字节的数据(原因在于基于回声的流控制),因此每个字节都会导致操作系统传输延迟,这一事实使问题更加复杂。闪存内核使用相同的协议,但计算在每个数据块之后发送的校验和。这允许 PC 端应用程序通过操作系统的不同层一次发送多个字节,从而显著降低通信延迟。

此闪存内核可与 CSM 锁定器件一同使用。如果器件被锁定,串行闪存编程器仍然可以使用,方法是将闪存内核加载到不安全的 RAM 中,并在擦除和编程闪存之前修改内核以解锁器件。在这种情况下,应修改 CsmUnlock()(位于 <device_name>_SysCtrl.c 中)以将正确的 CSM 密码写入 CSM 寄存器。这一操作将解锁器件。如果用户在对器件进行编程时不想解锁 CSM,则闪存 API 将必须位于闪存(而非 ROM)中并被复制到安全 RAM 中,以便它们能够在不解锁器件的情况下编程/擦除安全闪存扇区。