ZHCAEV6 December   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1编程基础知识
  5. 2引言
    1. 2.1 硬件安全模块
    2. 2.2 ROM 引导加载程序
    3. 2.3 带有 X.509 证书的合并映像
  6. 3闪存内核实现
    1. 3.1 CPU1 固件升级 (HS-FS)
    2. 3.2 密钥预置(HS-FS 至 HS-KP)
    3. 3.3 CPU1 安全固件升级(HS-KP/SE 至 HS-SE)
    4. 3.4 HSM 固件升级(HS-KP/SE 至 HS-SE)
    5. 3.5 SECCFG 代码预置(HS-KP/SE 至 HS-SE)
  7. 4主机应用程序:UART 闪存编程器
    1. 4.1 概述
    2. 4.2 使用 Visual Studio 构建 UART 闪存编程器
    3. 4.3 使用 CMake 构建 UART 闪存编程器
    4. 4.4 数据包格式
    5. 4.5 内核命令
  8. 5示例用法
    1. 5.1 将闪存内核加载到器件中
      1. 5.1.1 硬件设置
      2. 5.1.2 运行 UART 闪存编程器
    2. 5.2 CPU1 器件固件升级(仅限 HS-FS)
    3. 5.3 将 HS-FS 转换为 HS-SE
    4. 5.4 加载基于 RAM 的 HSMRt 映像
    5. 5.5 密钥预置(HS-FS 至 HS-KP)
    6. 5.6 代码预置(HS-KP/SE 至 HS-SE)
  9. 6故障排除
    1. 6.1 一般信息
    2. 6.2 UART 引导
    3. 6.3 应用程序加载
  10. 7总结
  11. 8参考资料

编程基础知识

在对器件进行编程之前,有必要了解 C2000 器件的非易失性存储器的工作原理。闪存是一种非易失性存储器,允许用户将其中的内容轻松擦除并重新编程。擦除操作将扇区中的所有位设置为“1”,而编程操作则有选择地将位设置为“0”。

所有 C2000 器件上的闪存操作均使用 CPU 执行。算法被加载到 RAM 中并由 CPU 控制以执行任何闪存操作。例如,若要使用 Code Composer Studio™ 擦除或编程 C2000 器件的闪存,需要将闪存算法加载到 RAM 中并让处理器执行它们。没有使用特殊的 JTAG 命令。所有闪存操作均通过闪存应用程序编程接口 (API)来执行。所有闪存操作都是使用 CPU 完成的,因此器件编程有很多可能性。无论内核和应用程序如何引入器件中,闪存都是使用 CPU 进行编程的。