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
本節(jié)介紹基于 MSPM0 SDK CSC 示例 (MSPM0 SDK 2.08.00.03) 的 CSC 解決方案中的詳細(xì)引導(dǎo)流程,如圖 3-3 所示。整個(gè)執(zhí)行流程與圖 3-1 和圖 3-2 中所示的流程圖基本兼容。
完成 ROM 引導(dǎo)代碼執(zhí)行后,在程序首次進(jìn)入 CSC 固件時(shí),INITDONE (SYSCTL.SECCFG.SECSTATUS.INITDONE) 處于清除狀態(tài)。CSC 首先在特權(quán)狀態(tài)下工作。它從兩個(gè)閃存存儲(chǔ)體中搜索最高版本的映像,檢查版本回滾,然后通過對(duì)稱方法(硬件中的 AES-CMAC)或非對(duì)稱方法(軟件中的 SHA256+ECDSA)驗(yàn)證應(yīng)用程序映像的權(quán)威和完整性。驗(yàn)證通過后,CSC 會(huì)更新回滾計(jì)數(shù)器、CMAC 標(biāo)簽、SECRET 密鑰和 KEYSTORE。然后,它在 SECRET 閃存區(qū)域和可鎖定閃存區(qū)域中配置防火墻,并確定存儲(chǔ)體交換策略。CSC 發(fā)出 INITDONE 以觸發(fā) SYSRST,并且器件進(jìn)入非特權(quán)狀態(tài)。在置位狀態(tài)下檢查 INITDONE 后,器件會(huì)再次從 CSC 固件運(yùn)行。檢查前一個(gè)引導(dǎo)狀態(tài)成功后,CSC 會(huì)跳轉(zhuǎn)到應(yīng)用程序映像以啟動(dòng)應(yīng)用程序。
下面是一些與 CSC 示例執(zhí)行流程相關(guān)的重要說明:
