ZHCAC19 January 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346
NONMAIN 存储器中的 BCR 配置数据和 BSL 配置数据结构各自包含一个 CRC32 值,该值对应于相应结构的 CRC32 摘要。在器件启动过程中,BCR 将计算数据结构的 CRC 摘要,并将其与存储的 CRC 值进行比较,确认匹配后才会信任并使用这些结构中包含的数据。
如果 BCR 配置数据(包含 SWD 策略、BSL 启用/禁用策略以及闪存保护和完整性检查策略)在启动期间未能通过 CRC 检查,则会产生灾难性的启动错误并施加以下限制:
此 CRC 校验的好处是,在启动过程中可以明确地检测配置数据中是否存在任何位翻转,例如静态写保护配置(安全启动的支柱)。故障处理程序会明确阻止 BSL 和用户应用程序运行,唯一受支持的选项(SWD 恢复出厂设置和 TI FA)受 16 位模式匹配字段保护。
如果 BSL 配置数据(包含 BSL 密码和 BSL 策略)在 BSL 调用期间未通过 CRC 检查,则会导致灾难性的启动错误并施加以下限制:
此 CRC 校验的好处是,在调用过程中可以明确地检测 BSL 配置数据中是否存在任何位翻转。故障处理程序会阻止 BSL 使用可能导致安全性丧失的无效数据启动。
除了用户指定的配置数据外,如果 TI 出厂修整在启动期间未能通过 CRC 检查,也会导致灾难性的启动错误并具有以下限制: