ZHCABI4 January   2022 TDA4VM , TDA4VM-Q1

 

  1.   摘要
  2.   商标
  3. 1引言
  4. 2TIDK 器件验证
    1. 2.1 对次级引导加载程序(SBL)签名和加密
    2. 2.2 为系统映像签名和加密
  5. 3密钥编程
    1. 3.1 安装 Keywriter
    2. 3.2 密钥生成
    3. 3.3 编译 Keywriter 应用
    4. 3.4 在 HS-FS 器件中对密钥进行编程
  6. 4密钥编程验证
  7. 5使用 Linux SDK 对 HS 器件进行编译和引导
  8. 6总结

为系统映像签名和加密

CAN 响应和引导加载程序演示应用中提供了 GP 器件的引导加载程序演示。启动系统所需的二进制显示在表 2-1 中。

表 2-1 启动系统所需的二进制
需要签名和加密的映像
系统结构 引导多核 RTOS 引导 A72 上的 Linux 和其他内核上的 RTOS 引导 A72 上的 QNX 和其他内核上的 RTOS
二进制 tiboot3.bin
tifs.bin
app
lateapp1
lateapp2
lateapp3
tiboot3.bin
tifs.bin
app
lateapp1
lateapp2
atf_optee.appimage
tidtb_linux.appimage
tikernelimage_linux.appimage
tiboot3.bin
tifs.bin
app
lateapp1
lateapp2
atf_optee.appimage
ifs_qnx.appimage

区别在于,如果在 A72 内核中运行 Linux,并且不需要为文件系统签名,则应对 ATF(Arm Trusted Firmware)映像、DTB(Device Tree Binary)映像和 Linux 内核映像签名和加密。此外,如果在 A72 内核中实现 QNX,则只需对 ATF 和 IFS(Image FileSystem)映像签名。

对于表 2-1 中的二进制,可由默认 SDK 中的 x509Certificate 脚本使用以下命令签名和加密。

# ${PSDKRA_PATH}/pdk/packages/ti/build/makerules/x509CertificateGen.sh -b binary_need_sign&encrypt -o signed_encrypted_binary -c R5 -l 0x0 -k ${PSDKRA_PATH}/pdk/packages/ti/build/makerules/k3_dev_mpk.pem -y ENCRYPT -e ${PSDKRA_PATH}/pdk/packages/ti/build/makerules/k3_dev_mek.txt  -d DEBUG -j DBG_FULL_ENABLE -m SPLIT_MODE

除了为 SBL 和系统映像签名和加密外, 还需要使用 TI 虚拟密钥为 TIFS 签名和加密。使用 TI 虚拟密钥签名的 TIFS 已在 SDK 中提供,可直接在 HS-SE-TIDK 器件中 使用。

$ cp ${PSDKRA_PATH}/pdk/packages/ti/drv/sciclient/soc/V1/tifs-hs-enc.bin   /media/user/boot/tifs.bin