SLUUDG7A December 2025 – November 2026 MSPM33C321A , MSPM33C321A-Q1
User can also configure write protection policy in the NONMAIN FLASH. With NONMAIN FLASH configuration, GSC will be configured to apply WEP during ROM boot instead of application, which can implement a stable write erase protection on MSPM33. For the configuration in NONMAIN FLASH, please refer to MSPM33 NONMAIN Flash Memory Configuration Guide.
For Static Write Protection on bank 0, BANK0_WRITE_ERASE_PROTECTION_ A field and BANK0_WRITE_ERASE_PROTECTION_ B field are to protect the whole 512KB memory. A value of 0 indicates the write protection applies to the corresponding sectors. For BANK0_WRITE_ERASE_PROTECTION_ A, the 1 bit represents 1 sector in flash memory (2KB). For BANK0_WRITE_ERASE_PROTECTION_ B, the 1 bit represents 8 sector in flash memory (16KB).
For Static Write Protection on bank 1, BANK1_WRITE_ERASE_PROTECTION_ A field and BANK1_WRITE_ERASE_PROTECTION_ B field are to protect the whole 512KB memory. A value of 0 indicates the write protection applies to the corresponding sectors. For BANK1_WRITE_ERASE_PROTECTION_ A, the 1 bit represents 1 sector in flash memory (2KB). For BANK1_WRITE_ERASE_PROTECTION_ B, the 1 bit represents 8 sector in flash memory (16KB).
For Static Write Protection on DATA FLASH, DBANK_WRITE_ERASE_PROTECTION field is to protect the whole data bank memory. A value of 0 indicates the write protection applies to the corresponding sectors. For DBANK_WRITE_ERASE_PROTECTION, the 1 bit represents 1 sector in flash memory (2KB).
When configures BANK0_NM_USER_CONFIG to protect NONMAIN, the entire NONMAIN region is write-locked. This makes the region functionally immutable when the boot configuration routine transfers execution to either the bootstrap loader or the user application code in the MAIN flash. Any attempt to program or erase the NONMAIN by the application code or the bootstrap loader results in a hardware flash operation error, and the sector remains unmodified.
| FLASH BANK | Physical Address | Registers | Granular Control |
|---|---|---|---|
| BANK0 |
0x00000000-0x0000FFFF (0-64KB) |
BANK0_WRITE_ERASE_PROTECTION_ A | Sector(2KB) |
|
0x00010000- 0x0007FFFF (64KB-512KB) |
BANK0_WRITE_ERASE_PROTECTION_ B | Block(8 sectors, 16KB) | |
| BANK1 |
0x00080000-0x0008FFFF (0-64KB) |
BANK1_WRITE_ERASE_PROTECTION_ A | Sector(2KB) |
|
0x00090000- 0x000FFFFF (64KB-512KB) |
BANK1_WRITE_ERASE_PROTECTION_ B | Block(8 sectors, 16KB) | |
| DATA FLASH |
0x80000000-0x80007FFF (0-32KB) |
DBANK_WRITE_ERASE_PROTECTION | Sector(2KB) |
| NONMAIN FLASH | 0x80101800-0x80101FFF | BANK0_NM_USER_CONFIG | BCR,& BSL config |
If the device is 512KB dual bank device, then every bank is 256KB rather than 512KB.