工具/软件:
据我所知、AM243x 有两个启动位置。 一个是主 SBL 0x0、另一个是备用 SBL 0x400000。
如果主 SBL 处的 SBL 映像像 booflash 映像中间的一些地址那样损坏、 AM243x RBL 是否有使用 CRC 或其他方式检查主映像完整性的机制? 然后回退到备份 SBL 位置并启动它?
我是说、 在从主 FS 位置引导 SBL 映像之前、HS-SBL 模式下是否会出现任何完整映像 CRC 校验或其他某种类型的检查?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
据我所知、AM243x 有两个启动位置。 一个是主 SBL 0x0、另一个是备用 SBL 0x400000。
如果主 SBL 处的 SBL 映像像 booflash 映像中间的一些地址那样损坏、 AM243x RBL 是否有使用 CRC 或其他方式检查主映像完整性的机制? 然后回退到备份 SBL 位置并启动它?
我是说、 在从主 FS 位置引导 SBL 映像之前、HS-SBL 模式下是否会出现任何完整映像 CRC 校验或其他某种类型的检查?
在 HS-CRC 或其他验证方法下、AM243x 似乎不会使用 FS 或其他验证方法验证映像的完整性;它仅检查映像标头。
我执行了一个实验、在地址处删除引导闪存(主 SBL)中的64KB 扇区 0x20000
、然后触发重新引导。 此后、AM243x 没有回退到备用 SBL。 AM243x 处于挂起状态。
您在讨论的是以下引导流程
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/BOOTFLOW_GUIDE.html
不是、我指的是 TRM 的第4.2.3节: https://www.ti.com/lit/ug/spruim2h/spruim2h.pdf?ts = 1748423994825和 ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FAM2434
我执行了一项实验、删除了地址处的引导闪存(主 SBL)中的64KB 扇区0x20000
、然后触发了重新引导。 此后、AM243x 没有回退到备用 SBL。 AM243x 处于挂起状态。
您能告诉我您正在哪个 MCU+SDK 版本上对此进行测试吗?
此致、
会面。
您好:
我们当前的 SDK 版本是9.0.0.35、MCU 是 AM2432
然后预计会出现该问题。 截至此版本、SDK 使用随机密钥为 HSFS 的图像签名、从而导致 ROM 跳过完整性检查。
此问题通过以下提交来修复启动 SDK v9.1的问题:
https://github.com/TexasInstruments/mcupsdk-core/commit/89c780b1d1
此致、
Prashant
我们要了解的关键点是:
对于 FS 图像大小写、
1)当 ROM 检查完整性时,它到底是怎么做的? 我们想知道在什么情况下、ROM 将回退到0x400000地址。
2)另一个问题是我们如何防止加载 SBL、它通过了 ROM 的完整性检查、但无法启动。 在完整性检查期间、是否计算了映像的 SHA?
3)我也不清楚 ROM 是如何跳过完整性检查的,而不是像你上面指出的错误那样回退到备份地址的。 如果是这种情况、是否意味着我们可以对任何随机密钥签名、这将导致它绕过检查以便能够从 ROM 引导?
对于 HS-SE 图像外壳、
1) ROM 是否也可以跳过完整性检查?
2)什么是标准在这里使 ROM 回退到0x400000?
3)我们是否可以在接受 SBL 映像之前利用 SYSFW 的 API 来检查映像的完整性? 如果是、您能帮助指出该示例或说明吗?
谢谢、
Hong
您好:
对于 HSFS 情况:
1)完整性检查涉及将不同二进制文件计算出的 SHA512哈希值与 X.509证书中所含二进制文件的预期 SHA512哈希值进行比较。 仅当使用 ROM 取消生成的密钥对证书签名时、才会执行此完整性检查、否则只会在二进制文件各自的加载地址加载二进制文件。
2)如果完整性检查通过、则 ROM 没有跳转到冗余或备份引导的任何概念。 ROM 将加载 SBL 并将 R5F 内核复位为其入口点。 如果 SBL 无法引导、则这仅是 SBL 故障。 这里没有 ROM 可以执行的操作。
3) 仅当 ROM 取消生成的密钥用于签署证书时才执行此完整性检查,否则只会在二进制文件各自的加载地址加载。
对于 HSSE 案例:
1)没有 安全启动始终在 HSSE 器件上执行。
2)如果身份验证失败、则 ROM 会尝试从冗余引导或备份引导进行引导。
3)没有
此致、
Prashant