主题中讨论的其他器件:C2000WARE、 UNIFLASH、 SysConfig
工具与软件:
在我们的工程中、我们有客户引导加载程序和应用程序、现在我们要使用 客户引导加载程序中的 API:CPU1BROM_calculateCMAC ()来验证应用程序的有效性。
我已经阅读了文档<Application Report Secure Boot on C2000 Device.pdf >。
1、的 第一步 是 身份验证标签的生成。
在我的理解, CMACKEY 由"boot_ex1_user_cmac_key.txt"输入、
应用的长度 (例如:FLASH_BANK0_2:O=0x00084000 l=0x000B0000、Fill = 0xFFFF)由"boot_ex1_flash_hex_lnk_cpu1.cmd"输入。
定义的 Application" 时、C2000 hex 实用程序将运行 CMAC 算法并使用输入消息 生成 Golden CMAC 标签。
The 黄金 CMAC 标签将放置在 "cmac_all"区域? "cmac_all"区域在 客户引导加载程序或应用程序中定义?
2、此 第二步 是 对闪存中的应用程序引导代码进行身份验证。
运行客户 引导加载程序时、调用 API 函数:CPU1BROM_calculateCMAC ()以比较 CMAC 算法生成的标签和黄金 CMAC 标签。
但是参考密钥定义在哪里?