RM0440 Rev 4 5/2126
RM0440 Contents
48
4.7.10 Flash PCROP1 End address register (FLASH_PCROP1ER) . . . . . . . 183
4.7.11 Flash WRP area A address register (FLASH_WRP1AR) . . . . . . . . . . 183
4.7.12 Flash WRP area B address register (FLASH_WRP1BR) . . . . . . . . . . 184
4.7.13 Flash Securable area register (FLASH_SEC1R) . . . . . . . . . . . . . . . . . 184
4.7.14 FLASH register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5 Embedded Flash memory (FLASH)
for category 2 devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.2 FLASH main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.3 FLASH functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.3.1 Flash memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.3.2 Error code correction (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.3.3 Read access latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.3.4 Adaptive real-time memory accelerator (ART Accelerator) . . . . . . . . . 191
5.3.5 Flash program and erase operations . . . . . . . . . . . . . . . . . . . . . . . . . . 194
5.3.6 Flash main memory erase sequences . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.3.7 Flash main memory programming sequences . . . . . . . . . . . . . . . . . . . 196
5.4 FLASH option bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.4.1 Option bytes description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.4.2 Option bytes programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.5 FLASH memory protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.5.1 Read protection (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
5.5.2 Proprietary code readout protection (PCROP) . . . . . . . . . . . . . . . . . . 209
5.5.3 Write protection (WRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
5.5.4 Securable memory area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
5.5.5 Disabling core debug access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.5.6 Forcing boot from Flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.6 FLASH interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5.7 FLASH registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.7.1 Flash access control register (FLASH_ACR) . . . . . . . . . . . . . . . . . . . 214
5.7.2 Flash Power-down key register (FLASH_PDKEYR) . . . . . . . . . . . . . . 215
5.7.3 Flash key register (FLASH_KEYR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5.7.4 Flash option key register (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . 216
5.7.5 Flash status register (FLASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.7.6 Flash control register (FLASH_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 218