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参考资料

数据包格式

数据包以标准格式在主机和器件之间发送。数据包允许发送可变数量的数据,同时确保数据包的正确传输与接收。报头、报尾和校验和字段有助于确保数据在传输过程中不被破坏。校验和是命令和数据字段中字节的总和。

请注意,UART 闪存内核和主机编程器都使用共享 f29h85x_kernel_commands_cpu1.h 来同步数据包宏,例如报头、报尾、NAK、ACK、命令和状态错误值。用户可以创建新的宏或对现有宏进行修改。

表 4-2 数据包格式
接头 数据长度 命令 数据 校验和 报尾
2 字节 2 字节 2 字节 长度字节 2 字节 2 字节
0x1BE4 数据长度(以字节表示) 命令 数据 命令和数据校验和 0xE41B

主机和器件都用 ACK 或 NAK 响应数据包。

表 4-3 ACK 或 NAK 值
ACK NAK
0x2D 0xA5