ZHCUBV5 April   2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 使用 Jacinto7 启用安全功能的器件解锁 JTAG
  5. 2使用 TRACE32 针对 HSM 内核解锁 JTAG 的步骤
    1. 2.1 修改 SCI 客户端默认安全电路板配置
      1. 2.1.1 PROCESSOR-SDK-RTOS
      2. 2.1.2 PROCESSOR-SDK-LINUX
    2. 2.2 构建 SCI 客户端安全电路板配置
      1. 2.2.1 PROCESSOR-SDK-RTOS
      2. 2.2.2 PROCESSOR-SDK-LINUX
    3. 2.3 修改二级引导加载程序的 x509 证书
      1. 2.3.1 Windows 构建环境
      2. 2.3.2 Ubuntu 构建环境
    4. 2.4 构建二级引导加载程序
    5. 2.5 验证二级引导加载程序和 TIFS 正在执行
    6. 2.6 创建带调试扩展的可下载 x509 证书
    7. 2.7 执行 TRACE32 解锁脚本
    8. 2.8 使用 TRACE32 连接 HSM 内核

PROCESSOR-SDK-RTOS

在 PROCESSOR-SDK-RTOS 目录 <pdk_path/ti/drv/sciclient/soc/V4/ 中,有一个名为 “sciclient_defaultBoardcfg_security.c” 的文件。此文件包含两个结构元素,必须正确配置它们的值以允许运行时 JTAG 解锁发生。

表 2-1 用于 JTAG 解锁的安全电路板配置元素
元素 类型 说明
allow_jtag_unlock uint8_t 必须设置为 0x5A 以允许运行时 JTAG 解锁发生
allow_wildcard_unlock uint8_t 设置为 0 以在 JTAG 解锁可以发生之前强制 UID 匹配。因此,x509 证书必须包含待解锁器件的 UID。
设置为 0x5A 可在 JTAG 解锁之前绕过 UID 匹配。
GUID-20240212-SS0I-N81X-Z9SK-BVM7CMDLWKVP-low.png图 2-1 安全调试结构 — 示例配置

图 2-1 中,设置 ".allow_jtag_unlock = 0x5A" 以允许运行时 JTAG 解锁发生,并设置 ".allow_wildcard_unlock = 0x5A" 以在 JTAG 解锁之前绕过任何 UID 检查。对于生产用例,建议设置 ".allow_wildcard_unlock = 0x0‌" 以强制执行 UID 检查。强制执行 UID 检查可以防止解锁具有相同调试证书的不同器件的 JTAG。

有关 SCI 客户端安全电路板配置中所有安全调试解锁元素的详细说明,请参阅 TISCI 用户指南 — 安全调试解锁