RM0367 Rev 7 37/1043
RM0367 Contents
40
33.9.3 Debug MCU configuration register (DBG_CR) . . . . . . . . . . . . . . . . . . 965
33.9.4 Debug MCU APB1 freeze register (DBG_APB1_FZ) . . . . . . . . . . . . . 967
33.9.5 Debug MCU APB2 freeze register (DBG_APB2_FZ) . . . . . . . . . . . . . 969
33.10 DBG register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970
34 Device electronic signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
34.1 Memory size register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
34.1.1 Flash size register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
34.2 Unique device ID registers (96 bits) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
Appendix A Code examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
A.2 NVM/RCC Operation code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
A.2.1 Increasing the CPU frequency preparation sequence code . . . . . . . . . 973
A.2.2 Decreasing the CPU frequency preparation sequence code . . . . . . . . 973
A.2.3 Switch from PLL to HSI16 sequence code . . . . . . . . . . . . . . . . . . . . . . 974
A.2.4 Switch to PLL sequence code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974
A.3 NVM Operation code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
A.3.1 Unlocking the data EEPROM and FLASH_PECR register
code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
A.3.2 Locking data EEPROM and FLASH_PECR register code example. . . 975
A.3.3 Unlocking the NVM program memory code example . . . . . . . . . . . . . . 975
A.3.4 Unlocking the option bytes area code example . . . . . . . . . . . . . . . . . . 976
A.3.5 Write to data EEPROM code example . . . . . . . . . . . . . . . . . . . . . . . . . 976
A.3.6 Erase to data EEPROM code example . . . . . . . . . . . . . . . . . . . . . . . . 976
A.3.7 Program Option byte code example . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
A.3.8 Erase Option byte code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
A.3.9 Program a single word to Flash program memory code example . . . . 978
A.3.10 Program half-page to Flash program memory code example . . . . . . . 979
A.3.11 Erase a page in Flash program memory code example . . . . . . . . . . . . 980
A.3.12 Mass erase code example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981
A.4 Clock Controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
A.4.1 HSE start sequence code example . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
A.4.2 PLL configuration modification code example . . . . . . . . . . . . . . . . . . . 983
A.4.3 MCO selection code example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
A.5 GPIOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984
A.5.1 Locking mechanism code example. . . . . . . . . . . . . . . . . . . . . . . . . . . . 984