您好!
我有一个关于应用程序固件所在的闪存区域的安全闪存启动和身份验证的问题。
我们正在开发一个项目,其中包括:
1. 次级/客户引导加载程序位于闪存扇区0至1中,
2. 位于扇区2及以上的应用固件。
它将配置为首先对客户引导加载程序进行安全闪存启动。 客户引导加载程序将 负责 切换到在某个阶段运行应用程序固件。
以下是我关于两个固件身份验证的问题:
1.在启动客户引导加载程序之前、客户引导加载程序会通过 ROM 引导加载程序进行身份验证?
2.客户引导加载程序是否应负责对应用程序固件存储器区域进行身份验证?
例如、
-用户自定义的区域 CMAC 标签应 存储在 应用程序的存储器范围内,例如,在扇区2及以上的某个位置?
- 在切换到应用程序固件之前、客户引导加载程序是否应该使用"cpu1brom_calculateCMAC (CMAC_AUTH_START_ADDRESS、CMAC_AUTH_END_ADDRESS、CMAC_AUTH_tag_ADDRESS)执行身份验证? 它还必须包括
#pragma retain (cmac_all)
#pragma 位置(cmac_all、 )
const struct omac_tag cmac_all ={0}、 , };
3. CMAC 是否应该由 HEX 工具生成并内置到应用程序十六进制中?
谢谢!