ZHCAC19A January 2023 – December 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
本节介绍基于 MSPM0 SDK CSC 示例 (MSPM0 SDK 2.08.00.03) 的 CSC 解决方案中的详细引导流程,如图 3-3 所示。整个执行流程与图 3-1 和图 3-2 中所示的流程图基本兼容。
完成 ROM 引导代码执行后,在程序首次进入 CSC 固件时,INITDONE (SYSCTL.SECCFG.SECSTATUS.INITDONE) 处于清除状态。CSC 首先在特权状态下工作。它从两个闪存存储体中搜索最高版本的映像,检查版本回滚,然后通过对称方法(硬件中的 AES-CMAC)或非对称方法(软件中的 SHA256+ECDSA)验证应用程序映像的权威和完整性。验证通过后,CSC 会更新回滚计数器、CMAC 标签、SECRET 密钥和 KEYSTORE。然后,它在 SECRET 闪存区域和可锁定闪存区域中配置防火墙,并确定存储体交换策略。CSC 发出 INITDONE 以触发 SYSRST,并且器件进入非特权状态。在置位状态下检查 INITDONE 后,器件会再次从 CSC 固件运行。检查前一个引导状态成功后,CSC 会跳转到应用程序映像以启动应用程序。
下面是一些与 CSC 示例执行流程相关的重要说明:
