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

引言

随着应用程序复杂性的增加,修复错误、添加特性和修改嵌入式固件的需求在最终应用程序中变得越来越重要。通过使用引导加载程序,可以轻松且经济地实现此类功能。

引导加载程序(也被称为 ROM 加载程序或简称为加载程序)是一小段代码,位于目标器件的引导 ROM 存储器中,允许从外部主机加载和执行代码。在大多数情况下,使用通用异步接收器/发送器 (UART) 或控制器局域网 (CAN) 等通信外设将代码加载到器件中,而不是使用 JTAG,后者需要用到昂贵的专用工具。

通过引导引脚,可以使用确定调用哪个 ROM 加载程序的各种外设来配置不同的引导模式。本报告中使用的外设是串行通信接口(SCI,一般简称为 UART)。与引导引脚相关的引导模式是指外设的第一个实例 - 对于 SCI,引导模式将与 SCIA 相关联。

C2000 器件通过在 ROM 中添加一些基本的加载实用程序来部分解决固件更新问题。根据器件和存在的通信外设,可以使用 UART、串行外设接口 (SPI)、内部集成电路 (I2C)、以太网、CAN 和使用通用输入/输出 (GPIO) 的并行模式将代码加载到片上 RAM 中。这些加载程序的一部分存在于每个 C2000 器件中,它们非常易于使用,但只能将代码加载到 RAM 中。如何弥合这一差距并将其应用程序代码编程到非易失性存储器中?

本应用报告旨在使用闪存内核解决这一问题。闪存内核已经存在一段时间了,但本文档讨论了内核的细节以及 C2000Ware 中的主机应用程序工具。虽然此实施针对使用 SCI 外设的 C2000 器件,但相同的原则适用于 C2000 产品线中的所有器件以及 ROM 加载程序支持的所有通信选项。提供了一个命令行工具来解析应用程序映像并将其从主机 PC(仅限 Windows)传输到嵌入式器件。

总之,对闪存等非易失性存储器的应用程序编程需要两个步骤:

  1. 使用 SCI ROM 引导加载程序将闪存内核下载到 RAM。
  2. 在 RAM 中运行闪存内核以将应用程序下载到闪存。
 闪存内核流程图 1-1 闪存内核流程