ZHCAAD3A September 2020 – June 2026 F29H850DM , F29H850TU , F29H859TU-Q1 , F29P329SM-Q1 , F29P589DM-Q1 , F29P589DU-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
C2000Ware [2] 通过一个示例来说明应用程序的安全闪存启动设置。该示例包括针对每个内核的安全闪存启动应用程序工程。该示例还详细说明了如何对安全闪存启动入口地址 + 16KB 之外的闪存代码进行身份验证。节 7中提供了关于此定制闪存范围身份验证功能的更多详细信息。该示例假设要进行身份验证的闪存扇区已预先配置为 Zone 1 EXEONLY 并使用默认 CMACKEY 进行身份验证。有关在 CPU1 USER OTP 中对定制 CMACKEY 和其他 DCSM 设置进行编程的详细信息,请参阅 [1] 和 [2]。
C2000Ware 位置:<C2000Ware_安装目录>/driverlib/f2838x/examples/c28x/boot
工程名称:
包含的文件:
如何运行该示例:
生成黄金 CMAC 标签的应用程序代码要求:
用于安全闪存启动选项 0 的 CPU1/CPU2 黄金 CMAC 标签存储器分配
// CPU1/CPU2 的实现情况
#pragma RETAIN(cmac_sb_1)
#pragma LOCATION (cmac_sb_1, 0x080002)
const char cmac_sb_1[8] = {0};
用于安全闪存启动选项 0 的 CM 黄金 CMAC 标签存储器分配
#pragma RETAIN(cmac_sb_1)
#pragma LOCATION (cmac_sb_1, 0x00200004)
const uint8_t cmac_sb_1[16] = {0};
常量字符/无符号整数定义会为黄金 CMAC 标签分配存储器。如需更多信息,请参阅节 6中的示例:
使用十六进制实用程序时的应用程序设置:
图 6-1 为 CMAC 启用十六进制实用程序后的 CPU1 示例属性每个内核工程都使十六进制实用程序能够生成黄金 CMAC 标签(请参阅图 6-1)。标签包括: