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
某些应用程序需要将只读数据放入 SRAM。如果将代码放入 SRAM(用于零等待状态执行)或者将关键查询表放入 SRAM(用于零等待状态读取),则会发生这种情况。在这些情况下,尤其是从 SRAM 执行代码时,需要防止意外写入 SRAM 地址,以免在缓冲区溢出或堆栈溢出的情况下损坏可执行代码。同样,最好防止从不受写保护的 SRAM 地址执行。为了提高存储在 SRAM 中的数据的稳健性,SYSCTL 提供了一种写独占执行边界机制。
要使用此特性,首先需要将只读数据加载到所需的 SRAM 地址中,然后将 SRAM 地址范围配置为受写保护。要进行读取-执行(无写入)的 SRAM 内容应置于 SRAM 的上部。要进行读取/写入(无执行)的 SRAM 内容应置于 SRAM 的下部。然后,SRAMBOUNDARY 寄存器中可以写入所需的边界以将 SRAM 分为两个区域,下部区域为 RW,上部区域为 RX。