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
闪存区域可配置为读取-执行保护,因此对该区域的读取和指令提取访问时将返回错误。CPU、DMA 和调试器访问均以相同的方式处理。这是通过向 SYSCTL.SECCFG.FRXPROTMAINSTART 和 SYSCTL.SECCFG.FRXPROTMAINEND 寄存器写入值来配置的,这两个寄存器分别包含要保护的范围的起始地址和结束地址。这两个地址均设置为以 64B 粒度进行写入。要启用这种保护,必须通过向 SYSCTL.SECCFG.FWENABLE 寄存器写入值并提供正确的 KEY 值 (0x76) 来启用 FLRXPROT 位(值为 1)。
可以通过读取 SYSCTL.SECCFG.SECSTATUS 寄存器随时获取 RX 保护状态。FLRXPROT 字段可以提供此状态。
在可能需要此机制来防止再次执行 CSC 的情况下,此机制非常有用。CSC 的受保护地址范围本质上仅在 BOOTRST 时运行一次,随后不能再次执行。请注意,在为此保护功能配置闪存范围时,需要谨慎操作。如果地址空间保存了中断矢量或保存了需要能够在 BOOTRST 之后再次运行的 CSC 部分,该地址空间不应受到执行保护。