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

SECCFG 代码预置(HS-KP/SE 至 HS-SE)

要对 HS-KP 或 HS-SE 器件执行 SECCFG 编程,请编译工程的 CP_APP 构建配置。可以通过右键点击工程,将鼠标悬停在 Build Configurations 上并选择 CP_APP 来完成此操作。

要将新映像编程到 HS-KP 或 HS-SE 器件上的 SECCFG,会发生以下事件:

  1. UART 引导模式下的 BootROM 接收 UART 闪存内核并引导内核。
  2. CPU1 中的内核接收一个命令数据包,从而接收 HSMRt 映像。
  3. 内核准备作为合并映像的一部分从主机接收 X.509 证书。
  4. 内核确认传入证书具有适当的大小和格式,并得出传入映像的大小。证书暂时存储在 RAM 中。
  5. 内核将 HSMRt 映像存储在共享 LDAx RAM 中,并请求 HSM 进行身份验证。
  6. 身份验证成功后,HSM 开始在共享 LDAx RAM 中执行 HSMRt。
  7. 内核接收一个命令数据包,从而接收 SEC CFG 映像。
  8. 内核接收 X.509 映像证书并将其与 HSMRt 分享。
  9. 成功对映像进行身份验证后,HSMRt 通过确认消息进行响应,之后闪存内核开始通过 UART 将 SEC CFG 数据导入 LDAx 存储器
  10. 在接收所有 SecCfg 数据并对其进行编程后,请求 HSMRt 验证在休眠存储体中编程的 SecCfg,确保计数器值有效。当 HSMRt 根据证书对编程的映像进行身份验证时,还会对证书进行进一步编程,以便确保在后续的下电上电期间能够成功引导。
    1. 注意,对于 HS-SE 器件,根据 SSU 寄存器的交换值作出证书的编程决策。

请参阅节 5.6,了解在主机应用程序中执行这些操作的步骤。

警告: 对于 HS-KP 或 HS-SE 器件,DPL 中断 LINK 和 STACK 指针需要分别设置为 LINK2 和 STACK2。要调整该设置,请在 CCS 中打开 syscfg 文件,选择“TI Driver Porting Layer (DPL)”部分下面的 Clock。需要将节 2.1中所述的 Keywriter 二进制映像用作 HSMRt。