Flash program memory and data EEPROM RM0016
50/449 Doc ID 14587 Rev 8
Table 6. Memory access versus programming method
(1)
Mode ROP Memory Area
Access from
core
User, IAP, and bootloader (if
available)
Readout
protection
enabled
User boot code area (UBC) R/E
Main program R/W/E
(2)
Data EEPROM area (DATA) R/W
(3)
Option bytes R
Readout
protection
disabled
User boot code area (UBC) R/E
(4)
Main program R/W/E
(2)
Data EEPROM area (DATA) R/W
(3)
Option bytes R/W
(5)
SWIM active
(ICP mode)
Readout
protection
enabled
User boot code area (UBC) P
Main program P
Data EEPROM area (DATA) P
Option bytes P/W
ROP
(6)
Readout
protection
disabled
User boot code area (UBC) R/E
(4)
Main program R/W/E
(2)
Data EEPROM area (DATA) R/W
(3)
Option bytes R/W
(5)
1. R/W/E = Read, write, and execute
R/E = Read and execute (write operation forbidden)
R = Read (write and execute operations forbidden)
P = The area cannot be accessed (read, execute and write operations forbidden)
P/W
ROP
= Protected, write forbidden except for ROP option byte.
2. The Flash program memory is write protected (locked) until the correct MASS key is written in the FLASH_PUKR. It is
possible to lock the memory again by resetting the PUL bit in the FLASH_IAPSR register. If incorrect keys are provided, the
device must be reset and new keys programmed.
3. The data memory is write protected (locked) until the correct MASS key is written in the FLASH_DUKR. It is possible to lock
the memory again by resetting the DUL bit in the IAPSR register. If incorrect keys are provided, another key program
sequence can be performed without resetting the device.
4. To program the UBC area, the application must first clear the UBC option byte.
5. The option bytes are write protected (locked) until the correct MASS key is written in the FLASH_DUKR (with OPT set to 1).
It is possible to lock the memory again by resetting the DUL bit in the FLASH_IAPSR register. If incorrect keys are
provided, another key program sequence can be performed without resetting the device.
6. When ROP is removed, the whole memory is erased, including the option bytes.