ZHCUAN6E October 2022 – May 2025 MSPM0L1105 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , 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
在双存储体/四存储体器件中,根据可执行的存储体(或“对”),该存储体(对)获得读取-执行权限并失去写入/擦除权限。另一个存储体(或对)可读以及可写但不可执行。这种机制强制执行的策略是任何固件更新只能保存在当前会话中的可写存储体中,但绝不能执行。
在随后的一个 BOOTRST 中,CSC 将运行并需要对更新进行身份验证,决定是否应使更新后的映像可执行。如果是,则可以将保存更新映像的存储体配置为可执行(这是通过将 SYSCTL.SECCFG.FLBANKSWP.USEUPPER 配置为 1 并提供正确 KEY 值 0x58 来实现的)。当 CSC 发出 INITDONE 时,此存储体交换将生效,因此会交换上部和下部存储体的执行/写入权限,并将上部存储体(或对)重新映射到闪存地址空间的下半部分,而将上部存储体(或对)重新映射到闪存地址空间的上半部分。
创建可交换配置的过程分为两个步骤。
可以随时通过读取 SYSCTL.SECCFG.SECSTATUS 寄存器来获取存储体交换策略和当前可执行存储体的状态。字段 FLBANKSWPPOLICY 和 FLBANKSWP 会提供此状态。