SLAU846B June 2023 – November 2024 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1519 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3519
There are three levels of write-protection that are provided:
Write-protection that is enforced by TI boot-code
Write-protection that is enforced by CSC to further protect data that it is allowed to update but that should not be modified by the application
Write-protection in the context of bank swap (covered in the Bank Swapping section)
Write-protection enforced by TI boot-code can protect sectors of both the MAIN bank and the boot configuration data held in NONMAIN. The mechanisms are described in the Boot Configuration chapter. In particular, this capability is useful in cases where the CSC needs to be treated as an extension of the root-of-trust and made immutable.
The CSC can further extend the write protection to additional MAIN bank sectors. On every boot, the CSC can perform write/erase operations on sectors holding secure data/metadata and then lock these sectors from any modifications when the application executes.
Configuring write protection of the MAIN bank is done by setting sector-specific bits to 1 in the SYSCTL.SECCFG.FWEPROTMAIN register. The sectors that are already write-protected by boot-code continue to be write-protected. Note that only the first 32KB of flash memory can be configured with additional write protections by the CSC.