RM0481-STM32H523-33-562-63-573
Introduction
This document is addressed to application developers. It provides complete information on how to use the STM32H523xx, STM32H533xx, STM32H562xx, STM32H563xx, and STM32H573xx microcontrollers memory and peripherals.
For ordering information, mechanical and electrical device characteristics, refer to the corresponding datasheets.
For information on the Arm ® Cortex ® -M33 core, refer to the corresponding Arm ® Technical Reference Manuals available on http://infocenter.arm.com .
Related documents
- • STM32H523/533xx datasheet
- • STM32H562/563xx datasheet
- • STM32H573xx datasheet
- • STM32H523/533xx errata sheet
- • STM32H562/563/573xx errata sheets
- • STM32 Cortex ® -M33 MCUs programming manual
Contents
- 1 Documentation conventions . . . . . 104
- 1.1 General information . . . . . 104
- 1.2 List of abbreviations for registers . . . . . 104
- 1.3 Register reset value . . . . . 104
- 1.4 Glossary . . . . . 105
- 2 Memory and bus architecture . . . . . 106
- 2.1 System architecture . . . . . 106
- 2.1.1 Fast C-bus . . . . . 107
- 2.1.2 Slow C-bus . . . . . 108
- 2.1.3 S-bus . . . . . 108
- 2.1.4 DCache S-bus . . . . . 108
- 2.1.5 GPDMA1 and GPDMA2 buses . . . . . 108
- 2.1.6 SDMMC1 and SDMMC2 controllers DMA buses . . . . . 108
- 2.1.7 BusMatrix . . . . . 108
- 2.1.8 AHB/APB bridges . . . . . 109
- 2.1.9 Ethernet MAC . . . . . 109
- 2.2 TrustZone security architecture . . . . . 109
- 2.2.1 Default TrustZone security state . . . . . 109
- 2.2.2 TrustZone peripheral classification . . . . . 110
- 2.3 Memory organization . . . . . 115
- 2.3.1 Introduction . . . . . 115
- 2.3.2 Memory map and register boundary addresses . . . . . 116
- 2.3.3 Embedded SRAMs . . . . . 127
- 2.3.4 Flash memory overview . . . . . 127
- 2.3.5 Boot modes . . . . . 127
- 2.1 System architecture . . . . . 106
- 3 System security . . . . . 129
- 3.1 Key security features . . . . . 129
- 3.2 Secure install . . . . . 130
- 3.3 Secure boot . . . . . 130
- 3.3.1 Unique boot entry . . . . . 131
- 3.3.2 Immutable root of trust in system flash memory . . . . . 132
| 3.4 | Secure update . . . . . | 132 |
| 3.5 | Resource isolation using hide protection levels . . . . . | 132 |
| 3.6 | Resource isolation using TrustZone . . . . . | 132 |
| 3.6.1 | TrustZone security architecture . . . . . | 133 |
| 3.6.2 | Armv8-M security extension of Cortex-M33 . . . . . | 133 |
| 3.6.3 | Memory and peripheral allocation using IDAU/SAU . . . . . | 134 |
| 3.6.4 | Memory and peripheral allocation using GTZC . . . . . | 136 |
| 3.6.5 | Managing security in TrustZone-aware peripherals . . . . . | 140 |
| 3.6.6 | Activating TrustZone security . . . . . | 146 |
| 3.6.7 | Deactivating TrustZone security . . . . . | 147 |
| 3.7 | Other resources isolation . . . . . | 147 |
| 3.7.1 | Temporal isolation using secure hide protection (HDP) . . . . . | 148 |
| 3.7.2 | Resource isolation using Cortex privileged mode . . . . . | 148 |
| 3.8 | Secure execution . . . . . | 152 |
| 3.8.1 | Memory protection unit (MPU) . . . . . | 152 |
| 3.8.2 | Embedded flash memory write protection . . . . . | 153 |
| 3.8.3 | Tamper detection and response . . . . . | 153 |
| 3.9 | Secure storage . . . . . | 155 |
| 3.9.1 | Hardware secret key management . . . . . | 156 |
| 3.9.2 | Unique ID . . . . . | 157 |
| 3.10 | Crypto engines . . . . . | 157 |
| 3.10.1 | Crypto engines features . . . . . | 157 |
| 3.10.2 | Secure AES co-processor (SAES) . . . . . | 158 |
| 3.10.3 | On-the-fly decryption engine (OTFDEC) . . . . . | 159 |
| 3.11 | Product life cycle . . . . . | 159 |
| 3.11.1 | Product configurations and security services . . . . . | 160 |
| 3.11.2 | Life cycle management . . . . . | 161 |
| 3.11.3 | Recommended product settings . . . . . | 164 |
| 3.12 | Software intellectual property protection and collaborative development . . . . . | 164 |
| 3.12.1 | Software intellectual property protection . . . . . | 166 |
| 3.12.2 | Software intellectual property protection with OTFDEC . . . . . | 166 |
| 3.12.3 | Other software intellectual property protections . . . . . | 168 |
| 4 | Boot modes . . . . . | 169 |
| 4.1 | STM32H523/62/63xx boot modes . . . . . | 170 |
| 4.2 | STM32H533/73xx boot modes . . . . . | 171 |
| 5 | Global TrustZone® controller (GTZC) . . . . . | 172 |
| 5.1 | GTZC introduction . . . . . | 172 |
| 5.2 | GTZC main features . . . . . | 172 |
| 5.3 | GTZC implementation . . . . . | 174 |
| 5.4 | GTZC functional description . . . . . | 176 |
| 5.4.1 | GTZC block diagram . . . . . | 176 |
| 5.4.2 | Illegal access definition . . . . . | 177 |
| 5.4.3 | TrustZone security controller (TZSC) . . . . . | 178 |
| 5.4.4 | Memory protection controller - block based (MPCBB) . . . . . | 179 |
| 5.4.5 | TrustZone illegal access controller (TZIC) . . . . . | 180 |
| 5.4.6 | Power-on/reset state . . . . . | 180 |
| 5.5 | GTZC interrupts . . . . . | 180 |
| 5.6 | GTZC1 TZSC registers . . . . . | 181 |
| 5.6.1 | GTZC1 TZSC control register (GTZC1_TZSC_CR) . . . . . | 181 |
| 5.6.2 | GTZC1 TZSC secure configuration register 1 (GTZC1_TZSC_SECCFGR1) . . . . . | 181 |
| 5.6.3 | GTZC1 TZSC secure configuration register 2 (GTZC1_TZSC_SECCFGR2) . . . . . | 184 |
| 5.6.4 | GTZC1 TZSC secure configuration register 3 (GTZC1_TZSC_SECCFGR3) . . . . . | 186 |
| 5.6.5 | GTZC1 TZSC privilege configuration register 1 (GTZC1_TZSC_PRIVCFGR1) . . . . . | 188 |
| 5.6.6 | GTZC1 TZSC privilege configuration register 2 (GTZC1_TZSC_PRIVCFGR2) . . . . . | 191 |
| 5.6.7 | GTZC1 TZSC privilege configuration register 3 (GTZC1_TZSC_PRIVCFGR3) . . . . . | 193 |
| 5.6.8 | GTZC1 TZSC memory x subregion A watermark configuration register (GTZC1_TZSC_MPCWMxACFGR) . . . . . | 195 |
| 5.6.9 | GTZC1 TZSC memory x subregion A watermark register (GTZC1_TZSC_MPCWMxAR) . . . . . | 196 |
| 5.6.10 | GTZC1 TZSC memory x subregion B watermark configuration register (GTZC1_TZSC_MPCWMxBCFGR) . . . . . | 196 |
| 5.6.11 | GTZC1 TZSC memory x subregion B watermark register (GTZC1_TZSC_MPCWMxBR) . . . . . | 197 |
| 5.6.12 | GTZC1 TZSC register map . . . . . | 199 |
| 5.7 | GTZC1 TZIC registers . . . . . | 201 |
| 5.7.1 | GTZC1 TZIC interrupt enable register 1 (GTZC1_TZIC_IER1) . . . . . | 201 |
| 5.7.2 | GTZC1 TZIC interrupt enable register 2 (GTZC1_TZIC_IER2) . . . . . | 203 |
| 5.7.3 | GTZC1 TZIC interrupt enable register 3 (GTZC1_TZIC_IER3) . . . . . | 205 |
| 5.7.4 | GTZC1 TZIC interrupt enable register 4 (GTZC1_TZIC_IER4) . . . . . | 207 |
| 5.7.5 | GTZC1 TZIC status register 1 (GTZC1_TZIC_SR1) . . . . . | 209 |
| 5.7.6 | GTZC1 TZIC status register 2 (GTZC1_TZIC_SR2) . . . . . | 212 |
| 5.7.7 | GTZC1 TZIC status register 3 (GTZC1_TZIC_SR3) . . . . . | 214 |
| 5.7.8 | GTZC1 TZIC status register 4 (GTZC1_TZIC_SR4) . . . . . | 216 |
| 5.7.9 | GTZC1 TZIC flag clear register 1 (GTZC1_TZIC_FCR1) . . . . . | 218 |
| 5.7.10 | GTZC1 TZIC flag clear register 2 (GTZC1_TZIC_FCR2) . . . . . | 220 |
| 5.7.11 | GTZC1 TZIC flag clear register 3 (GTZC1_TZIC_FCR3) . . . . . | 222 |
| 5.7.12 | GTZC1 TZIC flag clear register 4 (GTZC1_TZIC_FCR4) . . . . . | 224 |
| 5.7.13 | GTZC1 TZIC register map . . . . . | 227 |
| 5.8 | GTZC1 MPCBBz registers (z = 1 to 3) . . . . . | 229 |
| 5.8.1 | GTZC1 SRAMz MPCBB control register (GTZC1_MPCBBz_CR) (z = 1 to 3) . . . . . | 229 |
| 5.8.2 | GTZC1 SRAMz MPCBB configuration lock register 1 (GTZC1_MPCBBz_CFGLOCK1) (z = 1 to 3) . . . . . | 229 |
| 5.8.3 | GTZC1 SRAMz MPCBB security configuration for super-block x register (GTZC1_MPCBBz_SECCFGRx) (z = 1 to 3) . . . . . | 230 |
| 5.8.4 | GTZC1 SRAMz MPCBB privileged configuration for super-block x register (GTZC1_MPCBBz_PRIVCFGRx) (z = 1 to 3) . . . . . | 230 |
| 5.8.5 | GTZC1 MPCBBz register map (z = 1 to 3) . . . . . | 231 |
| 6 | RAMs configuration controller (RAMCFG) . . . . . | 232 |
| 6.1 | Introduction . . . . . | 232 |
| 6.2 | RAMCFG main features . . . . . | 232 |
| 6.3 | RAMCFG functional description . . . . . | 232 |
| 6.3.1 | Internal SRAMs features . . . . . | 232 |
| 6.3.2 | Error code correction (SRAM2, SRAM3, BKPSRAM) . . . . . | 233 |
| 6.3.3 | Write protection (SRAM2) . . . . . | 235 |
| 6.3.4 | Software erase . . . . . | 236 |
| 6.4 | RAMCFG low-power modes . . . . . | 236 |
| 6.5 | RAMCFG interrupts . . . . . | 236 |
| 6.6 | RAMCFG registers . . . . . | 237 |
| 6.6.1 | RAMCFG memory x control register (RAMCFG_MxCR) . . . . . | 237 |
| 6.6.2 | RAMCFG memory x interrupt enable register (RAMCFG_MxIER) . . . . . | 237 |
| 6.6.3 | RAMCFG memory interrupt status register (RAMCFG_MxISR) . . . . . | 238 |
| 6.6.4 | RAMCFG memory x ECC single error address register (RAMCFG_MxSEAR) . . . . . | 239 |
| 6.6.5 | RAMCFG memory x ECC double error address register (RAMCFG_MxDEAR) . . . . . | 239 |
| 6.6.6 | RAMCFG memory x interrupt clear register x (RAMCFG_MxICR) . . . . . | 239 |
| 6.6.7 | RAMCFG memory 2 write protection register 1 (RAMCFG_M2WPR1) . . . . . | 240 |
| 6.6.8 | RAMCFG memory 2 write protection register 2 (RAMCFG_M2WPR2) . . . . . | 240 |
| 6.6.9 | RAMCFG memory 2 write protection register 3 (RAMCFG_M2WPR3) . . . . . | 241 |
| 6.6.10 | RAMCFG memory x ECC key register (RAMCFG_MxECCKEYR) . . . . . | 241 |
| 6.6.11 | RAMCFG memory x erase key register (RAMCFG_MxERKEYR) . . . . . | 242 |
| 6.6.12 | RAMCFG register map . . . . . | 243 |
| 7 | Embedded flash memory (FLASH) . . . . . | 246 |
| 7.1 | Introduction . . . . . | 246 |
| 7.2 | FLASH main features . . . . . | 246 |
| 7.3 | FLASH functional description . . . . . | 247 |
| 7.3.1 | FLASH block diagram . . . . . | 247 |
| 7.3.2 | FLASH signals . . . . . | 248 |
| 7.3.3 | Flash memory architecture and usage . . . . . | 249 |
| 7.3.4 | FLASH read operations . . . . . | 251 |
| 7.3.5 | FLASH program operations . . . . . | 253 |
| 7.3.6 | FLASH erase operations . . . . . | 256 |
| 7.3.7 | FLASH parallel operations . . . . . | 259 |
| 7.3.8 | FLASH error protections . . . . . | 260 |
| 7.3.9 | OTP and RO memory access . . . . . | 260 |
| 7.3.10 | Flash high-cycle data . . . . . | 262 |
| 7.3.11 | Flash bank swapping . . . . . | 264 |
| 7.3.12 | FLASH reset and clocks . . . . . | 267 |
| 7.4 | FLASH option bytes . . . . . | 269 |
| 7.4.1 | About option bytes . . . . . | 269 |
| 7.4.2 | Option bytes loading . . . . . | 269 |
| 7.4.3 | Option bytes modification . . . . . | 269 |
| 7.4.4 | Description of user and system option bytes . . . . . | 272 |
| 7.4.5 | Description of data protection option bytes . . . . . | 273 |
| 7.4.6 | Description of boot address option bytes . . . . . | 274 |
| 7.4.7 | Specific rules for modifying option bytes . . . . . | 274 |
| 7.5 | Option bytes key (OBK) management . . . . . | 276 |
| 7.5.1 | OBK loading . . . . . | 276 |
| 7.5.2 | OBK access per HDPL level . . . . . | 277 |
| 7.5.3 | OBK programming sequence . . . . . | 277 |
| 7.5.4 | OBK programming finite state machine . . . . . | 279 |
| 7.5.5 | OBK swap sector . . . . . | 280 |
| 7.5.6 | OBK alternate sector erase . . . . . | 282 |
| 7.6 | FLASH security and protections . . . . . | 282 |
| 7.6.1 | TrustZone security protection . . . . . | 283 |
| 7.6.2 | Hide protection (HDP) . . . . . | 285 |
| 7.6.3 | Block-based secure flash memory area protection . . . . . | 287 |
| 7.6.4 | Block-based privileged flash memory area protection . . . . . | 288 |
| 7.6.5 | Flash memory register privileged and unprivileged modes . . . . . | 289 |
| 7.6.6 | Flash memory banks attributes in case of bank swap . . . . . | 290 |
| 7.6.7 | Flash memory configuration protection . . . . . | 291 |
| 7.6.8 | Write protection . . . . . | 292 |
| 7.6.9 | Flash high-cycle data protections . . . . . | 292 |
| 7.6.10 | Life cycle management . . . . . | 294 |
| 7.6.11 | Product state transitions . . . . . | 295 |
| 7.6.12 | OBK protection . . . . . | 297 |
| 7.6.13 | One-time-programmable and read-only memory protections . . . . . | 298 |
| 7.7 | System memory . . . . . | 299 |
| 7.7.1 | Introduction . . . . . | 299 |
| 7.7.2 | RSS user functions . . . . . | 299 |
| 7.8 | FLASH low-power modes . . . . . | 306 |
| 7.9 | FLASH error management . . . . . | 307 |
| 7.9.1 | Introduction . . . . . | 307 |
| 7.9.2 | Non-secure write protection error (WRPERR) . . . . . | 307 |
| 7.9.3 | Secure write protection error (WRPERR) . . . . . | 308 |
| 7.9.4 | Non secure programming sequence error (PGSERR) . . . . . | 309 |
| 7.9.5 | Secure programming sequence error (PGSERR) . . . . . | 310 |
| 7.9.6 | Non-secure strobe error (STRBERR) . . . . . | 311 |
| 7.9.7 | Secure strobe error (STRBERR) . . . . . | 311 |
| 7.9.8 | Non-secure inconsistency error (INCERR) . . . . . | 311 |
| 7.9.9 | Secure inconsistency error (INCERR) . . . . . | 312 |
| 7.9.10 | Error correction code error (ECCC, ECCD) . . . . . | 313 |
| 7.9.11 | Illegal access (ILAFM/ILAP) . . . . . | 314 |
| 7.9.12 | Option byte change error (OPTCHANGEERR) . . . . . | 314 |
- 7.9.13 Miscellaneous HardFault errors . . . . . 315
- 7.9.14 OBK error cases (OBKERR, OBKWERR) . . . . . 315
- 7.10 FLASH interrupts . . . . . 316
- 7.11 FLASH registers . . . . . 318
- 7.11.1 FLASH access control register (FLASH_ACR) . . . . . 318
- 7.11.2 FLASH non-secure key register (FLASH_NSKEYR) . . . . . 319
- 7.11.3 FLASH secure key register (FLASH_SECKEYR) . . . . . 319
- 7.11.4 FLASH option key register (FLASH_OPTKEYR) . . . . . 320
- 7.11.5 FLASH non-secure OBK key register (FLASH_NSOBKKEYR) . . . . . 320
- 7.11.6 FLASH secure OBK key register (FLASH_SECOBKKEYR) . . . . . 320
- 7.11.7 FLASH operation status register (FLASH_OPSR) . . . . . 321
- 7.11.8 FLASH option control register (FLASH_OPTCR) . . . . . 322
- 7.11.9 FLASH non-secure status register (FLASH_NSSR) . . . . . 323
- 7.11.10 FLASH secure status register (FLASH_SECSR) . . . . . 325
- 7.11.11 FLASH non-secure control register (FLASH_NSCR) . . . . . 327
- 7.11.12 FLASH secure control register (FLASH_SECCR) . . . . . 329
- 7.11.13 FLASH non-secure clear control register (FLASH_NSCCR) . . . . . 332
- 7.11.14 FLASH secure clear control register (FLASH_SECCR) . . . . . 333
- 7.11.15 FLASH privilege configuration register (FLASH_PRIVCFGR) . . . . . 334
- 7.11.16 FLASH non-secure OBK configuration register
(FLASH_NSOBKCFGR) . . . . . 334 - 7.11.17 FLASH secure OBK configuration register (FLASH_SECOBKCFGR) 335
- 7.11.18 FLASH HDP extension register (FLASH_HDPEXTR) . . . . . 336
- 7.11.19 FLASH option status register (FLASH_OPTSR_CUR) . . . . . 337
- 7.11.20 FLASH option status register (FLASH_OPTSR_PRG) . . . . . 339
- 7.11.21 FLASH non-secure EPOCH register (FLASH_NSEPOCHR_CUR) . . . 340
- 7.11.22 FLASH secure EPOCH register (FLASH_SECEPOCHR_CUR) . . . . 341
- 7.11.23 FLASH option status register 2 (FLASH_OPTSR2_CUR) . . . . . 341
- 7.11.24 FLASH option status register 2 (FLASH_OPTSR2_PRG) . . . . . 342
- 7.11.25 FLASH non-secure boot register (FLASH_NSBOOTR_CUR) . . . . . 343
- 7.11.26 FLASH non-secure boot register (FLASH_NSBOOTR_PRG) . . . . . 344
- 7.11.27 FLASH secure boot register (FLASH_SECBOOTR_CUR) . . . . . 344
- 7.11.28 FLASH secure boot register (FLASH_BOOTR_PRG) . . . . . 345
- 7.11.29 FLASH non-secure OTP block lock (FLASH_OTPBLR_CUR) . . . . . 346
- 7.11.30 FLASH non-secure OTP block lock (FLASH_OTPBLR_PRG) . . . . . 346
- 7.11.31 FLASH secure block based register for Bank1 (FLASH_SECB1Rx) 347
| 7.11.32 | FLASH privilege block based register for Bank1 (FLASH_PRIVBB1Rx) . . . . . | 347 |
| 7.11.33 | FLASH security watermark for Bank1 (FLASH_SECWM1R_CUR) . . | 348 |
| 7.11.34 | FLASH security watermark for Bank1 (FLASH_SECWM1R_PRG) . . | 348 |
| 7.11.35 | FLASH write sector group protection for Bank1 (FLASH_WRP1R_CUR) . . . . . | 349 |
| 7.11.36 | FLASH write sector group protection for Bank1 (FLASH_WRP1R_PRG) . . . . . | 349 |
| 7.11.37 | FLASH data sector configuration Bank1 (FLASH_EDATA1R_CUR) . . | 350 |
| 7.11.38 | FLASH data sector configuration Bank1 (FLASH_EDATA1R_PRG) . . | 351 |
| 7.11.39 | FLASH HDP Bank1 configuration (FLASH_HDP1R_CUR) . . . . . | 351 |
| 7.11.40 | FLASH HDP Bank1 configuration (FLASH_HDP1R_PRG) . . . . . | 352 |
| 7.11.41 | FLASH ECC correction register (FLASH_ECCCORR) . . . . . | 352 |
| 7.11.42 | FLASH ECC detection register (FLASH_ECCDETR) . . . . . | 353 |
| 7.11.43 | FLASH ECC data (FLASH_ECCDR) . . . . . | 354 |
| 7.11.44 | FLASH secure block-based register for Bank2 (FLASH_SECB2Rx) | 355 |
| 7.11.45 | FLASH privilege block-based register for Bank2 (FLASH_PRIVBB2Rx) . . . . . | 355 |
| 7.11.46 | FLASH security watermark for Bank2 (FLASH_SECWM2R_CUR) . . | 356 |
| 7.11.47 | FLASH security watermark for Bank2 (FLASH_SECWM2R_PRG) . . | 356 |
| 7.11.48 | FLASH write sector group protection for Bank2 (FLASH_WRP2R_CUR) . . . . . | 357 |
| 7.11.49 | FLASH write sector group protection for Bank2 (FLASH_WRP2R_PRG) . . . . . | 358 |
| 7.11.50 | FLASH data sectors configuration Bank2 (FLASH_EDATA2R_CUR) . | 358 |
| 7.11.51 | FLASH data sector configuration Bank2 (FLASH_EDATA2R_PRG) . . | 359 |
| 7.11.52 | FLASH HDP Bank2 configuration (FLASH_HDP2R_CUR) . . . . . | 359 |
| 7.11.53 | FLASH HDP Bank2 configuration (FLASH_HDP2R_PRG) . . . . . | 360 |
| 7.12 | FLASH register map and reset values . . . . . | 361 |
| 8 | Instruction cache (ICACHE) . . . . . | 366 |
| 8.1 | ICACHE introduction . . . . . | 366 |
| 8.2 | ICACHE main features . . . . . | 366 |
| 8.3 | ICACHE implementation . . . . . | 367 |
| 8.4 | ICACHE functional description . . . . . | 367 |
| 8.4.1 | ICACHE block diagram . . . . . | 368 |
| 8.4.2 | ICACHE reset and clocks . . . . . | 368 |
| 8.4.3 | ICACHE TAG memory . . . . . | 369 |
| 8.4.4 | Direct-mapped ICACHE (1-way cache) . . . . . | 370 |
| 8.4.5 | ICACHE enable . . . . . | 371 |
| 8.4.6 | Cacheable and noncacheable traffic . . . . . | 371 |
| 8.4.7 | Address remapping . . . . . | 372 |
| 8.4.8 | Cacheable accesses . . . . . | 374 |
| 8.4.9 | Dual-master cache . . . . . | 375 |
| 8.4.10 | ICACHE security . . . . . | 375 |
| 8.4.11 | ICACHE maintenance . . . . . | 375 |
| 8.4.12 | ICACHE performance monitoring . . . . . | 376 |
| 8.4.13 | ICACHE boot . . . . . | 376 |
| 8.5 | ICACHE low-power modes . . . . . | 376 |
| 8.6 | ICACHE error management and interrupts . . . . . | 377 |
| 8.7 | ICACHE registers . . . . . | 377 |
| 8.7.1 | ICACHE control register (ICACHE_CR) . . . . . | 377 |
| 8.7.2 | ICACHE status register (ICACHE_SR) . . . . . | 378 |
| 8.7.3 | ICACHE interrupt enable register (ICACHE_IER) . . . . . | 379 |
| 8.7.4 | ICACHE flag clear register (ICACHE_FCR) . . . . . | 379 |
| 8.7.5 | ICACHE hit monitor register (ICACHE_HMONR) . . . . . | 380 |
| 8.7.6 | ICACHE miss monitor register (ICACHE_MMONR) . . . . . | 380 |
| 8.7.7 | ICACHE region x configuration register (ICACHE_CRRx) . . . . . | 380 |
| 8.7.8 | ICACHE register map . . . . . | 382 |
| 9 | Data cache (DCACHE) . . . . . | 383 |
| 9.1 | DCACHE introduction . . . . . | 383 |
| 9.2 | DCACHE main features . . . . . | 383 |
| 9.3 | DCACHE implementation . . . . . | 384 |
| 9.4 | DCACHE functional description . . . . . | 384 |
| 9.4.1 | DCACHE block diagram . . . . . | 385 |
| 9.4.2 | DCACHE reset and clocks . . . . . | 385 |
| 9.4.3 | DCACHE TAG memory . . . . . | 386 |
| 9.4.4 | DCACHE enable . . . . . | 388 |
| 9.4.5 | Cacheable and noncacheable traffic . . . . . | 388 |
| 9.4.6 | Cacheable accesses . . . . . | 389 |
| 9.4.7 | DCACHE security . . . . . | 391 |
| 9.4.8 | DCACHE maintenance . . . . . | 391 |
| 9.4.9 | DCACHE performance monitoring . . . . . | 393 |
| 9.4.10 | DCACHE boot . . . . . | 393 |
| 9.5 | DCACHE low-power modes . . . . . | 394 |
| 9.6 | DCACHE error management and interrupts . . . . . | 394 |
| 9.7 | DCACHE registers . . . . . | 395 |
| 9.7.1 | DCACHE control register (DCACHE_CR) . . . . . | 395 |
| 9.7.2 | DCACHE status register (DCACHE_SR) . . . . . | 396 |
| 9.7.3 | DCACHE interrupt enable register (DCACHE_IER) . . . . . | 397 |
| 9.7.4 | DCACHE flag clear register (DCACHE_FCR) . . . . . | 398 |
| 9.7.5 | DCACHE read-hit monitor register (DCACHE_RHMONR) . . . . . | 398 |
| 9.7.6 | DCACHE read-miss monitor register (DCACHE_RMMONR) . . . . . | 399 |
| 9.7.7 | DCACHE write-hit monitor register (DCACHE_WHMONR) . . . . . | 399 |
| 9.7.8 | DCACHE write-miss monitor register (DCACHE_WMMONR) . . . . . | 399 |
| 9.7.9 | DCACHE command range start address register (DCACHE_CMDRSADRR) . . . . . | 400 |
| 9.7.10 | DCACHE command range end address register (DCACHE_CMDREADRR) . . . . . | 400 |
| 9.7.11 | DCACHE register map . . . . . | 400 |
| 10 | Power control (PWR) . . . . . | 402 |
| 10.1 | Introduction . . . . . | 402 |
| 10.2 | PWR main features . . . . . | 402 |
| 10.3 | PWR pins and internal signals . . . . . | 403 |
| 10.4 | PWR power supplies and supply domains . . . . . | 404 |
| 10.4.1 | External power supplies . . . . . | 405 |
| 10.4.2 | Internal regulators . . . . . | 406 |
| 10.4.3 | Power-up and power-down power sequences . . . . . | 408 |
| 10.4.4 | Independent analog peripherals supply . . . . . | 408 |
| 10.4.5 | Independent I/O supply rail . . . . . | 409 |
| 10.4.6 | Independent USB transceivers supply . . . . . | 409 |
| 10.4.7 | Backup domain . . . . . | 409 |
| 10.5 | PWR system supply voltage regulation . . . . . | 411 |
| 10.5.1 | SMPS and LDO embedded regulators . . . . . | 411 |
| 10.5.2 | V CORE supply versus reset, voltage scaling, and low-power modes . . . . . | 411 |
| 10.5.3 | Embedded voltage regulator operating modes . . . . . | 411 |
| 10.6 | PWR power supply and temperature supervision . . . . . | 412 |
| 10.6.1 | Power-on reset (POR)/power-down reset (PDR) . . . . . | 412 |
| 10.6.2 | Brownout reset (BOR) . . . . . | 413 |
| 10.6.3 | Programmable voltage detector (PVD) . . . . . | 414 |
| 10.6.4 | Analog voltage detector (AVD) . . . . . | 414 |
| 10.6.5 | VDDIO2 voltage monitor (IO2VM) . . . . . | 415 |
| 10.6.6 | Backup domain voltage monitoring . . . . . | 415 |
| 10.6.7 | Temperature monitoring . . . . . | 416 |
| 10.7 | PWR management . . . . . | 417 |
| 10.7.1 | Voltage scaling . . . . . | 417 |
| 10.7.2 | Power management examples . . . . . | 418 |
| 10.8 | Power modes . . . . . | 419 |
| 10.8.1 | Slowing down system clocks . . . . . | 423 |
| 10.8.2 | Peripheral clock gating . . . . . | 423 |
| 10.8.3 | Low-power modes . . . . . | 423 |
| 10.8.4 | Sleep mode . . . . . | 424 |
| 10.8.5 | Stop mode . . . . . | 425 |
| 10.8.6 | Standby mode . . . . . | 427 |
| 10.8.7 | Power modes output pins . . . . . | 430 |
| 10.9 | PWR security and privileged protection . . . . . | 431 |
| 10.9.1 | PWR security protection . . . . . | 431 |
| 10.9.2 | PWR privileged protection . . . . . | 432 |
| 10.10 | PWR interrupts . . . . . | 433 |
| 10.11 | PWR registers . . . . . | 434 |
| 10.11.1 | PWR power mode control register (PWR_PMCR) . . . . . | 434 |
| 10.11.2 | PWR power mode control register [alternate] (PWR_PMCR) . . . . . | 436 |
| 10.11.3 | PWR status register (PWR_PMSR) . . . . . | 437 |
| 10.11.4 | PWR voltage scaling control register (PWR_VOSCR) . . . . . | 438 |
| 10.11.5 | PWR voltage scaling status register (PWR_VOSSR) . . . . . | 439 |
| 10.11.6 | PWR Backup domain control register (PWR_BDCR) . . . . . | 439 |
| 10.11.7 | PWR Backup domain control register (PWR_DBPCR) . . . . . | 441 |
| 10.11.8 | PWR Backup domain status register (PWR_BDSR) . . . . . | 441 |
| 10.11.9 | PWR USB Type-C power delivery register (PWR_UCPDR) . . . . . | 442 |
| 10.11.10 | PWR supply configuration control register (PWR_SCCR) . . . . . | 442 |
| 10.11.11 | PWR voltage monitor control register (PWR_VMCR) . . . . . | 443 |
| 10.11.12 | PWR USB supply control register (PWR_USBSCR) . . . . . | 444 |
| 10.11.13 | PWR voltage monitor status register (PWR_VMSR) . . . . . | 445 |
| 10.11.14 | PWR wake-up status clear register (PWR_WUSCR) . . . . . | 446 |
| 10.11.15 | PWR wake-up status register (PWR_WUSR) . . . . . | 446 |
| 10.11.16 | PWR wake-up configuration register (PWR_WUCR) . . . . . | 447 |
| 10.11.17 | PWR I/O retention register (PWR_IORETR) . . . . . | 447 |
| 10.11.18 | PWR security configuration register (PWR_SECCFGR) . . . . . | 448 |
| 10.11.19 | PWR privilege configuration register (PWR_PRIVCFGR) . . . . . | 449 |
| 10.11.20 | PWR register map . . . . . | 450 |
| 11 | Reset and clock control (RCC) . . . . . | 452 |
| 11.1 | Introduction . . . . . | 452 |
| 11.2 | RCC pins and internal signals . . . . . | 452 |
| 11.3 | RCC reset functional description . . . . . | 452 |
| 11.3.1 | Power reset . . . . . | 452 |
| 11.3.2 | System reset . . . . . | 453 |
| 11.3.3 | Backup domain reset . . . . . | 454 |
| 11.3.4 | Reset source identification . . . . . | 454 |
| 11.4 | RCC clocks functional description . . . . . | 455 |
| 11.4.1 | HSE clock . . . . . | 457 |
| 11.4.2 | HSI clock . . . . . | 458 |
| 11.4.3 | CSI oscillator . . . . . | 459 |
| 11.4.4 | HSI48 clock . . . . . | 460 |
| 11.4.5 | PLL description . . . . . | 460 |
| 11.4.6 | LSE clock . . . . . | 464 |
| 11.4.7 | LSI clock . . . . . | 465 |
| 11.4.8 | System clock (SYSCLK) selection . . . . . | 465 |
| 11.4.9 | Handling clock generators in stop and standby modes . . . . . | 466 |
| 11.4.10 | Clock security system (CSS) . . . . . | 467 |
| 11.4.11 | Clock output generation (MCO1/MCO2) . . . . . | 468 |
| 11.4.12 | Kernel clock selection . . . . . | 468 |
| 11.4.13 | RTC and TAMP clock . . . . . | 472 |
| 11.4.14 | Timer clock . . . . . | 473 |
| 11.4.15 | Watchdog clock . . . . . | 473 |
| 11.4.16 | Peripherals clock gating and autonomous mode . . . . . | 473 |
| 11.5 | RCC security and privilege functional description . . . . . | 474 |
| 11.5.1 | RCC TrustZone security protection modes . . . . . | 474 |
| 11.5.2 | RCC privilege protection modes . . . . . | 477 |
| 11.6 | RCC low-power modes . . . . . | 477 |
| 11.7 | RCC interrupts . . . . . | 479 |
| 11.8 | RCC registers . . . . . | 481 |
| 11.8.1 | RCC clock control register (RCC_CR) . . . . . | 481 |
| 11.8.2 | RCC HSI calibration register (RCC_HSICFGR) . . . . . | 484 |
| 11.8.3 | RCC clock recovery RC register (RCC_CRRRCR) . . . . . | 484 |
| 11.8.4 | RCC CSI calibration register (RCC_CSICFGR) . . . . . | 485 |
| 11.8.5 | RCC clock configuration register1 (RCC_CFGR1) . . . . . | 485 |
| 11.8.6 | RCC CPU domain clock configuration register 2 (RCC_CFGR2) . . . . . | 488 |
| 11.8.7 | RCC PLL clock source selection register (RCC_PLL1CFGR) . . . . . | 490 |
| 11.8.8 | RCC PLL clock source selection register (RCC_PLL2CFGR) . . . . . | 492 |
| 11.8.9 | RCC PLL clock source selection register (RCC_PLL3CFGR) . . . . . | 494 |
| 11.8.10 | RCC PLL1 dividers register (RCC_PLL1DIVR) . . . . . | 495 |
| 11.8.11 | RCC PLL1 fractional divider register (RCC_PLL1FRACR) . . . . . | 497 |
| 11.8.12 | RCC PLL1 dividers register (RCC_PLL2DIVR) . . . . . | 497 |
| 11.8.13 | RCC PLL2 fractional divider register (RCC_PLL2FRACR) . . . . . | 498 |
| 11.8.14 | RCC PLL3 dividers register (RCC_PLL3DIVR) . . . . . | 499 |
| 11.8.15 | RCC PLL3 fractional divider register (RCC_PLL3FRACR) . . . . . | 500 |
| 11.8.16 | RCC clock source interrupt enable register (RCC_CIER) . . . . . | 501 |
| 11.8.17 | RCC clock source interrupt flag register (RCC_CIFR) . . . . . | 502 |
| 11.8.18 | RCC clock source interrupt clear register (RCC_CICR) . . . . . | 504 |
| 11.8.19 | RCC AHB1 reset register (RCC_AHB1RSTR) . . . . . | 505 |
| 11.8.20 | RCC AHB2 peripheral reset register (RCC_AHB2RSTR) . . . . . | 506 |
| 11.8.21 | RCC AHB4 peripheral reset register (RCC_AHB4RSTR) . . . . . | 508 |
| 11.8.22 | RCC APB1 peripheral low reset register (RCC_APB1LRSTR) . . . . . | 509 |
| 11.8.23 | RCC APB1 peripheral high reset register (RCC_APB1HRSTR) . . . . . | 512 |
| 11.8.24 | RCC APB2 peripheral reset register (RCC_APB2RSTR) . . . . . | 513 |
| 11.8.25 | RCC APB3 peripheral reset register (RCC_APB3RSTR) . . . . . | 515 |
| 11.8.26 | RCC AHB1 peripherals clock register (RCC_AHB1ENR) . . . . . | 516 |
| 11.8.27 | RCC AHB2 peripheral clock register (RCC_AHB2ENR) . . . . . | 518 |
| 11.8.28 | RCC AHB4 peripheral clock register (RCC_AHB4ENR) . . . . . | 520 |
| 11.8.29 | RCC APB1 peripheral clock register (RCC_APB1LENR) . . . . . | 521 |
| 11.8.30 | RCC APB1 peripheral clock register (RCC_APB1HENR) . . . . . | 524 |
| 11.8.31 | RCC APB2 peripheral clock register (RCC_APB2ENR) . . . . . | 525 |
| 11.8.32 | RCC APB3 peripheral clock register (RCC_APB3ENR) . . . . . | 526 |
| 11.8.33 | RCC AHB1 sleep clock register (RCC_AHB1LPENR) . . . . . | 528 |
| 11.8.34 | RCC AHB2 sleep clock register (RCC_AHB2LPENR) . . . . . | 530 |
| 11.8.35 | RCC AHB4 sleep clock register (RCC_AHB4LPENR) . . . . . | 532 |
| 11.8.36 | RCC APB1 sleep clock register (RCC_APB1LLPENR) . . . . . | 533 |
| 11.8.37 | RCC APB1 sleep clock register (RCC_APB1HLPENR) . . . . . | 536 |
| 11.8.38 | RCC APB2 sleep clock register (RCC_APB2LPENR) . . . . . | 537 |
| 11.8.39 | RCC APB3 sleep clock register (RCC_APB3LPENR) . . . . . | 539 |
| 11.8.40 | RCC kernel clock configuration register (RCC_CCIPR1) . . . . . | 541 |
| 11.8.41 | RCC kernel clock configuration register (RCC_CCIPR2) . . . . . | 543 |
| 11.8.42 | RCC kernel clock configuration register (RCC_CCIPR3) . . . . . | 546 |
| 11.8.43 | RCC kernel clock configuration register (RCC_CCIPR4) . . . . . | 547 |
| 11.8.44 | RCC kernel clock configuration register (RCC_CCIPR5) . . . . . | 549 |
| 11.8.45 | RCC Backup domain control register (RCC_BDCR) . . . . . | 551 |
| 11.8.46 | RCC reset status register (RCC_RSR) . . . . . | 553 |
| 11.8.47 | RCC secure configuration register (RCC_SECCFGR) . . . . . | 554 |
| 11.8.48 | RCC privilege configuration register (RCC_PRIVCFGR) . . . . . | 556 |
| 11.9 | RCC register map . . . . . | 557 |
| 12 | Clock recovery system (CRS) . . . . . | 563 |
| 12.1 | CRS introduction . . . . . | 563 |
| 12.2 | CRS main features . . . . . | 563 |
| 12.3 | CRS implementation . . . . . | 563 |
| 12.4 | CRS functional description . . . . . | 564 |
| 12.4.1 | CRS block diagram . . . . . | 564 |
| 12.4.2 | CRS internal signals . . . . . | 564 |
| 12.4.3 | Synchronization input . . . . . | 565 |
| 12.4.4 | Frequency error measurement . . . . . | 565 |
| 12.4.5 | Frequency error evaluation and automatic trimming . . . . . | 566 |
| 12.4.6 | CRS initialization and configuration . . . . . | 567 |
| 12.5 | CRS in low-power modes . . . . . | 568 |
| 12.6 | CRS interrupts . . . . . | 568 |
| 12.7 | CRS registers . . . . . | 568 |
| 12.7.1 | CRS control register (CRS_CR) . . . . . | 568 |
| 12.7.2 | CRS configuration register (CRS_CFGR) . . . . . | 570 |
| 12.7.3 | CRS interrupt and status register (CRS_ISR) . . . . . | 571 |
| 12.7.4 | CRS interrupt flag clear register (CRS_ICR) . . . . . | 573 |
| 12.7.5 | CRS register map . . . . . | 573 |
| 13 | General-purpose I/Os (GPIO) . . . . . | 575 |
| 13.1 | Introduction . . . . . | 575 |
| 13.2 | GPIO main features . . . . . | 575 |
| 13.3 | GPIO functional description . . . . . | 575 |
| 13.3.1 | General-purpose I/O (GPIO) . . . . . | 577 |
| 13.3.2 | I/O pin alternate function multiplexer and mapping . . . . . | 578 |
| 13.3.3 | I/O port control registers . . . . . | 578 |
| 13.3.4 | I/O port data registers . . . . . | 579 |
| 13.3.5 | I/O data bitwise handling . . . . . | 579 |
| 13.3.6 | GPIO locking mechanism . . . . . | 579 |
| 13.3.7 | I/O alternate function input/output . . . . . | 579 |
| 13.3.8 | External interrupt/wake-up lines . . . . . | 580 |
| 13.3.9 | Input configuration . . . . . | 580 |
| 13.3.10 | Output configuration . . . . . | 581 |
| 13.3.11 | Alternate function configuration . . . . . | 581 |
| 13.3.12 | Analog configuration . . . . . | 582 |
| 13.3.13 | Using the HSE or LSE oscillator pins as GPIOs . . . . . | 582 |
| 13.3.14 | Using the GPIO pins in the RTC supply domain . . . . . | 583 |
| 13.3.15 | I/Os state retention during standby mode . . . . . | 583 |
| 13.3.16 | TrustZone security . . . . . | 583 |
| 13.3.17 | Privileged and unprivileged modes . . . . . | 584 |
| 13.3.18 | High-speed low-voltage mode (HSLV) . . . . . | 584 |
| 13.3.19 | I/O compensation cell . . . . . | 585 |
| 13.4 | GPIO registers . . . . . | 586 |
| 13.4.1 | GPIO port mode register (GPIOx_MODER) (x = A to I) . . . . . | 586 |
| 13.4.2 | GPIO port output type register (GPIOx_OTYPER) (x = A to I) . . . . . | 586 |
| 13.4.3 | GPIO port output speed register (GPIOx_OSPEEDR) (x = A to I) . . . . . | 587 |
| 13.4.4 | GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to I) . . . . . | 587 |
| 13.4.5 | GPIO port input data register (GPIOx_IDR) (x = A to I) . . . . . | 588 |
| 13.4.6 | GPIO port output data register (GPIOx_ODR) (x = A to I) . . . . . | 588 |
| 13.4.7 | GPIO port bit set/reset register (GPIOx_BSRR) (x = A to I) . . . . . | 589 |
| 13.4.8 | GPIO port configuration lock register (GPIOx_LCKR) (x = A to I) . . . . . | 589 |
| 13.4.9 | GPIO alternate function low register (GPIOx_AFRL) (x = A to I) . . . . . | 590 |
| 13.4.10 | GPIO alternate function high register (GPIOx_AFRH) (x = A to H) . . . . . | 591 |
| 13.4.11 | GPIO port bit reset register (GPIOx_BRR) (x = A to I) . . . . . | 592 |
| 13.4.12 | GPIO high-speed low-voltage register (GPIOx_HSLVR) (x = A to I) . . . . . | 592 |
| 13.4.13 | GPIO secure configuration register (GPIOx_SECCFGR) (x = A to I) . . . . . | 593 |
| 13.4.14 | GPIO register map . . . . . | 594 |
| 14 | System configuration, boot, and security (SBS) . . . . . | 596 |
| 14.1 | SBS introduction . . . . . | 596 |
| 14.2 | SBS main features . . . . . | 596 |
| 14.3 | SBS functional description . . . . . | 597 |
| 14.3.1 | SBS block diagram . . . . . | 597 |
| 14.3.2 | SBS signals . . . . . | 598 |
| 14.3.3 | SBS reset and clocks . . . . . | 598 |
| 14.3.4 | SBS system configuration . . . . . | 599 |
| 14.3.5 | SBS boot control . . . . . | 600 |
| 14.3.6 | SBS debug control . . . . . | 603 |
| 14.3.7 | SBS hardware secure storage control . . . . . | 605 |
| 14.4 | SBS interrupts . . . . . | 607 |
| 14.5 | SBS registers . . . . . | 607 |
| 14.5.1 | SBS temporal isolation control register (SBS_HDPLCR) . . . . . | 607 |
| 14.5.2 | SBS temporal isolation status register (SBS_HDPLSR) . . . . . | 607 |
| 14.5.3 | SBS next HDPL control register (SBS_NEXTHDPLCR) . . . . . | 608 |
| 14.5.4 | SBS debug control register (SBS_DBGCR) . . . . . | 608 |
| 14.5.5 | SBS debug lock register (SBS_DBGLOCKR) . . . . . | 609 |
| 14.5.6 | SBS RSS command register (SBS_RSSCMDR) . . . . . | 610 |
| 14.5.7 | SBS EPOCH selection control register (SBS_EPOCHSELCCR) . . . . . | 610 |
| 14.5.8 | SBS security mode configuration control register (SBS_SECCFGR) . . . . . | 611 |
| 14.5.9 | SBS product mode and configuration register (SBS_PMCR) . . . . . | 611 |
| 14.5.10 | SBS FPU interrupt mask register (SBS_FPUIMR) . . . . . | 613 |
| 14.5.11 | SBS memory erase status register (SBS_MESR) . . . . . | 613 |
| 14.5.12 | SBS compensation cell for I/Os control and status register (SBS_CCCSR) . . . . . | 614 |
| 14.5.13 | SBS compensation cell for I/Os value register (SBS_CCVALR) . . . . . | 615 |
| 14.5.14 | SBS compensation cell for I/Os software code register (SBS_CCSWCR) . . . . . | 616 |
| 14.5.15 | SBS Class B register (SBS_CFGR2) . . . . . | 616 |
| 14.5.16 | SBS CPU nonsecure lock register (SBS_CNSLCKR) . . . . . | 617 |
| 14.5.17 | SBS CPU secure lock register (SBS_CSLCKR) . . . . . | 618 |
| 14.5.18 | SBS fiift ECC NMI mask register (SBS_ECCNMIR) . . . . . | 619 |
| 14.5.19 | SBS register map . . . . . | 620 |
| 15 | Peripherals interconnect matrix . . . . . | 622 |
| 15.1 | Interconnect matrix introduction . . . . . | 622 |
- 15.2 Connection summary . . . . . 622
- 15.3 Interconnection details . . . . . 623
- 15.3.1 Master to slave interconnection for timers . . . . . 623
- 15.3.2 Triggers to ADCs . . . . . 624
- 15.3.3 ADC analog watchdogs as triggers to timers . . . . . 625
- 15.3.4 Triggers to DAC . . . . . 625
- 15.3.5 Clock sources to timers . . . . . 626
- 15.3.6 Triggers to low-power timers . . . . . 627
- 15.3.7 RTC wake-up as inputs to timers . . . . . 627
- 15.3.8 System errors as break signals to timers . . . . . 627
- 15.3.9 Triggers for communication peripherals . . . . . 628
- 15.3.10 Triggers to GPDMA1/2 . . . . . 628
- 15.3.11 Internal analog signals to analog peripherals . . . . . 629
- 15.3.12 Clock source for the DAC sample and hold mode . . . . . 629
- 15.3.13 Internal tamper sources . . . . . 630
- 15.3.14 Output from tamper to RTC . . . . . 630
- 15.3.15 Encryption keys to AES/SAES . . . . . 630
- 16 General purpose direct memory access controller (GPDMA) . . . . . 631
- 16.1 GPDMA introduction . . . . . 631
- 16.2 GPDMA main features . . . . . 631
- 16.3 GPDMA implementation . . . . . 632
- 16.3.1 GPDMA instances . . . . . 632
- 16.3.2 GPDMA channels . . . . . 632
- 16.3.3 GPDMA in low-power modes . . . . . 633
- 16.3.4 GPDMA requests . . . . . 633
- 16.3.5 GPDMA block requests . . . . . 638
- 16.3.6 GPDMA channels with peripheral early termination . . . . . 638
- 16.3.7 GPDMA triggers . . . . . 638
- 16.4 GPDMA functional description . . . . . 641
- 16.4.1 GPDMA block diagram . . . . . 641
- 16.4.2 GPDMA channel state and direct programming without any linked-list 641
- 16.4.3 GPDMA channel suspend and resume . . . . . 642
- 16.4.4 GPDMA channel abort and restart . . . . . 643
- 16.4.5 GPDMA linked-list data structure . . . . . 644
- 16.4.6 Linked-list item transfer execution . . . . . 647
| 16.4.7 | GPDMA channel state and linked-list programming in run-to-completion mode . . . . . | 648 |
| 16.4.8 | GPDMA channel state and linked-list programming in link step mode | 651 |
| 16.4.9 | GPDMA channel state and linked-list programming . . . . . | 658 |
| 16.4.10 | GPDMA FIFO-based transfers . . . . . | 660 |
| 16.4.11 | GPDMA transfer request and arbitration . . . . . | 667 |
| 16.4.12 | GPDMA triggered transfer . . . . . | 671 |
| 16.4.13 | GPDMA circular buffering with linked-list programming . . . . . | 672 |
| 16.4.14 | GPDMA transfer in peripheral flow-control mode . . . . . | 674 |
| 16.4.15 | GPDMA secure/nonsecure channel . . . . . | 675 |
| 16.4.16 | GPDMA privileged/unprivileged channel . . . . . | 676 |
| 16.4.17 | GPDMA error management . . . . . | 676 |
| 16.5 | GPDMA in debug mode . . . . . | 678 |
| 16.6 | GPDMA in low-power modes . . . . . | 678 |
| 16.7 | GPDMA interrupts . . . . . | 679 |
| 16.8 | GPDMA registers . . . . . | 680 |
| 16.8.1 | GPDMA secure configuration register (GPDMA_SECCFGR) . . . . . | 680 |
| 16.8.2 | GPDMA privileged configuration register (GPDMA_PRIVCFGR) . . . . . | 681 |
| 16.8.3 | GPDMA configuration lock register (GPDMA_RCFGLOCKR) . . . . . | 681 |
| 16.8.4 | GPDMA nonsecure masked interrupt status register (GPDMA_MISR) . . . . . | 682 |
| 16.8.5 | GPDMA secure masked interrupt status register (GPDMA_SMISR) . . . . . | 683 |
| 16.8.6 | GPDMA channel x linked-list base address register (GPDMA_CxLBAR) . . . . . | 683 |
| 16.8.7 | GPDMA channel x flag clear register (GPDMA_CxFCR) . . . . . | 684 |
| 16.8.8 | GPDMA channel x status register (GPDMA_CxSR) . . . . . | 685 |
| 16.8.9 | GPDMA channel x control register (GPDMA_CxCR) . . . . . | 686 |
| 16.8.10 | GPDMA channel x transfer register 1 (GPDMA_CxTR1) . . . . . | 688 |
| 16.8.11 | GPDMA channel x transfer register 2 (GPDMA_CxTR2) . . . . . | 692 |
| 16.8.12 | GPDMA channel x block register 1 (GPDMA_CxBR1) . . . . . | 696 |
| 16.8.13 | GPDMA channel x alternate block register 1 (GPDMA_CxBR1) . . . . . | 697 |
| 16.8.14 | GPDMA channel x source address register (GPDMA_CxSAR) . . . . . | 700 |
| 16.8.15 | GPDMA channel x destination address register (GPDMA_CxDAR) . . . . . | 702 |
| 16.8.16 | GPDMA channel x transfer register 3 (GPDMA_CxTR3) . . . . . | 703 |
| 16.8.17 | GPDMA channel x block register 2 (GPDMA_CxBR2) . . . . . | 704 |
| 16.8.18 | GPDMA channel x linked-list address register (GPDMA_CxLLR) . . . . . | 705 |
| 16.8.19 | GPDMA channel x alternate linked-list address register (GPDMA_CxLLR) . . . . . | 707 |
| 16.8.20 | GPDMA register map . . . . . | 708 |
| 17 | Nested vectored interrupt controller (NVIC) . . . . . | 711 |
| 17.1 | NVIC main features . . . . . | 711 |
| 17.2 | SysTick calibration value register . . . . . | 711 |
| 17.3 | Interrupt and exception vectors . . . . . | 712 |
| 18 | Extended interrupts and event controller (EXTI) . . . . . | 722 |
| 18.1 | EXTI main features . . . . . | 722 |
| 18.2 | EXTI block diagram . . . . . | 722 |
| 18.2.1 | EXTI connections between peripherals and CPU . . . . . | 724 |
| 18.2.2 | EXTI interrupt/event mapping . . . . . | 724 |
| 18.3 | EXTI functional description . . . . . | 726 |
| 18.3.1 | EXTI configurable event input wake-up . . . . . | 726 |
| 18.3.2 | EXTI direct event input wake-up . . . . . | 727 |
| 18.3.3 | EXTI mux selection . . . . . | 728 |
| 18.4 | EXTI functional behavior . . . . . | 728 |
| 18.5 | EXTI event protection . . . . . | 729 |
| 18.5.1 | EXTI security protection . . . . . | 729 |
| 18.5.2 | EXTI privilege protection . . . . . | 730 |
| 18.6 | EXTI registers . . . . . | 731 |
| 18.6.1 | EXTI rising trigger selection register (EXTI_RTSR1) . . . . . | 731 |
| 18.6.2 | EXTI falling trigger selection register (EXTI_FTSR1) . . . . . | 731 |
| 18.6.3 | EXTI software interrupt event register (EXTI_SWIER1) . . . . . | 732 |
| 18.6.4 | EXTI rising edge pending register (EXTI_RPR1) . . . . . | 733 |
| 18.6.5 | EXTI falling edge pending register (EXTI_FPR1) . . . . . | 733 |
| 18.6.6 | EXTI security configuration register (EXTI_SECCFGR1) . . . . . | 734 |
| 18.6.7 | EXTI privilege configuration register (EXTI_PRIVCFGR1) . . . . . | 735 |
| 18.6.8 | EXTI rising trigger selection register 2 (EXTI_RTSR2) . . . . . | 735 |
| 18.6.9 | EXTI falling trigger selection register 2 (EXTI_FTSR2) . . . . . | 736 |
| 18.6.10 | EXTI software interrupt event register 2 (EXTI_SWIER2) . . . . . | 737 |
| 18.6.11 | EXTI rising edge pending register 2 (EXTI_RPR2) . . . . . | 739 |
| 18.6.12 | EXTI falling edge pending register 2 (EXTI_FPR2) . . . . . | 740 |
| 18.6.13 | EXTI security configuration register 2 (EXTI_SECCFGR2) . . . . . | 741 |
| 18.6.14 | EXTI privilege configuration register 2 (EXTI_PRIVCFGR2) . . . . . | 742 |
| 18.6.15 | EXTI external interrupt selection register (EXTI_EXTICR1) . . . . . | 742 |
| 18.6.16 | EXTI external interrupt selection register (EXTI_EXTICR2) . . . . . | 744 |
| 18.6.17 | EXTI external interrupt selection register (EXTI_EXTICR3) . . . . . | 746 |
| 18.6.18 | EXTI external interrupt selection register (EXTI_EXTICR4) . . . . . | 748 |
| 18.6.19 | EXTI lock register (EXTI_LOCKR) . . . . . | 750 |
| 18.6.20 | EXTI CPU wake-up with interrupt mask register (EXTI_IMR1) . . . . . | 751 |
| 18.6.21 | EXTI CPU wake-up with event mask register (EXTI_EM1) . . . . . | 751 |
| 18.6.22 | EXTI CPU wake-up with interrupt mask register 2 (EXTI_IMR2) . . . . . | 752 |
| 18.6.23 | EXTI CPU wake-up with event mask register 2 (EXTI_EM2) . . . . . | 753 |
| 18.6.24 | EXTI register map . . . . . | 754 |
| 19 | Cyclic redundancy check calculation unit (CRC) . . . . . | 756 |
| 19.1 | CRC introduction . . . . . | 756 |
| 19.2 | CRC main features . . . . . | 756 |
| 19.3 | CRC functional description . . . . . | 757 |
| 19.3.1 | CRC block diagram . . . . . | 757 |
| 19.3.2 | CRC internal signals . . . . . | 757 |
| 19.3.3 | CRC operation . . . . . | 757 |
| 19.4 | CRC registers . . . . . | 759 |
| 19.4.1 | CRC data register (CRC_DR) . . . . . | 759 |
| 19.4.2 | CRC independent data register (CRC_IDR) . . . . . | 759 |
| 19.4.3 | CRC control register (CRC_CR) . . . . . | 760 |
| 19.4.4 | CRC initial value (CRC_INIT) . . . . . | 761 |
| 19.4.5 | CRC polynomial (CRC_POL) . . . . . | 761 |
| 19.4.6 | CRC register map . . . . . | 762 |
| 20 | CORDIC coprocessor (CORDIC) . . . . . | 763 |
| 20.1 | CORDIC introduction . . . . . | 763 |
| 20.2 | CORDIC main features . . . . . | 763 |
| 20.3 | CORDIC functional description . . . . . | 763 |
| 20.3.1 | General description . . . . . | 763 |
| 20.3.2 | CORDIC functions . . . . . | 764 |
| 20.3.3 | Fixed point representation . . . . . | 770 |
| 20.3.4 | Scaling factor . . . . . | 771 |
| 20.3.5 | Precision . . . . . | 771 |
| 20.3.6 | Zero-overhead mode . . . . . | 774 |
| 20.3.7 | Polling mode . . . . . | 775 |
| 20.3.8 | Interrupt mode . . . . . | 776 |
| 20.3.9 | DMA mode . . . . . | 776 |
| 20.4 | CORDIC registers . . . . . | 777 |
| 20.4.1 | CORDIC control/status register (CORDIC_CSR) . . . . . | 777 |
| 20.4.2 | CORDIC argument register (CORDIC_WDATA) . . . . . | 779 |
| 20.4.3 | CORDIC result register (CORDIC_RDATA) . . . . . | 780 |
| 20.4.4 | CORDIC register map . . . . . | 780 |
| 21 | Filter math accelerator (FMAC) . . . . . | 781 |
| 21.1 | FMAC introduction . . . . . | 781 |
| 21.2 | FMAC main features . . . . . | 781 |
| 21.3 | FMAC functional description . . . . . | 782 |
| 21.3.1 | General description . . . . . | 782 |
| 21.3.2 | Local memory and buffers . . . . . | 783 |
| 21.3.3 | Input buffers . . . . . | 783 |
| 21.3.4 | Output buffer . . . . . | 786 |
| 21.3.5 | Initialization functions . . . . . | 788 |
| 21.3.6 | Filter functions . . . . . | 789 |
| 21.3.7 | Fixed point representation . . . . . | 793 |
| 21.3.8 | Implementing FIR filters with the FMAC . . . . . | 793 |
| 21.3.9 | Implementing IIR filters with the FMAC . . . . . | 795 |
| 21.3.10 | Examples of filter initialization . . . . . | 797 |
| 21.3.11 | Examples of filter operation . . . . . | 798 |
| 21.3.12 | Filter design tips . . . . . | 800 |
| 21.4 | FMAC registers . . . . . | 801 |
| 21.4.1 | FMAC X1 buffer configuration register (FMAC_X1BUFCFG) . . . . . | 801 |
| 21.4.2 | FMAC X2 buffer configuration register (FMAC_X2BUFCFG) . . . . . | 801 |
| 21.4.3 | FMAC Y buffer configuration register (FMAC_YBUFCFG) . . . . . | 802 |
| 21.4.4 | FMAC parameter register (FMAC_PARAM) . . . . . | 803 |
| 21.4.5 | FMAC control register (FMAC_CR) . . . . . | 804 |
| 21.4.6 | FMAC status register (FMAC_SR) . . . . . | 805 |
| 21.4.7 | FMAC write data register (FMAC_WDATA) . . . . . | 806 |
| 21.4.8 | FMAC read data register (FMAC_RDATA) . . . . . | 807 |
| 21.4.9 | FMAC register map . . . . . | 807 |
| 22 | Flexible memory controller (FMC) . . . . . | 809 |
| 22.1 | Introduction . . . . . | 809 |
| 22.2 | FMC main features . . . . . | 809 |
| 22.3 | FMC block diagram . . . . . | 810 |
| 22.4 | AHB interface . . . . . | 811 |
| 22.4.1 | Supported memories and transactions . . . . . | 812 |
| 22.5 | External device address mapping . . . . . | 813 |
| 22.5.1 | NOR/PSRAM address mapping . . . . . | 814 |
| 22.5.2 | NAND flash memory address mapping . . . . . | 814 |
| 22.5.3 | SDRAM address mapping . . . . . | 815 |
| 22.6 | NOR flash/PSRAM controller . . . . . | 817 |
| 22.6.1 | External memory interface signals . . . . . | 819 |
| 22.6.2 | Supported memories and transactions . . . . . | 821 |
| 22.6.3 | General timing rules . . . . . | 822 |
| 22.6.4 | NOR flash/PSRAM controller asynchronous transactions . . . . . | 822 |
| 22.6.5 | Synchronous transactions . . . . . | 840 |
| 22.6.6 | NOR/PSRAM controller registers . . . . . | 847 |
| 22.7 | NAND flash controller . . . . . | 855 |
| 22.7.1 | External memory interface signals . . . . . | 855 |
| 22.7.2 | NAND flash supported memories and transactions . . . . . | 856 |
| 22.7.3 | Timing diagrams for NAND flash memory . . . . . | 857 |
| 22.7.4 | NAND flash operations . . . . . | 858 |
| 22.7.5 | NAND flash prewait functionality . . . . . | 858 |
| 22.7.6 | Computation of the error correction code (ECC) in NAND flash memory . . . . . | 859 |
| 22.7.7 | NAND flash controller registers . . . . . | 860 |
| 22.8 | SDRAM controller . . . . . | 866 |
| 22.8.1 | SDRAM controller main features . . . . . | 866 |
| 22.8.2 | SDRAM External memory interface signals . . . . . | 866 |
| 22.8.3 | SDRAM controller functional description . . . . . | 867 |
| 22.8.4 | Low-power modes . . . . . | 873 |
| 22.8.5 | SDRAM controller registers . . . . . | 876 |
| 22.8.6 | FMC register map . . . . . | 882 |
| 23 | Octo-SPI interface (OCTOSPI) . . . . . | 885 |
| 23.1 | OCTOSPI introduction . . . . . | 885 |
| 23.2 | OCTOSPI main features . . . . . | 885 |
| 23.3 | OCTOSPI implementation . . . . . | 886 |
| 23.4 | OCTOSPI functional description . . . . . | 887 |
| 23.4.1 | OCTOSPI block diagram . . . . . | 887 |
| 23.4.2 | OCTOSPI pins and internal signals . . . . . | 888 |
| 23.4.3 | OCTOSPI interface to memory modes . . . . . | 889 |
| 23.4.4 | OCTOSPI regular-command protocol . . . . . | 889 |
| 23.4.5 | OCTOSPI regular-command protocol signal interface . . . . . | 893 |
| 23.4.6 | HyperBus protocol . . . . . | 896 |
| 23.4.7 | Specific features . . . . . | 900 |
| 23.4.8 | OCTOSPI operating mode introduction . . . . . | 901 |
| 23.4.9 | OCTOSPI indirect mode . . . . . | 901 |
| 23.4.10 | OCTOSPI automatic status-polling mode . . . . . | 903 |
| 23.4.11 | OCTOSPI memory-mapped mode . . . . . | 904 |
| 23.4.12 | OCTOSPI configuration introduction . . . . . | 905 |
| 23.4.13 | OCTOSPI system configuration . . . . . | 905 |
| 23.4.14 | OCTOSPI device configuration . . . . . | 905 |
| 23.4.15 | OCTOSPI regular-command mode configuration . . . . . | 908 |
| 23.4.16 | OCTOSPI HyperBus protocol configuration . . . . . | 910 |
| 23.4.17 | OCTOSPI error management . . . . . | 911 |
| 23.4.18 | OCTOSPI BUSY and ABORT . . . . . | 911 |
| 23.4.19 | OCTOSPI reconfiguration or deactivation . . . . . | 912 |
| 23.4.20 | NCS behavior . . . . . | 912 |
| 23.5 | Address alignment and data number . . . . . | 914 |
| 23.6 | OCTOSPI interrupts . . . . . | 915 |
| 23.7 | OCTOSPI registers . . . . . | 915 |
| 23.7.1 | OCTOSPI control register (OCTOSPI_CR) . . . . . | 915 |
| 23.7.2 | OCTOSPI device configuration register 1 (OCTOSPI_DCR1) . . . . . | 918 |
| 23.7.3 | OCTOSPI device configuration register 2 (OCTOSPI_DCR2) . . . . . | 920 |
| 23.7.4 | OCTOSPI device configuration register 3 (OCTOSPI_DCR3) . . . . . | 921 |
| 23.7.5 | OCTOSPI device configuration register 4 (OCTOSPI_DCR4) . . . . . | 921 |
| 23.7.6 | OCTOSPI status register (OCTOSPI_SR) . . . . . | 922 |
| 23.7.7 | OCTOSPI flag clear register (OCTOSPI_FCR) . . . . . | 923 |
| 23.7.8 | OCTOSPI data length register (OCTOSPI_DLR) . . . . . | 923 |
| 23.7.9 | OCTOSPI address register (OCTOSPI_AR) . . . . . | 924 |
| 23.7.10 | OCTOSPI data register (OCTOSPI_DR) . . . . . | 924 |
| 23.7.11 | OCTOSPI polling status mask register (OCTOSPI_PSMKR) . . . . . | 925 |
| 23.7.12 | OCTOSPI polling status match register (OCTOSPI_PSMAR) . . . . . | 926 |
| 23.7.13 | OCTOSPI polling interval register (OCTOSPI_PIR) . . . . . | 926 |
| 23.7.14 | OCTOSPI communication configuration register (OCTOSPI_CCR) . . | 926 |
| 23.7.15 | OCTOSPI timing configuration register (OCTOSPI_TCR) . . . . . | 928 |
| 23.7.16 | OCTOSPI instruction register (OCTOSPI_IR) . . . . . | 929 |
| 23.7.17 | OCTOSPI alternate bytes register (OCTOSPI_ABR) . . . . . | 929 |
| 23.7.18 | OCTOSPI low-power timeout register (OCTOSPI_LPTR) . . . . . | 930 |
| 23.7.19 | OCTOSPI wrap communication configuration register (OCTOSPI_WPCCR) . . . . . | 930 |
| 23.7.20 | OCTOSPI wrap timing configuration register (OCTOSPI_WPTCR) . . | 932 |
| 23.7.21 | OCTOSPI wrap instruction register (OCTOSPI_WPIR) . . . . . | 933 |
| 23.7.22 | OCTOSPI wrap alternate bytes register (OCTOSPI_WPABR) . . . . . | 933 |
| 23.7.23 | OCTOSPI write communication configuration register (OCTOSPI_WCCR) . . . . . | 934 |
| 23.7.24 | OCTOSPI write timing configuration register (OCTOSPI_WTCR) . . . . | 936 |
| 23.7.25 | OCTOSPI write instruction register (OCTOSPI_WIR) . . . . . | 936 |
| 23.7.26 | OCTOSPI write alternate bytes register (OCTOSPI_WABR) . . . . . | 937 |
| 23.7.27 | OCTOSPI HyperBus latency configuration register (OCTOSPI_HLCR) . . . . . | 937 |
| 23.7.28 | OCTOSPI register map . . . . . | 938 |
| 24 | Secure digital input/output MultiMediaCard interface (SDMMC) . . . | 941 |
| 24.1 | SDMMC main features . . . . . | 941 |
| 24.2 | SDMMC implementation . . . . . | 941 |
| 24.3 | SDMMC bus topology . . . . . | 942 |
| 24.4 | SDMMC operation modes . . . . . | 944 |
| 24.5 | SDMMC functional description . . . . . | 945 |
| 24.5.1 | SDMMC block diagram . . . . . | 945 |
| 24.5.2 | SDMMC pins and internal signals . . . . . | 945 |
| 24.5.3 | General description . . . . . | 946 |
| 24.5.4 | SDMMC adapter . . . . . | 948 |
| 24.5.5 | SDMMC AHB slave interface . . . . . | 970 |
| 24.5.6 | SDMMC AHB master interface . . . . . | 971 |
| 24.5.7 | AHB and SDMMC_CK clock relation . . . . . | 974 |
| 24.6 | Card functional description . . . . . | 974 |
| 24.6.1 | SD I/O mode . . . . . | 974 |
| 24.6.2 | CMD12 send timing . . . . . | 982 |
| 24.6.3 | Sleep (CMD5) . . . . . | 986 |
| 24.6.4 | Interrupt mode (Wait-IRQ) . . . . . | 987 |
| 24.6.5 | Boot operation . . . . . | 988 |
| 24.6.6 | Response R1b handling . . . . . | 991 |
| 24.6.7 | Reset and card cycle power . . . . . | 992 |
| 24.7 | Hardware flow control . . . . . | 993 |
| 24.8 | Ultra-high-speed phase I (UHS-I) voltage switch . . . . . | 993 |
| 24.9 | SDMMC interrupts . . . . . | 996 |
| 24.10 | SDMMC registers . . . . . | 998 |
| 24.10.1 | SDMMC power control register (SDMMC_POWER) . . . . . | 998 |
| 24.10.2 | SDMMC clock control register (SDMMC_CLKCR) . . . . . | 999 |
| 24.10.3 | SDMMC argument register (SDMMC_ARGR) . . . . . | 1001 |
| 24.10.4 | SDMMC command register (SDMMC_CMDR) . . . . . | 1001 |
| 24.10.5 | SDMMC command response register (SDMMC_RESPCMDR) . . . . . | 1003 |
| 24.10.6 | SDMMC response x register (SDMMC_RESPxR) . . . . . | 1004 |
| 24.10.7 | SDMMC data timer register (SDMMC_TIMER) . . . . . | 1004 |
| 24.10.8 | SDMMC data length register (SDMMC_DLENR) . . . . . | 1005 |
| 24.10.9 | SDMMC data control register (SDMMC_DCTRL) . . . . . | 1006 |
| 24.10.10 | SDMMC data counter register (SDMMC_DCNTR) . . . . . | 1007 |
| 24.10.11 | SDMMC status register (SDMMC_STAR) . . . . . | 1008 |
| 24.10.12 | SDMMC interrupt clear register (SDMMC_ICR) . . . . . | 1011 |
| 24.10.13 | SDMMC mask register (SDMMC_MASKR) . . . . . | 1013 |
| 24.10.14 | SDMMC acknowledgment timer register (SDMMC_ACKTIMER) . . . . . | 1016 |
| 24.10.15 | SDMMC DMA control register (SDMMC_IDMACTRLR) . . . . . | 1016 |
| 24.10.16 | SDMMC IDMA buffer size register (SDMMC_IDMABSIZER) . . . . . | 1017 |
| 24.10.17 | SDMMC IDMA buffer base address register (SDMMC_IDMABASER) . . . . . | 1018 |
| 24.10.18 | SDMMC IDMA linked list address register (SDMMC_IDMALAR) . . . . . | 1018 |
| 24.10.19 | SDMMC IDMA linked list memory base register (SDMMC_IDMABAR) . . . . . | 1019 |
| 24.10.20 | SDMMC data FIFO registers x (SDMMC_FIFORx) . . . . . | 1020 |
| 24.10.21 | SDMMC register map . . . . . | 1020 |
| 25 | Delay block (DLYB) . . . . . | 1023 |
| 25.1 | DLYB introduction . . . . . | 1023 |
| 25.2 | DLYB main features . . . . . | 1023 |
| 25.3 | DLYB implementation . . . . . | 1023 |
| 25.4 | DLYB functional description . . . . . | 1023 |
| 25.4.1 | DLYB diagram . . . . . | 1023 |
| 25.4.2 | DLYB pins and internal signals . . . . . | 1024 |
| 25.4.3 | General description . . . . . | 1024 |
| 25.4.4 | Delay line length configuration procedure . . . . . | 1025 |
| 25.4.5 | Output clock phase configuration procedure . . . . . | 1026 |
| 25.5 | DLYB registers . . . . . | 1026 |
| 25.5.1 | DLYB control register (DLYB_CR) . . . . . | 1026 |
| 25.5.2 | DLYB configuration register (DLYB_CFGR) . . . . . | 1027 |
| 25.5.3 | DLYB register map . . . . . | 1028 |
| 26 | Analog-to-digital converters (ADC1/2) . . . . . | 1029 |
| 26.1 | ADC introduction . . . . . | 1029 |
| 26.2 | ADC main features . . . . . | 1029 |
| 26.3 | ADC implementation . . . . . | 1031 |
| 26.4 | ADC functional description . . . . . | 1032 |
| 26.4.1 | ADC block diagram . . . . . | 1032 |
| 26.4.2 | ADC pins and internal signals . . . . . | 1033 |
| 26.4.3 | ADC clocks . . . . . | 1036 |
| 26.4.4 | ADC connectivity . . . . . | 1038 |
| 26.4.5 | Slave AHB interface . . . . . | 1040 |
| 26.4.6 | ADC Deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN) . . . . . | 1040 |
| 26.4.7 | Single-ended and differential input channels . . . . . | 1041 |
| 26.4.8 | Calibration (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . | 1041 |
| 26.4.9 | ADC on-off control (ADEN, ADDIS, ADRDY) . . . . . | 1044 |
| 26.4.10 | Constraints when writing the ADC control bits . . . . . | 1045 |
| 26.4.11 | Channel selection (ADC_SQRy, ADC_JSQR) . . . . . | 1046 |
| 26.4.12 | Channel-wise programmable sampling time (SMPR1, SMPR2) . . . . . | 1047 |
| 26.4.13 | Single conversion mode (CONT = 0) . . . . . | 1049 |
| 26.4.14 | Continuous conversion mode (CONT = 1) . . . . . | 1049 |
| 26.4.15 | Starting conversions (ADSTART, JADSTART) . . . . . | 1050 |
| 26.4.16 | ADC timing . . . . . | 1051 |
| 26.4.17 | Stopping an ongoing conversion (ADSTP, JADSTP) . . . . . | 1052 |
| 26.4.18 | Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . | 1053 |
| 26.4.19 | Injected channel management . . . . . | 1055 |
| 26.4.20 | Discontinuous mode (DISCEN, DISCNUM, JDISCEN) . . . . . | 1056 |
| 26.4.21 | Queue of context for injected conversions . . . . . | 1057 |
| 26.4.22 | Programmable resolution (RES) - fast conversion mode . . . . . | 1065 |
| 26.4.23 | End of conversion, end of sampling phase (EOC, JEOC, EOSMP) . . . . . | 1066 |
| 26.4.24 | End of conversion sequence (EOS, JEOS) . . . . . | 1066 |
| 26.4.25 | Timing diagrams example (single/continuous modes, hardware/software triggers) . . . . . | 1067 |
| 26.4.26 | Data management . . . . . | 1069 |
| 26.4.27 | Dynamic low-power features . . . . . | 1075 |
| 26.4.28 | Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . | 1080 |
| 26.4.29 | Oversampler . . . . . | 1084 |
| 26.4.30 | Dual ADC modes . . . . . | 1091 |
| 26.4.31 | Temperature sensor . . . . . | 1104 |
| 26.4.32 | VBAT supply monitoring . . . . . | 1106 |
| 26.4.33 | Monitoring the internal voltage reference . . . . . | 1107 |
| 26.4.34 | Monitoring the supply voltage . . . . . | 1108 |
| 26.5 | ADC interrupts . . . . . | 1109 |
| 26.6 | ADC registers (for each ADC) . . . . . | 1110 |
| 26.6.1 | ADC interrupt and status register (ADC_ISR) . . . . . | 1110 |
| 26.6.2 | ADC interrupt enable register (ADC_IER) . . . . . | 1112 |
| 26.6.3 | ADC control register (ADC_CR) . . . . . | 1114 |
| 26.6.4 | ADC configuration register (ADC_CFGR) . . . . . | 1117 |
| 26.6.5 | ADC configuration register 2 (ADC_CFGR2) . . . . . | 1122 |
| 26.6.6 | ADC sample time register 1 (ADC_SMPR1) . . . . . | 1124 |
| 26.6.7 | ADC sample time register 2 (ADC_SMPR2) . . . . . | 1125 |
| 26.6.8 | ADC watchdog threshold register 1 (ADC_TR1) . . . . . | 1126 |
| 26.6.9 | ADC watchdog threshold register 2 (ADC_TR2) . . . . . | 1127 |
| 26.6.10 | ADC watchdog threshold register 3 (ADC_TR3) . . . . . | 1128 |
| 26.6.11 | ADC regular sequence register 1 (ADC_SQR1) . . . . . | 1128 |
| 26.6.12 | ADC regular sequence register 2 (ADC_SQR2) . . . . . | 1129 |
| 26.6.13 | ADC regular sequence register 3 (ADC_SQR3) . . . . . | 1130 |
| 26.6.14 | ADC regular sequence register 4 (ADC_SQR4) . . . . . | 1131 |
| 26.6.15 | ADC regular data register (ADC_DR) . . . . . | 1132 |
| 26.6.16 | ADC injected sequence register (ADC_JSQR) . . . . . | 1132 |
| 26.6.17 | ADC offset y register (ADC_OFRy) . . . . . | 1135 |
| 26.6.18 | ADC injected channel y data register (ADC_JDRy) . . . . . | 1136 |
| 26.6.19 | ADC analog watchdog 2 configuration register (ADC_AWD2CR) . . . . . | 1137 |
| 26.6.20 | ADC analog watchdog 3 configuration register (ADC_AWD3CR) . . . . . | 1137 |
| 26.6.21 | ADC Differential mode selection register (ADC_DIFSEL) . . . . . | 1138 |
| 26.6.22 | ADC calibration factors (ADC_CALFACT) . . . . . | 1139 |
| 26.6.23 | ADC option register (ADC_OR) . . . . . | 1139 |
| 26.7 | ADC common registers . . . . . | 1140 |
| 26.7.1 | ADC common status register (ADC_CSR) . . . . . | 1140 |
| 26.7.2 | ADC common control register (ADC_CCR) . . . . . | 1142 |
| 26.7.3 | ADC common regular data register for dual mode (ADC_CDR) . . . . . | 1145 |
| 26.8 | ADC register map . . . . . | 1146 |
| 27 | Digital temperature sensor (DTS) . . . . . | 1150 |
| 27.1 | DTS introduction . . . . . | 1150 |
| 27.2 | DTS main features . . . . . | 1150 |
| 27.3 | DTS functional description . . . . . | 1151 |
| 27.3.1 | DTS block diagram . . . . . | 1151 |
| 27.3.2 | DTS internal signals . . . . . | 1151 |
| 27.3.3 | DTS block operation . . . . . | 1152 |
| 27.3.4 | Operating modes . . . . . | 1152 |
| 27.3.5 | Calibration . . . . . | 1152 |
| 27.3.6 | Prescaler . . . . . | 1152 |
| 27.3.7 | Temperature measurement principles . . . . . | 1153 |
| 27.3.8 | Sampling time . . . . . | 1154 |
| 27.3.9 | Quick measurement mode . . . . . | 1154 |
| 27.3.10 | Trigger input . . . . . | 1155 |
| 27.3.11 | On-off control and ready flag . . . . . | 1155 |
| 27.3.12 | Temperature measurement sequence . . . . . | 1156 |
| 27.4 | DTS low-power modes . . . . . | 1157 |
| 27.5 | DTS interrupts . . . . . | 1157 |
| 27.5.1 | Temperature window comparator . . . . . | 1157 |
| 27.5.2 | Synchronous interrupt . . . . . | 1157 |
| 27.5.3 | Asynchronous wakeup . . . . . | 1157 |
| 27.6 | DTS registers . . . . . | 1158 |
| 27.6.1 | Temperature sensor configuration register 1 (DTS_CFGR1) . . . . . | 1158 |
| 27.6.2 | Temperature sensor T0 value register 1 (DTS_T0VALR1) . . . . . | 1160 |
| 27.6.3 | Temperature sensor ramp value register (DTS_RAMPVALR) . . . . . | 1160 |
| 27.6.4 | Temperature sensor interrupt threshold register 1 (DTS_ITR1) . . . . . | 1161 |
| 27.6.5 | Temperature sensor data register (DTS_DR) . . . . . | 1161 |
- 27.6.6 Temperature sensor status register (DTS_SR) . . . . . 1162
- 27.6.7 Temperature sensor interrupt enable register (DTS_ITENR) . . . . . 1163
- 27.6.8 Temperature sensor clear interrupt flag register (DTS_ICIFR) . . . . . 1164
- 27.6.9 Temperature sensor option register (DTS_OR) . . . . . 1165
- 27.6.10 DTS register map . . . . . 1166
28 Digital-to-analog converter (DAC) . . . . . 1167
- 28.1 DAC introduction . . . . . 1167
- 28.2 DAC main features . . . . . 1167
- 28.3 DAC implementation . . . . . 1168
- 28.4 DAC functional description . . . . . 1169
- 28.4.1 DAC block diagram . . . . . 1169
- 28.4.2 DAC pins and internal signals . . . . . 1170
- 28.4.3 DAC clocks . . . . . 1171
- 28.4.4 DAC channel enable . . . . . 1171
- 28.4.5 DAC data format . . . . . 1171
- 28.4.6 DAC conversion . . . . . 1173
- 28.4.7 DAC output voltage . . . . . 1174
- 28.4.8 DAC trigger selection . . . . . 1174
- 28.4.9 DMA requests . . . . . 1175
- 28.4.10 Noise generation . . . . . 1176
- 28.4.11 Triangle-wave generation . . . . . 1177
- 28.4.12 DAC channel modes . . . . . 1178
- 28.4.13 DAC channel buffer calibration . . . . . 1181
- 28.4.14 DAC channel conversion modes . . . . . 1182
- 28.4.15 Dual DAC channel conversion modes (if dual channels are available) . . . . . 1183
- 28.5 DAC in low-power modes . . . . . 1187
- 28.6 DAC interrupts . . . . . 1188
- 28.7 DAC registers . . . . . 1188
- 28.7.1 DAC control register (DAC_CR) . . . . . 1188
- 28.7.2 DAC software trigger register (DAC_SWTRGR) . . . . . 1191
- 28.7.3 DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . . 1192
- 28.7.4 DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . . 1193
| 28.7.5 | DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . . | 1193 |
| 28.7.6 | DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2) . . . . . | 1194 |
| 28.7.7 | DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . . | 1194 |
| 28.7.8 | DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . . | 1195 |
| 28.7.9 | Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . . | 1195 |
| 28.7.10 | Dual DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . . | 1196 |
| 28.7.11 | Dual DAC 8-bit right aligned data holding register (DAC_DHR8RD) . . . . . | 1196 |
| 28.7.12 | DAC channel1 data output register (DAC_DOR1) . . . . . | 1197 |
| 28.7.13 | DAC channel2 data output register (DAC_DOR2) . . . . . | 1197 |
| 28.7.14 | DAC status register (DAC_SR) . . . . . | 1198 |
| 28.7.15 | DAC calibration control register (DAC_CCR) . . . . . | 1199 |
| 28.7.16 | DAC mode control register (DAC_MCR) . . . . . | 1200 |
| 28.7.17 | DAC channel1 sample and hold sample time register (DAC_SHSR1) . . . . . | 1201 |
| 28.7.18 | DAC channel2 sample and hold sample time register (DAC_SHSR2) . . . . . | 1202 |
| 28.7.19 | DAC sample and hold time register (DAC_SHHR) . . . . . | 1202 |
| 28.7.20 | DAC sample and hold refresh time register (DAC_SHRR) . . . . . | 1203 |
| 28.7.21 | DAC register map . . . . . | 1204 |
| 29 | Voltage reference buffer (VREFBUF) . . . . . | 1207 |
| 29.1 | VREFBUF introduction . . . . . | 1207 |
| 29.2 | VREFBUF implementation . . . . . | 1207 |
| 29.3 | VREFBUF functional description . . . . . | 1207 |
| 29.4 | VREFBUF trimming . . . . . | 1208 |
| 29.5 | VREFBUF registers . . . . . | 1209 |
| 29.5.1 | VREFBUF control and status register (VREFBUF_CSR) . . . . . | 1209 |
| 29.5.2 | VREFBUF calibration control register (VREFBUF_CCR) . . . . . | 1210 |
| 29.5.3 | VREFBUF register map . . . . . | 1210 |
| 30 | Digital camera interface (DCMI) . . . . . | 1211 |
| 30.1 | DCMI introduction . . . . . | 1211 |
| 30.2 | DCMI main features . . . . . | 1211 |
| 30.3 | DCMI functional description . . . . . | 1211 |
| 30.3.1 | DCMI block diagram . . . . . | 1212 |
| 30.3.2 | DCMI pins and internal signals . . . . . | 1212 |
| 30.3.3 | DCMI clocks . . . . . | 1213 |
| 30.3.4 | DCMI DMA interface . . . . . | 1213 |
| 30.3.5 | DCMI physical interface . . . . . | 1213 |
| 30.3.6 | DCMI synchronization . . . . . | 1215 |
| 30.3.7 | DCMI capture modes . . . . . | 1217 |
| 30.3.8 | DCMI crop feature . . . . . | 1218 |
| 30.3.9 | DCMI JPEG format . . . . . | 1219 |
| 30.3.10 | DCMI FIFO . . . . . | 1219 |
| 30.3.11 | DCMI data format description . . . . . | 1220 |
| 30.4 | DCMI interrupts . . . . . | 1222 |
| 30.5 | DCMI registers . . . . . | 1222 |
| 30.5.1 | DCMI control register (DCMI_CR) . . . . . | 1222 |
| 30.5.2 | DCMI status register (DCMI_SR) . . . . . | 1225 |
| 30.5.3 | DCMI raw interrupt status register (DCMI_RIS) . . . . . | 1225 |
| 30.5.4 | DCMI interrupt enable register (DCMI_IER) . . . . . | 1226 |
| 30.5.5 | DCMI masked interrupt status register (DCMI_MIS) . . . . . | 1227 |
| 30.5.6 | DCMI interrupt clear register (DCMI_ICR) . . . . . | 1228 |
| 30.5.7 | DCMI embedded synchronization code register (DCMI_ESCR) . . . . . | 1229 |
| 30.5.8 | DCMI embedded synchronization unmask register (DCMI_ESUR) . . . . . | 1229 |
| 30.5.9 | DCMI crop window start (DCMI_CWSTRT) . . . . . | 1230 |
| 30.5.10 | DCMI crop window size (DCMI_CWSIZE) . . . . . | 1231 |
| 30.5.11 | DCMI data register (DCMI_DR) . . . . . | 1231 |
| 30.5.12 | DCMI register map . . . . . | 1232 |
| 31 | Parallel synchronous slave interface (PSSI) . . . . . | 1233 |
| 31.1 | PSSI introduction . . . . . | 1233 |
| 31.2 | PSSI main features . . . . . | 1233 |
| 31.3 | PSSI functional description . . . . . | 1233 |
| 31.3.1 | PSSI block diagram . . . . . | 1234 |
| 31.3.2 | PSSI pins and internal signals . . . . . | 1234 |
| 31.3.3 | PSSI clock . . . . . | 1235 |
| 31.3.4 | PSSI data management . . . . . | 1235 |
| 31.3.5 | PSSI optional control signals . . . . . | 1237 |
| 31.4 | PSSI interrupts . . . . . | 1240 |
| 31.5 | PSSI registers . . . . . | 1241 |
| 31.5.1 | PSSI control register (PSSI_CR) . . . . . | 1241 |
| 31.5.2 | PSSI status register (PSSI_SR) . . . . . | 1242 |
| 31.5.3 | PSSI raw interrupt status register (PSSI_RIS) . . . . . | 1243 |
| 31.5.4 | PSSI interrupt enable register (PSSI_IER) . . . . . | 1244 |
| 31.5.5 | PSSI masked interrupt status register (PSSI_MIS) . . . . . | 1244 |
| 31.5.6 | PSSI interrupt clear register (PSSI_ICR) . . . . . | 1245 |
| 31.5.7 | PSSI data register (PSSI_DR) . . . . . | 1245 |
| 31.5.8 | PSSI register map . . . . . | 1246 |
| 32 | True random number generator (RNG) . . . . . | 1247 |
| 32.1 | RNG introduction . . . . . | 1247 |
| 32.2 | RNG main features . . . . . | 1247 |
| 32.3 | RNG functional description . . . . . | 1248 |
| 32.3.1 | RNG block diagram . . . . . | 1248 |
| 32.3.2 | RNG internal signals . . . . . | 1248 |
| 32.3.3 | Random number generation . . . . . | 1248 |
| 32.3.4 | RNG initialization . . . . . | 1251 |
| 32.3.5 | RNG operation . . . . . | 1252 |
| 32.3.6 | RNG clocking . . . . . | 1254 |
| 32.3.7 | Error management . . . . . | 1254 |
| 32.3.8 | RNG low-power use . . . . . | 1255 |
| 32.4 | RNG interrupts . . . . . | 1256 |
| 32.5 | RNG processing time . . . . . | 1256 |
| 32.6 | RNG entropy source validation . . . . . | 1257 |
| 32.6.1 | Introduction . . . . . | 1257 |
| 32.6.2 | Validation conditions . . . . . | 1257 |
| 32.7 | RNG registers . . . . . | 1258 |
| 32.7.1 | RNG control register (RNG_CR) . . . . . | 1258 |
| 32.7.2 | RNG status register (RNG_SR) . . . . . | 1260 |
| 32.7.3 | RNG data register (RNG_DR) . . . . . | 1261 |
| 32.7.4 | RNG noise source control register (RNG_NSCR) . . . . . | 1262 |
| 32.7.5 | RNG health test control register (RNG_HTCR) . . . . . | 1263 |
| 32.7.6 | RNG register map . . . . . | 1263 |
| 33 | AES hardware accelerator (AES) . . . . . | 1264 |
| 33.1 | AES introduction . . . . . | 1264 |
| 33.2 | AES main features . . . . . | 1264 |
| 33.3 | AES implementation . . . . . | 1265 |
| 33.4 | AES functional description . . . . . | 1265 |
| 33.4.1 | AES block diagram . . . . . | 1265 |
| 33.4.2 | AES internal signals . . . . . | 1266 |
| 33.4.3 | AES reset and clocks . . . . . | 1266 |
| 33.4.4 | AES symmetric cipher implementation . . . . . | 1266 |
| 33.4.5 | AES encryption or decryption typical usage . . . . . | 1267 |
| 33.4.6 | AES authenticated encryption, decryption, and cipher-based message authentication . . . . . | 1270 |
| 33.4.7 | AES ciphertext stealing and data padding . . . . . | 1270 |
| 33.4.8 | AES suspend and resume operations . . . . . | 1271 |
| 33.4.9 | AES basic chaining modes (ECB, CBC) . . . . . | 1271 |
| 33.4.10 | AES counter (CTR) mode . . . . . | 1275 |
| 33.4.11 | AES Galois/counter mode (GCM) . . . . . | 1277 |
| 33.4.12 | AES Galois message authentication code (GMAC) . . . . . | 1282 |
| 33.4.13 | AES counter with CBC-MAC (CCM) . . . . . | 1283 |
| 33.4.14 | AES key sharing with secure AES co-processor . . . . . | 1288 |
| 33.4.15 | AES data registers and data swapping . . . . . | 1289 |
| 33.4.16 | AES key registers . . . . . | 1291 |
| 33.4.17 | AES initialization vector registers . . . . . | 1291 |
| 33.4.18 | AES error management . . . . . | 1292 |
| 33.5 | AES interrupts . . . . . | 1293 |
| 33.6 | AES DMA requests . . . . . | 1293 |
| 33.7 | AES processing latency . . . . . | 1294 |
| 33.8 | AES registers . . . . . | 1296 |
| 33.8.1 | AES control register (AES_CR) . . . . . | 1296 |
| 33.8.2 | AES status register (AES_SR) . . . . . | 1298 |
| 33.8.3 | AES data input register (AES_DINR) . . . . . | 1299 |
| 33.8.4 | AES data output register (AES_DOUTR) . . . . . | 1300 |
| 33.8.5 | AES key register 0 (AES_KEYR0) . . . . . | 1300 |
| 33.8.6 | AES key register 1 (AES_KEYR1) . . . . . | 1301 |
| 33.8.7 | AES key register 2 (AES_KEYR2) . . . . . | 1301 |
| 33.8.8 | AES key register 3 (AES_KEYR3) . . . . . | 1301 |
| 33.8.9 | AES initialization vector register 0 (AES_IVR0) . . . . . | 1302 |
| 33.8.10 | AES initialization vector register 1 (AES_IVR1) . . . . . | 1302 |
| 33.8.11 | AES initialization vector register 2 (AES_IVR2) . . . . . | 1302 |
| 33.8.12 | AES initialization vector register 3 (AES_IVR3) . . . . . | 1303 |
| 33.8.13 | AES key register 4 (AES_KEYR4) . . . . . | 1303 |
| 33.8.14 | AES key register 5 (AES_KEYR5) . . . . . | 1303 |
| 33.8.15 | AES key register 6 (AES_KEYR6) . . . . . | 1304 |
| 33.8.16 | AES key register 7 (AES_KEYR7) . . . . . | 1304 |
| 33.8.17 | AES suspend registers (AES_SUSPRx) . . . . . | 1304 |
| 33.8.18 | AES interrupt enable register (AES_IER) . . . . . | 1305 |
| 33.8.19 | AES interrupt status register (AES_ISR) . . . . . | 1306 |
| 33.8.20 | AES interrupt clear register (AES_ICR) . . . . . | 1307 |
| 33.8.21 | AES register map . . . . . | 1307 |
| 34 | Secure AES coprocessor (SAES) . . . . . | 1310 |
| 34.1 | SAES introduction . . . . . | 1310 |
| 34.2 | SAES main features . . . . . | 1310 |
| 34.3 | SAES implementation . . . . . | 1311 |
| 34.4 | SAES functional description . . . . . | 1311 |
| 34.4.1 | SAES block diagram . . . . . | 1311 |
| 34.4.2 | SAES internal signals . . . . . | 1312 |
| 34.4.3 | SAES reset and clocks . . . . . | 1313 |
| 34.4.4 | SAES symmetric cipher implementation . . . . . | 1313 |
| 34.4.5 | SAES encryption or decryption typical usage . . . . . | 1314 |
| 34.4.6 | SAES authenticated encryption, decryption, and cipher-based message authentication . . . . . | 1316 |
| 34.4.7 | SAES ciphertext stealing and data padding . . . . . | 1317 |
| 34.4.8 | SAES suspend and resume operations . . . . . | 1317 |
| 34.4.9 | SAES basic chaining modes (ECB, CBC) . . . . . | 1318 |
| 34.4.10 | SAES counter (CTR) mode . . . . . | 1322 |
| 34.4.11 | SAES Galois/counter mode (GCM) . . . . . | 1324 |
| 34.4.12 | SAES Galois message authentication code (GMAC) . . . . . | 1328 |
| 34.4.13 | SAES counter with CBC-MAC (CCM) . . . . . | 1330 |
| 34.4.14 | SAES operation with wrapped keys . . . . . | 1335 |
| 34.4.15 | SAES operation with shared keys . . . . . | 1339 |
| 34.4.16 | SAES data registers and data swapping . . . . . | 1340 |
| 34.4.17 | SAES key registers . . . . . | 1343 |
| 34.4.18 | SAES initialization vector registers . . . . . | 1344 |
| 34.4.19 | SAES error management . . . . . | 1345 |
| 34.5 | SAES interrupts . . . . . | 1347 |
| 34.6 | SAES DMA requests . . . . . | 1347 |
| 34.7 | SAES processing latency . . . . . | 1348 |
| 34.8 | SAES registers . . . . . | 1350 |
| 34.8.1 | SAES control register (SAES_CR) . . . . . | 1350 |
| 34.8.2 | SAES status register (SAES_SR) . . . . . | 1353 |
| 34.8.3 | SAES data input register (SAES_DINR) . . . . . | 1354 |
| 34.8.4 | SAES data output register (SAES_DOUTR) . . . . . | 1355 |
| 34.8.5 | SAES key register 0 (SAES_KEYR0) . . . . . | 1355 |
| 34.8.6 | SAES key register 1 (SAES_KEYR1) . . . . . | 1356 |
| 34.8.7 | SAES key register 2 (SAES_KEYR2) . . . . . | 1356 |
| 34.8.8 | SAES key register 3 (SAES_KEYR3) . . . . . | 1356 |
| 34.8.9 | SAES initialization vector register 0 (SAES_IVR0) . . . . . | 1357 |
| 34.8.10 | SAES initialization vector register 1 (SAES_IVR1) . . . . . | 1357 |
| 34.8.11 | SAES initialization vector register 2 (SAES_IVR2) . . . . . | 1357 |
| 34.8.12 | SAES initialization vector register 3 (SAES_IVR3) . . . . . | 1358 |
| 34.8.13 | SAES key register 4 (SAES_KEYR4) . . . . . | 1358 |
| 34.8.14 | SAES key register 5 (SAES_KEYR5) . . . . . | 1358 |
| 34.8.15 | SAES key register 6 (SAES_KEYR6) . . . . . | 1359 |
| 34.8.16 | SAES key register 7 (SAES_KEYR7) . . . . . | 1359 |
| 34.8.17 | SAES suspend registers (SAES_SUSPRx) . . . . . | 1359 |
| 34.8.18 | SAES interrupt enable register (SAES_IER) . . . . . | 1360 |
| 34.8.19 | SAES interrupt status register (SAES_ISR) . . . . . | 1361 |
| 34.8.20 | SAES interrupt clear register (SAES_ICR) . . . . . | 1362 |
| 34.8.21 | SAES register map . . . . . | 1363 |
| 35 | Hash processor (HASH) . . . . . | 1365 |
| 35.1 | HASH introduction . . . . . | 1365 |
| 35.2 | HASH main features . . . . . | 1365 |
| 35.3 | HASH implementation . . . . . | 1366 |
| 35.4 | HASH functional description . . . . . | 1366 |
| 35.4.1 | HASH block diagram . . . . . | 1366 |
| 35.4.2 | HASH internal signals . . . . . | 1366 |
| 35.4.3 | About secure hash algorithms . . . . . | 1367 |
| 35.4.4 | Message data feeding . . . . . | 1367 |
| 35.4.5 | Message digest computing . . . . . | 1368 |
| 35.4.6 | Message padding . . . . . | 1370 |
| 35.4.7 | HMAC operation . . . . . | 1371 |
| 35.4.8 | HASH suspend/resume operations . . . . . | 1373 |
| 35.4.9 | HASH DMA interface . . . . . | 1375 |
| 35.4.10 | HASH error management . . . . . | 1376 |
| 35.4.11 | HASH processing time . . . . . | 1376 |
| 35.5 | HASH interrupts . . . . . | 1377 |
| 35.6 | HASH registers . . . . . | 1377 |
| 35.6.1 | HASH control register (HASH_CR) . . . . . | 1377 |
| 35.6.2 | HASH data input register (HASH_DIN) . . . . . | 1379 |
| 35.6.3 | HASH start register (HASH_STR) . . . . . | 1380 |
| 35.6.4 | HASH digest registers . . . . . | 1381 |
| 35.6.5 | HASH interrupt enable register (HASH_IMR) . . . . . | 1383 |
| 35.6.6 | HASH status register (HASH_SR) . . . . . | 1383 |
| 35.6.7 | HASH context swap registers . . . . . | 1384 |
| 35.6.8 | HASH register map . . . . . | 1385 |
| 36 | Public key accelerator (PKA) . . . . . | 1387 |
| 36.1 | PKA introduction . . . . . | 1387 |
| 36.2 | PKA main features . . . . . | 1387 |
| 36.3 | PKA implementation . . . . . | 1387 |
| 36.4 | PKA functional description . . . . . | 1388 |
| 36.4.1 | PKA block diagram . . . . . | 1388 |
| 36.4.2 | PKA internal signals . . . . . | 1388 |
| 36.4.3 | PKA reset and clocks . . . . . | 1388 |
| 36.4.4 | PKA public key acceleration . . . . . | 1389 |
| 36.4.5 | Typical applications for PKA . . . . . | 1391 |
| 36.4.6 | PKA procedure to perform an operation . . . . . | 1393 |
| 36.4.7 | PKA error management . . . . . | 1394 |
| 36.5 | PKA operating modes . . . . . | 1395 |
| 36.5.1 | Introduction . . . . . | 1395 |
| 36.5.2 | Montgomery parameter computation . . . . . | 1396 |
| 36.5.3 | Modular addition . . . . . | 1396 |
| 36.5.4 | Modular subtraction . . . . . | 1397 |
- 36.5.5 Modular and Montgomery multiplication . . . . . 1397
- 36.5.6 Modular exponentiation . . . . . 1398
- 36.5.7 Modular inversion . . . . . 1400
- 36.5.8 Modular reduction . . . . . 1400
- 36.5.9 Arithmetic addition . . . . . 1401
- 36.5.10 Arithmetic subtraction . . . . . 1401
- 36.5.11 Arithmetic multiplication . . . . . 1402
- 36.5.12 Arithmetic comparison . . . . . 1402
- 36.5.13 RSA CRT exponentiation . . . . . 1402
- 36.5.14 Point on elliptic curve Fp check . . . . . 1403
- 36.5.15 ECC Fp scalar multiplication . . . . . 1404
- 36.5.16 ECDSA sign . . . . . 1405
- 36.5.17 ECDSA verification . . . . . 1407
- 36.5.18 ECC complete addition . . . . . 1408
- 36.5.19 ECC double base ladder . . . . . 1408
- 36.5.20 ECC projective to affine . . . . . 1409
- 36.6 Example of configurations and processing times . . . . . 1410
- 36.6.1 Supported elliptic curves . . . . . 1410
- 36.6.2 Computation times . . . . . 1412
- 36.7 PKA interrupts . . . . . 1414
- 36.8 PKA registers . . . . . 1415
- 36.8.1 PKA control register (PKA_CR) . . . . . 1415
- 36.8.2 PKA status register (PKA_SR) . . . . . 1417
- 36.8.3 PKA clear flag register (PKA_CLRFR) . . . . . 1418
- 36.8.4 PKA RAM . . . . . 1418
- 36.8.5 PKA register map . . . . . 1419
37 On-the-fly decryption engine (OTFDEC) . . . . . 1420
- 37.1 OTFDEC introduction . . . . . 1420
- 37.2 OTFDEC main features . . . . . 1420
- 37.3 OTFDEC functional description . . . . . 1421
- 37.3.1 OTFDEC block diagram . . . . . 1421
- 37.3.2 OTFDEC internal signals . . . . . 1421
- 37.3.3 OTFDEC on-the-fly decryption . . . . . 1422
- 37.3.4 OTFDEC usage of AES in counter mode decryption . . . . . 1423
- 37.3.5 Flow control management . . . . . 1424
| 37.3.6 | OTFDEC error management . . . . . | 1424 |
| 37.4 | OTFDEC interrupts . . . . . | 1425 |
| 37.5 | OTFDEC application information . . . . . | 1425 |
| 37.5.1 | OTFDEC initialization process . . . . . | 1425 |
| 37.5.2 | OTFDEC and power management . . . . . | 1427 |
| 37.5.3 | Encrypting for OTFDEC . . . . . | 1427 |
| 37.5.4 | OTFDEC key CRC source code . . . . . | 1428 |
| 37.6 | OTFDEC registers . . . . . | 1429 |
| 37.6.1 | OTFDEC control register (OTFDEC_CR) . . . . . | 1429 |
| 37.6.2 | OTFDEC privileged access control configuration register (OTFDEC_PRIVCFGGR) . . . . . | 1430 |
| 37.6.3 | OTFDEC region x configuration register (OTFDEC_RxCFGR) . . . . . | 1430 |
| 37.6.4 | OTFDEC region x start address register (OTFDEC_RxSTARTADDR) . . . . . | 1432 |
| 37.6.5 | OTFDEC region x end address register (OTFDEC_RxENDADDR) . . . . . | 1432 |
| 37.6.6 | OTFDEC region x nonce register 0 (OTFDEC_RxNONCER0) . . . . . | 1433 |
| 37.6.7 | OTFDEC region x nonce register 1 (OTFDEC_RxNONCER1) . . . . . | 1434 |
| 37.6.8 | OTFDEC region x key register 0 (OTFDEC_RxKEYR0) . . . . . | 1434 |
| 37.6.9 | OTFDEC region x key register 1 (OTFDEC_RxKEYR1) . . . . . | 1435 |
| 37.6.10 | OTFDEC region x key register 2 (OTFDEC_RxKEYR2) . . . . . | 1435 |
| 37.6.11 | OTFDEC region x key register 3 (OTFDEC_RxKEYR3) . . . . . | 1436 |
| 37.6.12 | OTFDEC interrupt status register (OTFDEC_ISR) . . . . . | 1436 |
| 37.6.13 | OTFDEC interrupt clear register (OTFDEC_ICR) . . . . . | 1437 |
| 37.6.14 | OTFDEC interrupt enable register (OTFDEC_IER) . . . . . | 1438 |
| 37.6.15 | OTFDEC register map . . . . . | 1439 |
| 38 | Advanced-control timers (TIM1/TIM8) . . . . . | 1443 |
| 38.1 | TIM1/TIM8 introduction . . . . . | 1443 |
| 38.2 | TIM1/TIM8 main features . . . . . | 1443 |
| 38.3 | TIM1/TIM8 functional description . . . . . | 1444 |
| 38.3.1 | Block diagram . . . . . | 1444 |
| 38.3.2 | TIM1/TIM8 pins and internal signals . . . . . | 1445 |
| 38.3.3 | Time-base unit . . . . . | 1449 |
| 38.3.4 | Counter modes . . . . . | 1451 |
| 38.3.5 | Repetition counter . . . . . | 1463 |
| 38.3.6 | External trigger input . . . . . | 1464 |
| 38.3.7 | Clock selection . . . . . | 1465 |
- 38.3.8 Capture/compare channels . . . . . 1469
- 38.3.9 Input capture mode . . . . . 1472
- 38.3.10 PWM input mode . . . . . 1473
- 38.3.11 Forced output mode . . . . . 1474
- 38.3.12 Output compare mode . . . . . 1474
- 38.3.13 PWM mode . . . . . 1476
- 38.3.14 Asymmetric PWM mode . . . . . 1484
- 38.3.15 Combined PWM mode . . . . . 1485
- 38.3.16 Combined 3-phase PWM mode . . . . . 1486
- 38.3.17 Complementary outputs and dead-time insertion . . . . . 1487
- 38.3.18 Using the break function . . . . . 1490
- 38.3.19 Bidirectional break inputs . . . . . 1496
- 38.3.20 Clearing the tim_ocxref signal on an external event . . . . . 1497
- 38.3.21 6-step PWM generation . . . . . 1499
- 38.3.22 One-pulse mode . . . . . 1500
- 38.3.23 Retriggerable One-pulse mode . . . . . 1502
- 38.3.24 Pulse on compare mode . . . . . 1503
- 38.3.25 Encoder interface mode . . . . . 1505
- 38.3.26 Direction bit output . . . . . 1522
- 38.3.27 UIF bit remapping . . . . . 1523
- 38.3.28 Timer input XOR function . . . . . 1523
- 38.3.29 Interfacing with Hall sensors . . . . . 1523
- 38.3.30 Timer synchronization . . . . . 1525
- 38.3.31 ADC triggers . . . . . 1530
- 38.3.32 DMA burst mode . . . . . 1530
- 38.3.33 TIM1/TIM8 DMA requests . . . . . 1531
- 38.3.34 Debug mode . . . . . 1531
- 38.4 TIM1/TIM8 low-power modes . . . . . 1532
- 38.5 TIM1/TIM8 interrupts . . . . . 1532
- 38.6 TIM1/TIM8 registers . . . . . 1533
- 38.6.1 TIMx control register 1 (TIMx_CR1)(x = 1, 8) . . . . . 1533
- 38.6.2 TIMx control register 2 (TIMx_CR2)(x = 1, 8) . . . . . 1534
- 38.6.3 TIMx slave mode control register (TIMx_SMCR)(x = 1, 8) . . . . . 1538
- 38.6.4 TIMx DMA/interrupt enable register (TIMx_DIER)(x = 1, 8) . . . . . 1542
- 38.6.5 TIMx status register (TIMx_SR)(x = 1, 8) . . . . . 1543
- 38.6.6 TIMx event generation register (TIMx_EGR)(x = 1, 8) . . . . . 1546
| 38.6.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1) (x = 1, 8) . . . . . | 1547 |
| 38.6.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 1, 8) . . . . . | 1549 |
| 38.6.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2) (x = 1, 8) . . . . . | 1552 |
| 38.6.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 1, 8) . . . . . | 1553 |
| 38.6.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 1, 8) . . . . . | 1556 |
| 38.6.12 | TIMx counter (TIMx_CNT)(x = 1, 8) . . . . . | 1560 |
| 38.6.13 | TIMx prescaler (TIMx_PSC)(x = 1, 8) . . . . . | 1560 |
| 38.6.14 | TIMx autoreload register (TIMx_ARR)(x = 1, 8) . . . . . | 1561 |
| 38.6.15 | TIMx repetition counter register (TIMx_RCR)(x = 1, 8) . . . . . | 1561 |
| 38.6.16 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 1, 8) . . . . . | 1562 |
| 38.6.17 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 1, 8) . . . . . | 1562 |
| 38.6.18 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 1, 8) . . . . . | 1563 |
| 38.6.19 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 1, 8) . . . . . | 1564 |
| 38.6.20 | TIMx break and dead-time register (TIMx_BDTR)(x = 1, 8) . . . . . | 1565 |
| 38.6.21 | TIMx capture/compare register 5 (TIMx_CCR5)(x = 1, 8) . . . . . | 1569 |
| 38.6.22 | TIMx capture/compare register 6 (TIMx_CCR6)(x = 1, 8) . . . . . | 1570 |
| 38.6.23 | TIMx capture/compare mode register 3 (TIMx_CCMR3) (x = 1, 8) . . . . . | 1571 |
| 38.6.24 | TIMx timer deadtime register 2 (TIMx_DTR2)(x = 1, 8) . . . . . | 1572 |
| 38.6.25 | TIMx timer encoder control register (TIMx_ECR)(x = 1, 8) . . . . . | 1573 |
| 38.6.26 | TIMx timer input selection register (TIMx_TISEL)(x = 1, 8) . . . . . | 1574 |
| 38.6.27 | TIMx alternate function option register 1 (TIMx_AF1)(x = 1, 8) . . . . . | 1575 |
| 38.6.28 | TIMx alternate function register 2 (TIMx_AF2)(x = 1, 8) . . . . . | 1578 |
| 38.6.29 | TIMx DMA control register (TIMx_DCR)(x = 1, 8) . . . . . | 1580 |
| 38.6.30 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 1, 8) . . . . . | 1582 |
| 38.6.31 | TIMx register map . . . . . | 1582 |
| 39 | General-purpose timers (TIM2/TIM3/TIM4/TIM5) . . . . . | 1585 |
| 39.1 | TIM2/TIM3/TIM4/TIM5 introduction . . . . . | 1585 |
| 39.2 | TIM2/TIM3/TIM4/TIM5 main features . . . . . | 1585 |
| 39.3 | TIM2/TIM3/TIM4/TIM5 implementation . . . . . | 1586 |
| 39.4 | TIM2/TIM3/TIM4/TIM5 functional description . . . . . | 1587 |
| 39.4.1 | Block diagram . . . . . | 1587 |
| 39.4.2 | TIM2/TIM3/TIM4/TIM5 pins and internal signals . . . . . | 1588 |
- 39.4.3 Time-base unit . . . . . 1591
- 39.4.4 Counter modes . . . . . 1593
- 39.4.5 Clock selection . . . . . 1605
- 39.4.6 Capture/compare channels . . . . . 1609
- 39.4.7 Input capture mode . . . . . 1611
- 39.4.8 PWM input mode . . . . . 1612
- 39.4.9 Forced output mode . . . . . 1613
- 39.4.10 Output compare mode . . . . . 1613
- 39.4.11 PWM mode . . . . . 1615
- 39.4.12 Asymmetric PWM mode . . . . . 1623
- 39.4.13 Combined PWM mode . . . . . 1624
- 39.4.14 Clearing the tim_ocxref signal on an external event . . . . . 1625
- 39.4.15 One-pulse mode . . . . . 1627
- 39.4.16 Retriggerable one-pulse mode . . . . . 1628
- 39.4.17 Pulse on compare mode . . . . . 1629
- 39.4.18 Encoder interface mode . . . . . 1631
- 39.4.19 Direction bit output . . . . . 1649
- 39.4.20 UIF bit remapping . . . . . 1650
- 39.4.21 Timer input XOR function . . . . . 1650
- 39.4.22 Timers and external trigger synchronization . . . . . 1650
- 39.4.23 Timer synchronization . . . . . 1654
- 39.4.24 ADC triggers . . . . . 1659
- 39.4.25 DMA burst mode . . . . . 1660
- 39.4.26 TIM2/TIM3/TIM4/TIM5 DMA requests . . . . . 1661
- 39.4.27 Debug mode . . . . . 1661
- 39.4.28 TIM2/TIM3/TIM4/TIM5 low-power modes . . . . . 1661
- 39.4.29 TIM2/TIM3/TIM4/TIM5 interrupts . . . . . 1662
- 39.5 TIM2/TIM3/TIM4/TIM5 registers . . . . . 1663
- 39.5.1 TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . . 1663
- 39.5.2 TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . . 1664
- 39.5.3 TIMx slave mode control register (TIMx_SMCR)(x = 2 to 5) . . . . . 1666
- 39.5.4 TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . . 1670
- 39.5.5 TIMx status register (TIMx_SR)(x = 2 to 5) . . . . . 1671
- 39.5.6 TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . . 1673
- 39.5.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5) . . . . . 1674
- 39.5.8 TIMx capture/compare mode register 1 [alternate]
(TIMx_CCMR1)(x = 2 to 5) . . . . . 1676
| 39.5.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 2 to 5) . . . . . | 1678 |
| 39.5.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 2 to 5) . . . . . | 1679 |
| 39.5.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 2 to 5) . . . . . | 1682 |
| 39.5.12 | TIMx counter (TIMx_CNT)(x = 3, 4) . . . . . | 1683 |
| 39.5.13 | TIMx counter (TIMx_CNT)(x = 2, 5) . . . . . | 1684 |
| 39.5.14 | TIMx prescaler (TIMx_PSC)(x = 2 to 5) . . . . . | 1684 |
| 39.5.15 | TIMx autoreload register (TIMx_ARR)(x = 3, 4) . . . . . | 1685 |
| 39.5.16 | TIMx autoreload register (TIMx_ARR)(x = 2, 5) . . . . . | 1685 |
| 39.5.17 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 3, 4) . . . . . | 1686 |
| 39.5.18 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 2, 5) . . . . . | 1687 |
| 39.5.19 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 3, 4) . . . . . | 1687 |
| 39.5.20 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 2, 5) . . . . . | 1688 |
| 39.5.21 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 3, 4) . . . . . | 1689 |
| 39.5.22 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 2, 5) . . . . . | 1690 |
| 39.5.23 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 3, 4) . . . . . | 1691 |
| 39.5.24 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 2, 5) . . . . . | 1692 |
| 39.5.25 | TIMx timer encoder control register (TIMx_ECR)(x = 2 to 5) . . . . . | 1693 |
| 39.5.26 | TIMx timer input selection register (TIMx_TISEL)(x = 2 to 5) . . . . . | 1694 |
| 39.5.27 | TIMx alternate function register 1 (TIMx_AF1)(x = 2 to 5) . . . . . | 1695 |
| 39.5.28 | TIMx alternate function register 2 (TIMx_AF2)(x = 2 to 5) . . . . . | 1696 |
| 39.5.29 | TIMx DMA control register (TIMx_DCR)(x = 2 to 5) . . . . . | 1697 |
| 39.5.30 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 2 to 5) . . . . . | 1698 |
| 39.5.31 | TIMx register map . . . . . | 1699 |
| 40 | Basic timers (TIM6/TIM7) . . . . . | 1702 |
| 40.1 | TIM6/TIM7 introduction . . . . . | 1702 |
| 40.2 | TIM6/TIM7 main features . . . . . | 1702 |
| 40.3 | TIM6/TIM7 functional description . . . . . | 1703 |
| 40.3.1 | TIM6/TIM7 block diagram . . . . . | 1703 |
| 40.3.2 | TIM6/TIM7 internal signals . . . . . | 1703 |
| 40.3.3 | TIM6/TIM7 clocks . . . . . | 1704 |
| 40.3.4 | Time-base unit . . . . . | 1704 |
| 40.3.5 | Counting mode . . . . . | 1706 |
| 40.3.6 | UIF bit remapping . . . . . | 1713 |
| 40.3.7 | ADC triggers . . . . . | 1714 |
| 40.3.8 | TIM6/TIM7 DMA requests . . . . . | 1714 |
| 40.3.9 | Debug mode . . . . . | 1714 |
| 40.3.10 | TIM6/TIM7 low-power modes . . . . . | 1714 |
| 40.3.11 | TIM6/TIM7 interrupts . . . . . | 1714 |
| 40.4 | TIM6/TIM7 registers . . . . . | 1715 |
| 40.4.1 | TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . . | 1715 |
| 40.4.2 | TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . . | 1717 |
| 40.4.3 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . . | 1717 |
| 40.4.4 | TIMx status register (TIMx_SR)(x = 6 to 7) . . . . . | 1718 |
| 40.4.5 | TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . . | 1718 |
| 40.4.6 | TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . . | 1718 |
| 40.4.7 | TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . . | 1719 |
| 40.4.8 | TIMx autoreload register (TIMx_ARR)(x = 6 to 7) . . . . . | 1719 |
| 40.4.9 | TIMx register map . . . . . | 1720 |
| 41 | General-purpose timers (TIM12/TIM13/TIM14) . . . . . | 1721 |
| 41.1 | TIM12/TIM13/TIM14 introduction . . . . . | 1721 |
| 41.2 | TIM12 main features . . . . . | 1721 |
| 41.3 | TIM13/TIM14 main features . . . . . | 1722 |
| 41.4 | TIM12/TIM13/TIM14 functional description . . . . . | 1723 |
| 41.4.1 | Block diagram . . . . . | 1723 |
| 41.4.2 | TIM12/TIM13/TIM14 pins and internal signals . . . . . | 1724 |
| 41.4.3 | Time-base unit . . . . . | 1727 |
| 41.4.4 | Counter modes . . . . . | 1729 |
| 41.4.5 | Clock selection . . . . . | 1732 |
| 41.4.6 | Capture/compare channels . . . . . | 1734 |
| 41.4.7 | Input capture mode . . . . . | 1736 |
| 41.4.8 | PWM input mode (TIM12 only) . . . . . | 1737 |
| 41.4.9 | Forced output mode . . . . . | 1738 |
| 41.4.10 | Output compare mode . . . . . | 1739 |
| 41.4.11 | PWM mode . . . . . | 1740 |
| 41.4.12 | Combined PWM mode (TIM12 only) . . . . . | 1745 |
| 41.4.13 | One-pulse mode . . . . . | 1746 |
| 41.4.14 | Retriggerable one pulse mode (TIM12 only) . . . . . | 1748 |
| 41.4.15 | UIF bit remapping . . . . . | 1749 |
| 41.4.16 | Timer input XOR function . . . . . | 1749 |
| 41.4.17 | TIM12 external trigger synchronization . . . . . | 1749 |
| 41.4.18 | Slave mode – combined reset + trigger mode . . . . . | 1752 |
| 41.4.19 | Slave mode – combined reset + gated mode . . . . . | 1752 |
| 41.4.20 | Timer synchronization (TIM12 only) . . . . . | 1752 |
| 41.4.21 | Using timer output as trigger for other timers (TIM13/TIM14 only) . . . . . | 1752 |
| 41.4.22 | ADC triggers (TIM12 only) . . . . . | 1752 |
| 41.4.23 | Debug mode . . . . . | 1752 |
| 41.5 | TIM12/TIM13/TIM14 low-power modes . . . . . | 1753 |
| 41.6 | TIM12/TIM13/TIM14 interrupts . . . . . | 1753 |
| 41.7 | TIM12 registers . . . . . | 1753 |
| 41.7.1 | TIM12 control register 1 (TIM12_CR1) . . . . . | 1753 |
| 41.7.2 | TIM12 control register 2 (TIM12_CR2) . . . . . | 1755 |
| 41.7.3 | TIM12 slave mode control register (TIM12_SMCR) . . . . . | 1755 |
| 41.7.4 | TIM12 interrupt enable register (TIM12_DIER) . . . . . | 1758 |
| 41.7.5 | TIM12 status register (TIM12_SR) . . . . . | 1759 |
| 41.7.6 | TIM12 event generation register (TIM12_EGR) . . . . . | 1760 |
| 41.7.7 | TIM12 capture/compare mode register 1 (TIM12_CCMR1) . . . . . | 1761 |
| 41.7.8 | TIM12 capture/compare mode register 1 [alternate] (TIM12_CCMR1) . . . . . | 1762 |
| 41.7.9 | TIM12 capture/compare enable register (TIM12_CCER) . . . . . | 1765 |
| 41.7.10 | TIM12 counter (TIM12_CNT) . . . . . | 1766 |
| 41.7.11 | TIM12 prescaler (TIM12_PSC) . . . . . | 1767 |
| 41.7.12 | TIM12 autoreload register (TIM12_ARR) . . . . . | 1767 |
| 41.7.13 | TIM12 capture/compare register 1 (TIM12_CCR1) . . . . . | 1768 |
| 41.7.14 | TIM12 capture/compare register 2 (TIM12_CCR2) . . . . . | 1768 |
| 41.7.15 | TIM12 timer input selection register (TIM12_TISEL) . . . . . | 1769 |
| 41.7.16 | TIM12 register map . . . . . | 1770 |
| 41.8 | TIM13/TIM14 registers . . . . . | 1772 |
| 41.8.1 | TIMx control register 1 (TIMx_CR1)(x = 13, 14) . . . . . | 1772 |
| 41.8.2 | TIMx interrupt enable register (TIMx_DIER)(x = 13, 14) . . . . . | 1773 |
| 41.8.3 | TIMx status register (TIMx_SR)(x = 13, 14) . . . . . | 1773 |
| 41.8.4 | TIMx event generation register (TIMx_EGR)(x = 13, 14) . . . . . | 1774 |
| 41.8.5 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 13, 14) . . . . . | 1775 |
| 41.8.6 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 13, 14) . . . . . | 1776 |
| 41.8.7 | TIMx capture/compare enable register (TIMx_CCER)(x = 13, 14) . . . . . | 1778 |
| 41.8.8 | TIMx counter (TIMx_CNT)(x = 13, 14) . . . . . | 1779 |
| 41.8.9 | TIMx prescaler (TIMx_PSC)(x = 13, 14) . . . . . | 1780 |
| 41.8.10 | TIMx autoreload register (TIMx_ARR)(x = 13, 14) . . . . . | 1780 |
| 41.8.11 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 13, 14) . . . . . | 1781 |
| 41.8.12 | TIMx timer input selection register (TIMx_TISEL)(x = 13, 14) . . . . . | 1781 |
| 41.8.13 | TIM13/TIM14 register map . . . . . | 1782 |
| 42 | General purpose timers (TIM15/TIM16/TIM17) . . . . . | 1784 |
| 42.1 | TIM15/TIM16/TIM17 introduction . . . . . | 1784 |
| 42.2 | TIM15 main features . . . . . | 1784 |
| 42.3 | TIM16/TIM17 main features . . . . . | 1785 |
| 42.4 | TIM15/TIM16/TIM17 functional description . . . . . | 1786 |
| 42.4.1 | Block diagram . . . . . | 1786 |
| 42.4.2 | TIM15/TIM16/TIM17 pins and internal signals . . . . . | 1787 |
| 42.4.3 | Time-base unit . . . . . | 1790 |
| 42.4.4 | Counter modes . . . . . | 1792 |
| 42.4.5 | Repetition counter . . . . . | 1796 |
| 42.4.6 | Clock selection . . . . . | 1797 |
| 42.4.7 | Capture/compare channels . . . . . | 1799 |
| 42.4.8 | Input capture mode . . . . . | 1801 |
| 42.4.9 | PWM input mode (only for TIM15) . . . . . | 1803 |
| 42.4.10 | Forced output mode . . . . . | 1804 |
| 42.4.11 | Output compare mode . . . . . | 1804 |
| 42.4.12 | PWM mode . . . . . | 1806 |
| 42.4.13 | Combined PWM mode (TIM15 only) . . . . . | 1811 |
| 42.4.14 | Complementary outputs and dead-time insertion . . . . . | 1812 |
| 42.4.15 | Using the break function . . . . . | 1815 |
| 42.4.16 | Bidirectional break input . . . . . | 1819 |
| 42.4.17 | Clearing the tim_ocxref signal on an external event . . . . . | 1820 |
| 42.4.18 | 6-step PWM generation . . . . . | 1821 |
| 42.4.19 | One-pulse mode . . . . . | 1823 |
| 42.4.20 | Retriggerable one pulse mode (TIM15 only) . . . . . | 1824 |
| 42.4.21 | UIF bit remapping . . . . . | 1825 |
| 42.4.22 | Timer input XOR function (TIM15 only) . . . . . | 1825 |
| 42.4.23 | External trigger synchronization (TIM15 only) . . . . . | 1825 |
| 42.4.24 | Slave mode – combined reset + trigger mode (TIM15 only) . . . . . | 1828 |
| 42.4.25 | Slave mode – combined reset + gated mode (TIM15 only) . . . . . | 1828 |
| 42.4.26 | Timer synchronization (TIM15 only) . . . . . | 1829 |
| 42.4.27 | Using timer output as trigger for other timers (TIM16/TIM17 only) . . . | 1829 |
| 42.4.28 | ADC triggers (TIM15 only) . . . . . | 1829 |
| 42.4.29 | DMA burst mode . . . . . | 1829 |
| 42.4.30 | TIM15/TIM16/TIM17 DMA requests . . . . . | 1830 |
| 42.4.31 | Debug mode . . . . . | 1830 |
| 42.5 | TIM15/TIM16/TIM17 low-power modes . . . . . | 1831 |
| 42.6 | TIM15/TIM16/TIM17 interrupts . . . . . | 1831 |
| 42.7 | TIM15 registers . . . . . | 1832 |
| 42.7.1 | TIM15 control register 1 (TIM15_CR1) . . . . . | 1832 |
| 42.7.2 | TIM15 control register 2 (TIM15_CR2) . . . . . | 1833 |
| 42.7.3 | TIM15 slave mode control register (TIM15_SMCR) . . . . . | 1835 |
| 42.7.4 | TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . | 1837 |
| 42.7.5 | TIM15 status register (TIM15_SR) . . . . . | 1838 |
| 42.7.6 | TIM15 event generation register (TIM15_EGR) . . . . . | 1840 |
| 42.7.7 | TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . . | 1841 |
| 42.7.8 | TIM15 capture/compare mode register 1 [alternate] (TIM15_CCMR1) . . . . . | 1842 |
| 42.7.9 | TIM15 capture/compare enable register (TIM15_CCER) . . . . . | 1845 |
| 42.7.10 | TIM15 counter (TIM15_CNT) . . . . . | 1848 |
| 42.7.11 | TIM15 prescaler (TIM15_PSC) . . . . . | 1848 |
| 42.7.12 | TIM15 autoreload register (TIM15_ARR) . . . . . | 1849 |
| 42.7.13 | TIM15 repetition counter register (TIM15_RCR) . . . . . | 1849 |
| 42.7.14 | TIM15 capture/compare register 1 (TIM15_CCR1) . . . . . | 1850 |
| 42.7.15 | TIM15 capture/compare register 2 (TIM15_CCR2) . . . . . | 1851 |
| 42.7.16 | TIM15 break and dead-time register (TIM15_BDTR) . . . . . | 1851 |
| 42.7.17 | TIM15 timer deadtime register 2 (TIM15_DTR2) . . . . . | 1854 |
| 42.7.18 | TIM15 input selection register (TIM15_TISEL) . . . . . | 1855 |
| 42.7.19 | TIM15 alternate function register 1 (TIM15_AF1) . . . . . | 1856 |
| 42.7.20 | TIM15 alternate function register 2 (TIM15_AF2) . . . . . | 1858 |
| 42.7.21 | TIM15 DMA control register (TIM15_DCR) . . . . . | 1859 |
| 42.7.22 | TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . | 1860 |
| 42.7.23 | TIM15 register map . . . . . | 1860 |
| 42.8 | TIM16/TIM17 registers . . . . . | 1863 |
| 42.8.1 | TIMx control register 1 (TIMx_CR1)(x = 16 to 17) . . . . . | 1863 |
| 42.8.2 | TIMx control register 2 (TIMx_CR2)(x = 16 to 17) . . . . . | 1864 |
| 42.8.3 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) . . . . . | 1865 |
| 42.8.4 | TIMx status register (TIMx_SR)(x = 16 to 17) . . . . . | 1866 |
| 42.8.5 | TIMx event generation register (TIMx_EGR)(x = 16 to 17) . . . . . | 1867 |
| 42.8.6 | TIMx capture/compare mode register 1 (TIMx_CCMR1) (x = 16 to 17) . . . . . | 1868 |
| 42.8.7 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 16 to 17) . . . . . | 1869 |
| 42.8.8 | TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . . . . . | 1871 |
| 42.8.9 | TIMx counter (TIMx_CNT)(x = 16 to 17) . . . . . | 1874 |
| 42.8.10 | TIMx prescaler (TIMx_PSC)(x = 16 to 17) . . . . . | 1874 |
| 42.8.11 | TIMx auto-reautoreload register (TIMx_ARR)(x = 16 to 17) . . . . . | 1875 |
| 42.8.12 | TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) . . . . . | 1875 |
| 42.8.13 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) . . . . . | 1876 |
| 42.8.14 | TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) . . . . . | 1877 |
| 42.8.15 | TIMx timer deadtime register 2 (TIMx_DTR2)(x = 16 to 17) . . . . . | 1880 |
| 42.8.16 | TIMx input selection register (TIMx_TISEL)(x = 16 to 17) . . . . . | 1881 |
| 42.8.17 | TIMx alternate function register 1 (TIMx_AF1)(x = 16 to 17) . . . . . | 1881 |
| 42.8.18 | TIMx alternate function register 2 (TIMx_AF2)(x = 16 to 17) . . . . . | 1884 |
| 42.8.19 | TIM17 option register 1 (TIM17_OR1) . . . . . | 1884 |
| 42.8.20 | TIMx DMA control register (TIMx_DCR)(x = 16 to 17) . . . . . | 1885 |
| 42.8.21 | TIM16/TIM17 DMA address for full transfer (TIMx_DMAR)(x = 16 to 17) . . . . . | 1886 |
| 42.8.22 | TIM16/TIM17 register map . . . . . | 1887 |
| 43 | Low-power timer (LPTIM) . . . . . | 1890 |
| 43.1 | LPTIM introduction . . . . . | 1890 |
| 43.2 | LPTIM main features . . . . . | 1890 |
| 43.3 | LPTIM implementation . . . . . | 1890 |
| 43.4 | LPTIM functional description . . . . . | 1892 |
| 43.4.1 | LPTIM block diagram . . . . . | 1892 |
| 43.4.2 | LPTIM pins and internal signals . . . . . | 1893 |
| 43.4.3 | LPTIM input and trigger mapping . . . . . | 1895 |
| 43.4.4 | LPTIM reset and clocks . . . . . | 1896 |
| 43.4.5 | Glitch filter . . . . . | 1897 |
| 43.4.6 | Prescaler . . . . . | 1898 |
| 43.4.7 | Trigger multiplexer . . . . . | 1898 |
| 43.4.8 | Operating mode . . . . . | 1899 |
| 43.4.9 | Timeout function . . . . . | 1901 |
| 43.4.10 | Waveform generation . . . . . | 1901 |
| 43.4.11 | Register update . . . . . | 1902 |
| 43.4.12 | Counter mode ..... | 1903 |
| 43.4.13 | Timer enable ..... | 1903 |
| 43.4.14 | Timer counter reset ..... | 1904 |
| 43.4.15 | Encoder mode ..... | 1904 |
| 43.4.16 | Repetition counter ..... | 1906 |
| 43.4.17 | Capture/compare channels ..... | 1907 |
| 43.4.18 | Input capture mode ..... | 1908 |
| 43.4.19 | PWM mode ..... | 1910 |
| 43.4.20 | DMA requests ..... | 1912 |
| 43.4.21 | Debug mode ..... | 1913 |
| 43.5 | LPTIM low-power modes ..... | 1913 |
| 43.6 | LPTIM interrupts ..... | 1913 |
| 43.7 | LPTIM registers ..... | 1914 |
| 43.7.1 | LPTIM4 interrupt and status register (LPTIM4_ISR) ..... | 1915 |
| 43.7.2 | LPTIMx interrupt and status register [alternate] (LPTIMx_ISR) (x = 1 to 3, 5, 6) ..... | 1916 |
| 43.7.3 | LPTIMx interrupt and status register [alternate] (LPTIMx_ISR) (x = 1 to 3, 5, 6) ..... | 1918 |
| 43.7.4 | LPTIM4 interrupt clear register (LPTIM4_ICR) ..... | 1920 |
| 43.7.5 | LPTIMx interrupt clear register [alternate] (LPTIMx_ICR) (x = 1 to 3, 5, 6) ..... | 1921 |
| 43.7.6 | LPTIMx interrupt clear register [alternate] (LPTIMx_ICR) (x = 1 to 3, 5, 6) ..... | 1922 |
| 43.7.7 | LPTIM4 interrupt enable register (LPTIM4_DIER) ..... | 1923 |
| 43.7.8 | LPTIMx interrupt enable register [alternate] (LPTIMx_DIER) (x = 1 to 3, 5, 6) ..... | 1925 |
| 43.7.9 | LPTIMx interrupt enable register [alternate] (LPTIMx_DIER) (x = 1 to 3, 5, 6) ..... | 1926 |
| 43.7.10 | LPTIM configuration register (LPTIM_CFGR) ..... | 1928 |
| 43.7.11 | LPTIM control register (LPTIM_CR) ..... | 1931 |
| 43.7.12 | LPTIM compare register 1 (LPTIM_CCR1) ..... | 1932 |
| 43.7.13 | LPTIM autoreload register (LPTIM_ARR) ..... | 1933 |
| 43.7.14 | LPTIM counter register (LPTIM_CNT) ..... | 1933 |
| 43.7.15 | LPTIM configuration register 2 (LPTIM_CFGR2) ..... | 1934 |
| 43.7.16 | LPTIM repetition register (LPTIM_RCR) ..... | 1935 |
| 43.7.17 | LPTIM capture/compare mode register 1 (LPTIM_CCMR1) ..... | 1935 |
| 43.7.18 | LPTIM compare register 2 (LPTIM_CCR2) ..... | 1938 |
| 43.7.19 | LPTIM register map ..... | 1938 |
- 44 Independent watchdog (IWDG) . . . . . 1941
- 44.1 IWDG introduction . . . . . 1941
- 44.2 IWDG main features . . . . . 1941
- 44.3 IWDG implementation . . . . . 1941
- 44.4 IWDG functional description . . . . . 1942
- 44.4.1 IWDG block diagram . . . . . 1942
- 44.4.2 IWDG internal signals . . . . . 1943
- 44.4.3 Software and hardware watchdog modes . . . . . 1943
- 44.4.4 Window option . . . . . 1944
- 44.4.5 Debug . . . . . 1947
- 44.4.6 Register access protection . . . . . 1947
- 44.5 IWDG low power modes . . . . . 1948
- 44.6 IWDG interrupts . . . . . 1948
- 44.7 IWDG registers . . . . . 1950
- 44.7.1 IWDG key register (IWDG_KR) . . . . . 1951
- 44.7.2 IWDG prescaler register (IWDG_PR) . . . . . 1951
- 44.7.3 IWDG reload register (IWDG_RLR) . . . . . 1952
- 44.7.4 IWDG status register (IWDG_SR) . . . . . 1952
- 44.7.5 IWDG window register (IWDG_WINR) . . . . . 1954
- 44.7.6 IWDG early wake-up interrupt register (IWDG_EWCR) . . . . . 1954
- 44.7.7 IWDG register map . . . . . 1956
- 45 System window watchdog (WWDG) . . . . . 1957
- 45.1 WWDG introduction . . . . . 1957
- 45.2 WWDG main features . . . . . 1957
- 45.3 WWDG implementation . . . . . 1957
- 45.4 WWDG functional description . . . . . 1958
- 45.4.1 WWDG block diagram . . . . . 1958
- 45.4.2 WWDG internal signals . . . . . 1958
- 45.4.3 Enabling the watchdog . . . . . 1959
- 45.4.4 Controlling the down-counter . . . . . 1959
- 45.4.5 How to program the watchdog timeout . . . . . 1959
- 45.4.6 Debug mode . . . . . 1960
- 45.5 WWDG interrupts . . . . . 1961
- 45.6 WWDG registers . . . . . 1961
| 45.6.1 | WWDG control register (WWDG_CR) . . . . . | 1961 |
| 45.6.2 | WWDG configuration register (WWDG_CFR) . . . . . | 1962 |
| 45.6.3 | WWDG status register (WWDG_SR) . . . . . | 1963 |
| 45.6.4 | WWDG register map . . . . . | 1963 |
| 46 | Real-time clock (RTC) . . . . . | 1964 |
| 46.1 | RTC introduction . . . . . | 1964 |
| 46.2 | RTC main features . . . . . | 1964 |
| 46.3 | RTC functional description . . . . . | 1965 |
| 46.3.1 | RTC block diagram . . . . . | 1965 |
| 46.3.2 | RTC pins and internal signals . . . . . | 1967 |
| 46.3.3 | GPIOs controlled by the RTC and TAMP . . . . . | 1968 |
| 46.3.4 | RTC secure protection modes . . . . . | 1972 |
| 46.3.5 | RTC privilege protection modes . . . . . | 1974 |
| 46.3.6 | Clock and prescalers . . . . . | 1975 |
| 46.3.7 | Real-time clock and calendar . . . . . | 1976 |
| 46.3.8 | Calendar ultra-low power mode . . . . . | 1976 |
| 46.3.9 | Programmable alarms . . . . . | 1977 |
| 46.3.10 | Periodic auto-wake-up . . . . . | 1977 |
| 46.3.11 | RTC initialization and configuration . . . . . | 1978 |
| 46.3.12 | Reading the calendar . . . . . | 1980 |
| 46.3.13 | Resetting the RTC . . . . . | 1981 |
| 46.3.14 | RTC synchronization . . . . . | 1982 |
| 46.3.15 | RTC reference clock detection . . . . . | 1982 |
| 46.3.16 | RTC smooth digital calibration . . . . . | 1983 |
| 46.3.17 | Timestamp function . . . . . | 1985 |
| 46.3.18 | Calibration clock output . . . . . | 1986 |
| 46.3.19 | Tamper and alarm output . . . . . | 1986 |
| 46.4 | RTC low-power modes . . . . . | 1987 |
| 46.5 | RTC interrupts . . . . . | 1987 |
| 46.6 | RTC registers . . . . . | 1989 |
| 46.6.1 | RTC time register (RTC_TR) . . . . . | 1989 |
| 46.6.2 | RTC date register (RTC_DR) . . . . . | 1990 |
| 46.6.3 | RTC subsecond register (RTC_SSR) . . . . . | 1991 |
| 46.6.4 | RTC initialization control and status register (RTC_ICSR) . . . . . | 1992 |
| 46.6.5 | RTC prescaler register (RTC_PRER) . . . . . | 1994 |
| 46.6.6 | RTC wake-up timer register (RTC_WUTR) . . . . . | 1995 |
| 46.6.7 | RTC control register (RTC_CR) . . . . . | 1995 |
| 46.6.8 | RTC privilege mode control register (RTC_PRIVCFGR) . . . . . | 1999 |
| 46.6.9 | RTC secure configuration register (RTC_SECCFGR) . . . . . | 2001 |
| 46.6.10 | RTC write protection register (RTC_WPR) . . . . . | 2002 |
| 46.6.11 | RTC calibration register (RTC_CALR) . . . . . | 2003 |
| 46.6.12 | RTC shift control register (RTC_SHIFTR) . . . . . | 2004 |
| 46.6.13 | RTC timestamp time register (RTC_TSTR) . . . . . | 2005 |
| 46.6.14 | RTC timestamp date register (RTC_TSDR) . . . . . | 2006 |
| 46.6.15 | RTC timestamp subsecond register (RTC_TSSSR) . . . . . | 2007 |
| 46.6.16 | RTC alarm A register (RTC_ALRMAR) . . . . . | 2007 |
| 46.6.17 | RTC alarm A subsecond register (RTC_ALRMASSR) . . . . . | 2009 |
| 46.6.18 | RTC alarm B register (RTC_ALRMBR) . . . . . | 2010 |
| 46.6.19 | RTC alarm B subsecond register (RTC_ALRMBSSR) . . . . . | 2011 |
| 46.6.20 | RTC status register (RTC_SR) . . . . . | 2012 |
| 46.6.21 | RTC nonsecure masked interrupt status register (RTC_MISR) . . . . . | 2013 |
| 46.6.22 | RTC secure masked interrupt status register (RTC_SMISR) . . . . . | 2014 |
| 46.6.23 | RTC status clear register (RTC_SCR) . . . . . | 2015 |
| 46.6.24 | RTC option register (RTC_OR) . . . . . | 2016 |
| 46.6.25 | RTC alarm A binary mode register (RTC_ALRABINR) . . . . . | 2017 |
| 46.6.26 | RTC alarm B binary mode register (RTC_ALRBBINR) . . . . . | 2017 |
| 46.6.27 | RTC register map . . . . . | 2019 |
| 47 | Tamper and backup registers (TAMP) . . . . . | 2022 |
| 47.1 | TAMP introduction . . . . . | 2022 |
| 47.2 | TAMP main features . . . . . | 2023 |
| 47.3 | TAMP functional description . . . . . | 2024 |
| 47.3.1 | TAMP block diagram . . . . . | 2024 |
| 47.3.2 | TAMP pins and internal signals . . . . . | 2025 |
| 47.3.3 | GPIOs controlled by the RTC and TAMP . . . . . | 2028 |
| 47.3.4 | TAMP register write protection . . . . . | 2028 |
| 47.3.5 | TAMP secure protection modes . . . . . | 2028 |
| 47.3.6 | Backup registers protection zones . . . . . | 2029 |
| 47.3.7 | TAMP privilege protection modes . . . . . | 2029 |
| 47.3.8 | Boot hardware key (BHK) . . . . . | 2030 |
| 47.3.9 | Tamper detection . . . . . | 2030 |
| 47.3.10 | TAMP backup registers and other device secrets erase . . . . . | 2030 |
| 47.3.11 | Tamper detection configuration and initialization . . . . . | 2032 |
| 47.4 | TAMP low-power modes . . . . . | 2038 |
| 47.5 | TAMP interrupts . . . . . | 2039 |
| 47.6 | TAMP registers . . . . . | 2039 |
| 47.6.1 | TAMP control register 1 (TAMP_CR1) . . . . . | 2039 |
| 47.6.2 | TAMP control register 2 (TAMP_CR2) . . . . . | 2041 |
| 47.6.3 | TAMP control register 3 (TAMP_CR3) . . . . . | 2044 |
| 47.6.4 | TAMP filter control register (TAMP_FLTCR) . . . . . | 2045 |
| 47.6.5 | TAMP active tamper control register 1 (TAMP_ATCR1) . . . . . | 2047 |
| 47.6.6 | TAMP active tamper seed register (TAMP_ATSEEDR) . . . . . | 2049 |
| 47.6.7 | TAMP active tamper output register (TAMP_ATOR) . . . . . | 2050 |
| 47.6.8 | TAMP active tamper control register 2 (TAMP_ATCR2) . . . . . | 2051 |
| 47.6.9 | TAMP secure configuration register (TAMP_SECCFGR) . . . . . | 2054 |
| 47.6.10 | TAMP privilege configuration register (TAMP_PRIVCFGR) . . . . . | 2056 |
| 47.6.11 | TAMP interrupt enable register (TAMP_IER) . . . . . | 2057 |
| 47.6.12 | TAMP status register (TAMP_SR) . . . . . | 2059 |
| 47.6.13 | TAMP nonsecure masked interrupt status register (TAMP_MISR) . . . . . | 2061 |
| 47.6.14 | TAMP secure masked interrupt status register (TAMP_SMISR) . . . . . | 2062 |
| 47.6.15 | TAMP status clear register (TAMP_SCR) . . . . . | 2064 |
| 47.6.16 | TAMP monotonic counter 1 register (TAMP_COUNT1R) . . . . . | 2066 |
| 47.6.17 | TAMP option register (TAMP_OR) . . . . . | 2066 |
| 47.6.18 | TAMP resources protection configuration register (TAMP_RPCFGR) . . . . . | 2067 |
| 47.6.19 | TAMP backup x register (TAMP_BKPxR) . . . . . | 2068 |
| 47.6.20 | TAMP register map . . . . . | 2069 |
| 48 | Inter-integrated circuit interface (I2C) . . . . . | 2071 |
| 48.1 | I2C introduction . . . . . | 2071 |
| 48.2 | I2C main features . . . . . | 2071 |
| 48.3 | I2C implementation . . . . . | 2072 |
| 48.4 | I2C functional description . . . . . | 2072 |
| 48.4.1 | I2C block diagram . . . . . | 2073 |
| 48.4.2 | I2C pins and internal signals . . . . . | 2073 |
| 48.4.3 | I2C clock requirements . . . . . | 2074 |
| 48.4.4 | I2C mode selection . . . . . | 2074 |
| 48.4.5 | I2C initialization . . . . . | 2075 |
| 48.4.6 | I2C reset . . . . . | 2079 |
| 48.4.7 | I2C data transfer . . . . . | 2080 |
| 48.4.8 | I2C target mode . . . . . | 2082 |
| 48.4.9 | I2C controller mode . . . . . | 2091 |
| 48.4.10 | I2C_TIMINGR register configuration examples . . . . . | 2102 |
| 48.4.11 | SMBus specific features . . . . . | 2104 |
| 48.4.12 | SMBus initialization . . . . . | 2106 |
| 48.4.13 | SMBus I2C_TIMEOUTR register configuration examples . . . . . | 2108 |
| 48.4.14 | SMBus target mode . . . . . | 2109 |
| 48.4.15 | SMBus controller mode . . . . . | 2112 |
| 48.4.16 | Wake-up from Stop mode on address match . . . . . | 2115 |
| 48.4.17 | Error conditions . . . . . | 2116 |
| 48.5 | I2C in low-power modes . . . . . | 2118 |
| 48.6 | I2C interrupts . . . . . | 2118 |
| 48.7 | I2C DMA requests . . . . . | 2119 |
| 48.7.1 | Transmission using DMA . . . . . | 2119 |
| 48.7.2 | Reception using DMA . . . . . | 2119 |
| 48.8 | I2C debug modes . . . . . | 2119 |
| 48.9 | I2C registers . . . . . | 2120 |
| 48.9.1 | I2C control register 1 (I2C_CR1) . . . . . | 2120 |
| 48.9.2 | I2C control register 2 (I2C_CR2) . . . . . | 2123 |
| 48.9.3 | I2C own address 1 register (I2C_OAR1) . . . . . | 2125 |
| 48.9.4 | I2C own address 2 register (I2C_OAR2) . . . . . | 2125 |
| 48.9.5 | I2C timing register (I2C_TIMINGR) . . . . . | 2126 |
| 48.9.6 | I2C timeout register (I2C_TIMEOUTR) . . . . . | 2127 |
| 48.9.7 | I2C interrupt and status register (I2C_ISR) . . . . . | 2128 |
| 48.9.8 | I2C interrupt clear register (I2C_ICR) . . . . . | 2131 |
| 48.9.9 | I2C PEC register (I2C_PECR) . . . . . | 2132 |
| 48.9.10 | I2C receive data register (I2C_RXDR) . . . . . | 2132 |
| 48.9.11 | I2C transmit data register (I2C_TXDR) . . . . . | 2133 |
| 48.9.12 | I2C register map . . . . . | 2134 |
| 49 | Improved inter-integrated circuit (I3C) . . . . . | 2135 |
| 49.1 | I3C introduction . . . . . | 2135 |
| 49.2 | I3C main features . . . . . | 2135 |
| 49.3 | I3C implementation . . . . . | 2137 |
| 49.3.1 | I3C instantiation . . . . . | 2137 |
| 49.3.2 | I3C wake-up from low-power mode(s) . . . . . | 2137 |
| 49.3.3 | I3C FIFOs . . . . . | 2137 |
| 49.3.4 | I3C triggers . . . . . | 2137 |
| 49.3.5 | I3C interrupt(s) . . . . . | 2137 |
| 49.3.6 | I3C MIPI ® support . . . . . | 2138 |
| 49.4 | I3C block diagram . . . . . | 2139 |
| 49.5 | I3C pins and internal signals . . . . . | 2139 |
| 49.6 | I3C reset and clocks . . . . . | 2140 |
| 49.6.1 | I3C reset . . . . . | 2140 |
| 49.6.2 | I3C clocks and requirements . . . . . | 2140 |
| 49.7 | I3C peripheral state and programming . . . . . | 2142 |
| 49.7.1 | I3C peripheral state . . . . . | 2142 |
| 49.7.2 | I3C controller state and programming sequence . . . . . | 2143 |
| 49.7.3 | I3C target state and programming sequence . . . . . | 2147 |
| 49.8 | I3C registers and programming . . . . . | 2151 |
| 49.8.1 | I3C register set, as controller/target . . . . . | 2151 |
| 49.8.2 | I3C registers and fields use versus peripheral state, as controller . . . . . | 2152 |
| 49.8.3 | I3C registers and fields usage versus peripheral state, as target . . . . . | 2155 |
| 49.9 | I3C bus transfers and programming . . . . . | 2157 |
| 49.9.1 | I3C command set (CCC)s, as controller/target . . . . . | 2157 |
| 49.9.2 | I3C broadcast/direct CCC transfer (except ENTDAA, RSTACT), as controller . . . . . | 2161 |
| 49.9.3 | I3C broadcast ENTDAA CCC transfer, as controller . . . . . | 2163 |
| 49.9.4 | I3C broadcast/direct RSTACT CCC transfer, as controller . . . . . | 2163 |
| 49.9.5 | I3C broadcast/direct CCC transfer (except ENTDAA, DEFTGTS, DEFGRPA), as target . . . . . | 2165 |
| 49.9.6 | I3C broadcast ENTDAA CCC transfer, as target . . . . . | 2167 |
| 49.9.7 | I3C broadcast DEFTGTS CCC transfer, as target . . . . . | 2168 |
| 49.9.8 | I3C broadcast DEFGRPA CCC transfer, as target . . . . . | 2169 |
| 49.9.9 | I3C direct GETSTATUS CCC response, as target . . . . . | 2170 |
| 49.9.10 | I3C private read/write transfer, as controller . . . . . | 2171 |
| 49.9.11 | I3C private read/write transfer, as target . . . . . | 2172 |
| 49.9.12 | Legacy I2C read/write transfer, as controller . . . . . | 2173 |
| 49.9.13 | I3C IBI transfer, as controller/target . . . . . | 2174 |
| 49.9.14 | I3C hot-join request transfer, as controller/target . . . . . | 2175 |
| 49.9.15 | I3C controller-role request transfer, as controller/target . . . . . | 2176 |
| 49.10 | I3C FIFOs management, as controller . . . . . | 2177 |
| 49.10.1 | C-FIFO management, as controller . . . . . | 2177 |
| 49.10.2 | TX-FIFO management, as controller . . . . . | 2178 |
| 49.10.3 | RX-FIFO management, as controller . . . . . | 2181 |
| 49.10.4 | S-FIFO management, as controller . . . . . | 2183 |
| 49.11 | I3C FIFOs management, as target . . . . . | 2185 |
| 49.11.1 | RX-FIFO management, as target . . . . . | 2185 |
| 49.11.2 | TX-FIFO management, as target . . . . . | 2186 |
| 49.12 | I3C error management . . . . . | 2189 |
| 49.12.1 | Controller error management . . . . . | 2189 |
| 49.12.2 | Target error management . . . . . | 2191 |
| 49.13 | I3C wake-up from low-power mode(s) . . . . . | 2192 |
| 49.13.1 | Wake-up from Stop . . . . . | 2192 |
| 49.14 | I3C in low-power modes . . . . . | 2195 |
| 49.15 | I3C interrupts . . . . . | 2196 |
| 49.16 | I3C registers . . . . . | 2197 |
| 49.16.1 | I3C message control register (I3C_CR) . . . . . | 2197 |
| 49.16.2 | I3C message control register [alternate] (I3C_CR) . . . . . | 2199 |
| 49.16.3 | I3C configuration register (I3C_CFGGR) . . . . . | 2201 |
| 49.16.4 | I3C receive data byte register (I3C_RDR) . . . . . | 2206 |
| 49.16.5 | I3C receive data word register (I3C_RDWR) . . . . . | 2206 |
| 49.16.6 | I3C transmit data byte register (I3C_TDR) . . . . . | 2207 |
| 49.16.7 | I3C transmit data word register (I3C_TDWR) . . . . . | 2208 |
| 49.16.8 | I3C IBI payload data register (I3C_IBIDR) . . . . . | 2210 |
| 49.16.9 | I3C target transmit configuration register (I3C_TGTDDR) . . . . . | 2211 |
| 49.16.10 | I3C status register (I3C_SR) . . . . . | 2212 |
| 49.16.11 | I3C status error register (I3C_SER) . . . . . | 2213 |
| 49.16.12 | I3C received message register (I3C_RMR) . . . . . | 2215 |
| 49.16.13 | I3C event register (I3C_EVR) . . . . . | 2216 |
| 49.16.14 | I3C interrupt enable register (I3C_IER) . . . . . | 2220 |
| 49.16.15 | I3C clear event register (I3C_CEVR) . . . . . | 2222 |
| 49.16.16 | I3C own device characteristics register (I3C_DEVR0) . . . . . | 2224 |
| 49.16.17 | I3C device x characteristics register (I3C_DEVRx) . . . . . | 2226 |
| 49.16.18 | I3C maximum read length register (I3C_MAXRLR) . . . . . | 2228 |
| 49.16.19 | I3C maximum write length register (I3C_MAXWLR) . . . . . | 2229 |
| 49.16.20 | I3C timing register 0 (I3C_TIMINGR0) . . . . . | 2230 |
| 49.16.21 | I3C timing register 1 (I3C_TIMINGR1) . . . . . | 2231 |
| 49.16.22 | I3C timing register 2 (I3C_TIMINGR2) . . . . . | 2233 |
| 49.16.23 | I3C bus characteristics register (I3C_BCR) . . . . . | 2234 |
| 49.16.24 | I3C device characteristics register (I3C_DCR) . . . . . | 2235 |
| 49.16.25 | I3C get capability register (I3C_GETCAPR) . . . . . | 2236 |
| 49.16.26 | I3C controller-role capability register (I3C_CRCAPR) . . . . . | 2237 |
| 49.16.27 | I3C get max data speed register (I3C_GETMXDSR) . . . . . | 2238 |
| 49.16.28 | I3C extended provisioned ID register (I3C_EPIDR) . . . . . | 2240 |
| 49.16.29 | I3C register map . . . . . | 2241 |
| 50 | Universal synchronous/asynchronous receiver transmitter (USART/UART) . . . . . | 2244 |
| 50.1 | USART introduction . . . . . | 2244 |
| 50.2 | USART main features . . . . . | 2244 |
| 50.3 | USART extended features . . . . . | 2245 |
| 50.4 | USART implementation . . . . . | 2245 |
| 50.5 | USART functional description . . . . . | 2247 |
| 50.5.1 | USART block diagram . . . . . | 2247 |
| 50.5.2 | USART pins and internal signals . . . . . | 2247 |
| 50.5.3 | USART clocks . . . . . | 2249 |
| 50.5.4 | USART character description . . . . . | 2249 |
| 50.5.5 | USART FIFOs and thresholds . . . . . | 2252 |
| 50.5.6 | USART transmitter . . . . . | 2252 |
| 50.5.7 | USART receiver . . . . . | 2255 |
| 50.5.8 | USART baud rate generation . . . . . | 2262 |
| 50.5.9 | Tolerance of the USART receiver to clock deviation . . . . . | 2264 |
| 50.5.10 | USART auto baud rate detection . . . . . | 2265 |
| 50.5.11 | USART multiprocessor communication . . . . . | 2267 |
| 50.5.12 | USART Modbus communication . . . . . | 2269 |
| 50.5.13 | USART parity control . . . . . | 2270 |
| 50.5.14 | USART LIN (local interconnection network) mode . . . . . | 2271 |
| 50.5.15 | USART synchronous mode . . . . . | 2273 |
| 50.5.16 | USART single-wire half-duplex communication . . . . . | 2277 |
| 50.5.17 | USART receiver timeout . . . . . | 2277 |
| 50.5.18 | USART smartcard mode . . . . . | 2278 |
| 50.5.19 | USART IrDA SIR ENDEC block . . . . . | 2282 |
| 50.5.20 | Continuous communication using USART and DMA . . . . . | 2285 |
| 50.5.21 | RS232 hardware flow control and RS485 driver enable . . . . . | 2287 |
| 50.5.22 | USART low-power management . . . . . | 2290 |
| 50.6 | USART in low-power modes . . . . . | 2293 |
| 50.7 | USART interrupts . . . . . | 2293 |
| 50.8 | USART registers . . . . . | 2296 |
| 50.8.1 | USART control register 1 (USART_CR1) . . . . . | 2296 |
| 50.8.2 | USART control register 1 [alternate] (USART_CR1) . . . . . | 2300 |
| 50.8.3 | USART control register 2 (USART_CR2) . . . . . | 2303 |
| 50.8.4 | USART control register 3 (USART_CR3) . . . . . | 2307 |
| 50.8.5 | USART control register 3 [alternate] (USART_CR3) . . . . . | 2311 |
| 50.8.6 | USART baud rate register (USART_BRR) . . . . . | 2315 |
| 50.8.7 | USART guard time and prescaler register (USART_GTPR) . . . . . | 2315 |
| 50.8.8 | USART receiver timeout register (USART_RTOR) . . . . . | 2316 |
| 50.8.9 | USART request register (USART_RQR) . . . . . | 2317 |
| 50.8.10 | USART interrupt and status register (USART_ISR) . . . . . | 2318 |
| 50.8.11 | USART interrupt and status register [alternate] (USART_ISR) . . . . . | 2324 |
| 50.8.12 | USART interrupt flag clear register (USART_ICR) . . . . . | 2329 |
| 50.8.13 | USART receive data register (USART_RDR) . . . . . | 2330 |
| 50.8.14 | USART transmit data register (USART_TDR) . . . . . | 2331 |
| 50.8.15 | USART prescaler register (USART_PRESC) . . . . . | 2331 |
| 50.8.16 | USART register map . . . . . | 2332 |
| 51 | Low-power universal asynchronous receiver transmitter (LPUART) . . . . . | 2334 |
| 51.1 | LPUART introduction . . . . . | 2334 |
| 51.2 | LPUART main features . . . . . | 2334 |
| 51.3 | LPUART implementation . . . . . | 2335 |
| 51.4 | LPUART functional description . . . . . | 2337 |
| 51.4.1 | LPUART block diagram . . . . . | 2337 |
| 51.4.2 | LPUART pins and internal signals . . . . . | 2338 |
| 51.4.3 | LPUART clocks . . . . . | 2339 |
| 51.4.4 | LPUART character description . . . . . | 2339 |
| 51.4.5 | LPUART FIFOs and thresholds . . . . . | 2341 |
| 51.4.6 | LPUART transmitter . . . . . | 2341 |
| 51.4.7 | LPUART receiver . . . . . | 2345 |
| 51.4.8 | LPUART baud rate generation . . . . . | 2349 |
| 51.4.9 | Tolerance of the LPUART receiver to clock deviation . . . . . | 2350 |
| 51.4.10 | LPUART multiprocessor communication . . . . . | 2351 |
| 51.4.11 | LPUART parity control . . . . . | 2353 |
| 51.4.12 | LPUART single-wire half-duplex communication . . . . . | 2354 |
| 51.4.13 | Continuous communication using DMA and LPUART . . . . . | 2354 |
| 51.4.14 | RS232 hardware flow control and RS485 driver enable . . . . . | 2357 |
| 51.4.15 | LPUART low-power management . . . . . | 2359 |
| 51.5 | LPUART in low-power modes . . . . . | 2362 |
| 51.6 | LPUART interrupts . . . . . | 2363 |
| 51.7 | LPUART registers . . . . . | 2364 |
| 51.7.1 | LPUART control register 1 (LPUART_CR1) . . . . . | 2364 |
| 51.7.2 | LPUART control register 1 [alternate] (LPUART_CR1) . . . . . | 2367 |
| 51.7.3 | LPUART control register 2 (LPUART_CR2) . . . . . | 2370 |
| 51.7.4 | LPUART control register 3 (LPUART_CR3) . . . . . | 2372 |
| 51.7.5 | LPUART control register 3 [alternate] (LPUART_CR3) . . . . . | 2375 |
| 51.7.6 | LPUART baud rate register (LPUART_BRR) . . . . . | 2377 |
| 51.7.7 | LPUART request register (LPUART_RQR) . . . . . | 2377 |
| 51.7.8 | LPUART interrupt and status register (LPUART_ISR) . . . . . | 2378 |
| 51.7.9 | LPUART interrupt and status register [alternate] (LPUART_ISR) . . . . . | 2383 |
| 51.7.10 | LPUART interrupt flag clear register (LPUART_ICR) . . . . . | 2386 |
| 51.7.11 | LPUART receive data register (LPUART_RDR) . . . . . | 2387 |
| 51.7.12 | LPUART transmit data register (LPUART_TDR) . . . . . | 2387 |
| 51.7.13 | LPUART prescaler register (LPUART_PRESC) . . . . . | 2388 |
| 51.7.14 | LPUART register map . . . . . | 2389 |
| 52 | Serial peripheral interface (SPI) . . . . . | 2391 |
| 52.1 | SPI introduction . . . . . | 2391 |
| 52.2 | SPI main features . . . . . | 2391 |
| 52.3 | SPI implementation . . . . . | 2392 |
| 52.4 | SPI functional description . . . . . | 2393 |
| 52.4.1 | SPI block diagram . . . . . | 2393 |
| 52.4.2 | SPI pins and internal signals . . . . . | 2394 |
| 52.4.3 | SPI communication general aspects . . . . . | 2395 |
| 52.4.4 | Communications between one master and one slave . . . . . | 2395 |
| 52.4.5 | Standard multislave communication . . . . . | 2398 |
| 52.4.6 | Multimaster communication . . . . . | 2401 |
| 52.4.7 | Slave select (NSS pin) management . . . . . | 2402 |
| 52.4.8 | Ready pin (RDY) management . . . . . | 2406 |
| 52.4.9 | Communication formats . . . . . | 2406 |
| 52.4.10 | Configuring the SPI . . . . . | 2408 |
| 52.4.11 | Enabling the SPI . . . . . | 2409 |
| 52.4.12 | SPI data transmission and reception procedures . . . . . | 2410 |
| 52.4.13 | Disabling the SPI . . . . . | 2414 |
| 52.4.14 | Communication using DMA (direct memory addressing) . . . . . | 2415 |
| 52.5 | SPI specific modes and control . . . . . | 2417 |
| 52.5.1 | TI mode . . . . . | 2417 |
| 52.5.2 | SPI error flags . . . . . | 2417 |
| 52.5.3 | CRC computation . . . . . | 2421 |
| 52.6 | SPI in low-power modes . . . . . | 2422 |
| 52.7 | SPI interrupts . . . . . | 2422 |
| 52.8 | I2S main features . . . . . | 2424 |
| 52.9 | I2S functional description . . . . . | 2424 |
| 52.9.1 | I2S general description . . . . . | 2424 |
| 52.9.2 | Pin sharing with SPI function . . . . . | 2425 |
| 52.9.3 | Bitfields usable in I2S/PCM mode . . . . . | 2425 |
| 52.9.4 | Slave and master modes . . . . . | 2426 |
| 52.9.5 | Supported audio protocols . . . . . | 2426 |
| 52.9.6 | Additional serial interface flexibility . . . . . | 2432 |
| 52.9.7 | Startup sequence . . . . . | 2434 |
| 52.9.8 | Stop sequence . . . . . | 2436 |
| 52.9.9 | Clock generator . . . . . | 2437 |
| 52.9.10 | Internal FIFOs . . . . . | 2439 |
| 52.9.11 | FIFO status flags . . . . . | 2440 |
| 52.9.12 | Handling of underrun situation . . . . . | 2440 |
| 52.9.13 | Handling of overrun situation . . . . . | 2441 |
| 52.9.14 | Frame error detection . . . . . | 2442 |
| 52.9.15 | DMA interface . . . . . | 2444 |
| 52.9.16 | Programing examples . . . . . | 2444 |
| 52.10 | I2S interrupts . . . . . | 2447 |
| 52.11 | SPI/I2S registers . . . . . | 2447 |
| 52.11.1 | SPI/I2S control register 1 (SPI_CR1) . . . . . | 2447 |
| 52.11.2 | SPI/I2S control register 2 (SPI_CR2) . . . . . | 2449 |
| 52.11.3 | SPI/I2S configuration register 1 (SPI_CFG1) . . . . . | 2450 |
| 52.11.4 | SPI/I2S configuration register 2 (SPI_CFG2) . . . . . | 2453 |
| 52.11.5 | SPI/I2S interrupt enable register (SPI_IER) . . . . . | 2455 |
| 52.11.6 | SPI/I2S status register (SPI_SR) . . . . . | 2456 |
| 52.11.7 | SPI/I2S interrupt/status flags clear register (SPI_IFCR) . . . . . | 2459 |
| 52.11.8 | SPI/I2S transmit data register (SPI_TXDR) . . . . . | 2460 |
| 52.11.9 | SPI/I2S receive data register (SPI_RXDR) . . . . . | 2460 |
| 52.11.10 | SPI/I2S polynomial register (SPI_CRCPOLY) . . . . . | 2461 |
| 52.11.11 | SPI/I2S transmitter CRC register (SPI_TXCRC) . . . . . | 2461 |
| 52.11.12 | SPI/I2S receiver CRC register (SPI_RXCRC) . . . . . | 2462 |
| 52.11.13 | SPI/I2S underrun data register (SPI_UDRDR) . . . . . | 2463 |
| 52.11.14 | SPI/I2S configuration register (SPI_I2SCFGR) . . . . . | 2463 |
| 52.11.15 | SPI/I2S register map . . . . . | 2465 |
| 53 | Serial audio interface (SAI) . . . . . | 2467 |
| 53.1 | SAI introduction . . . . . | 2467 |
| 53.2 | SAI main features . . . . . | 2467 |
| 53.3 | SAI implementation . . . . . | 2468 |
| 53.4 | SAI functional description . . . . . | 2469 |
| 53.4.1 | SAI block diagram . . . . . | 2469 |
| 53.4.2 | SAI pins and internal signals . . . . . | 2470 |
| 53.4.3 | Main SAI modes . . . . . | 2471 |
| 53.4.4 | SAI synchronization mode . . . . . | 2472 |
| 53.4.5 | Audio data size . . . . . | 2473 |
| 53.4.6 | Frame synchronization . . . . . | 2473 |
| 53.4.7 | Slot configuration . . . . . | 2476 |
| 53.4.8 | SAI clock generator . . . . . | 2478 |
| 53.4.9 | Internal FIFOs . . . . . | 2481 |
| 53.4.10 | PDM interface . . . . . | 2483 |
| 53.4.11 | AC'97 link controller . . . . . | 2491 |
| 53.4.12 | SPDIF output . . . . . | 2493 |
| 53.4.13 | Specific features . . . . . | 2496 |
| 53.4.14 | Error flags . . . . . | 2500 |
| 53.4.15 | Disabling the SAI . . . . . | 2503 |
| 53.4.16 | SAI DMA interface . . . . . | 2503 |
| 53.5 | SAI interrupts . . . . . | 2504 |
| 53.6 | SAI registers . . . . . | 2506 |
| 53.6.1 | SAI global configuration register (SAI_GCR) . . . . . | 2506 |
| 53.6.2 | SAI configuration register 1 (SAI_ACR1) . . . . . | 2506 |
| 53.6.3 | SAI configuration register 2 (SAI_ACR2) . . . . . | 2509 |
| 53.6.4 | SAI frame configuration register (SAI_AFRCR) . . . . . | 2511 |
| 53.6.5 | SAI slot register (SAI_ASLOTR) . . . . . | 2512 |
| 53.6.6 | SAI interrupt mask register (SAI_AIM) . . . . . | 2513 |
| 53.6.7 | SAI status register (SAI_ASR) . . . . . | 2515 |
| 53.6.8 | SAI clear flag register (SAI_ACLRFR) . . . . . | 2517 |
| 53.6.9 | SAI data register (SAI_ADR) . . . . . | 2518 |
| 53.6.10 | SAI configuration register 1 (SAI_BCR1) . . . . . | 2518 |
| 53.6.11 | SAI configuration register 2 (SAI_BCR2) . . . . . | 2521 |
| 53.6.12 | SAI frame configuration register (SAI_BFRCR) . . . . . | 2523 |
| 53.6.13 | SAI slot register (SAI_BSLOTR) . . . . . | 2524 |
| 53.6.14 | SAI interrupt mask register (SAI_BIM) . . . . . | 2525 |
| 53.6.15 | SAI status register (SAI_BSR) . . . . . | 2526 |
| 53.6.16 | SAI clear flag register (SAI_BCLRFR) . . . . . | 2528 |
| 53.6.17 | SAI data register (SAI_BDR) . . . . . | 2529 |
| 53.6.18 | SAI PDM control register (SAI_PDMCR) . . . . . | 2530 |
| 53.6.19 | SAI PDM delay register (SAI_PDMDLY) . . . . . | 2531 |
| 53.6.20 | SAI register map . . . . . | 2533 |
| 54 | FD controller area network (FDCAN) . . . . . | 2535 |
| 54.1 | FDCAN introduction . . . . . | 2535 |
| 54.2 | FDCAN main features . . . . . | 2537 |
| 54.3 | FDCAN functional description . . . . . | 2538 |
| 54.3.1 | FDCAN block diagram . . . . . | 2538 |
| 54.3.2 | FDCAN pins and internal signals . . . . . | 2539 |
| 54.3.3 | Bit timing . . . . . | 2540 |
| 54.3.4 | Operating modes . . . . . | 2541 |
| 54.3.5 | Error management . . . . . | 2550 |
| 54.3.6 | Message RAM . . . . . | 2551 |
| 54.3.7 | FIFO acknowledge handling . . . . . | 2560 |
| 54.3.8 | FDCAN Rx FIFO element . . . . . | 2560 |
| 54.3.9 | FDCAN Tx buffer element . . . . . | 2562 |
| 54.3.10 | FDCAN Tx event FIFO element . . . . . | 2564 |
| 54.3.11 | FDCAN standard message ID filter element . . . . . | 2565 |
| 54.3.12 | FDCAN extended message ID filter element . . . . . | 2566 |
| 54.4 | FDCAN registers . . . . . | 2568 |
| 54.4.1 | FDCAN core release register (FDCAN_CREL) . . . . . | 2568 |
| 54.4.2 | FDCAN endian register (FDCAN_ENDN) . . . . . | 2568 |
| 54.4.3 | FDCAN data bit timing and prescaler register (FDCAN_DBTP) . . . . . | 2568 |
| 54.4.4 | FDCAN test register (FDCAN_TEST) . . . . . | 2569 |
| 54.4.5 | FDCAN RAM watchdog register (FDCAN_RWD) . . . . . | 2570 |
| 54.4.6 | FDCAN CC control register (FDCAN_CCCR) . . . . . | 2571 |
| 54.4.7 | FDCAN nominal bit timing and prescaler register (FDCAN_NBTP) . . . . . | 2572 |
| 54.4.8 | FDCAN timestamp counter configuration register (FDCAN_TSCC) . . . . . | 2574 |
| 54.4.9 | FDCAN timestamp counter value register (FDCAN_TSCV) . . . . . | 2574 |
| 54.4.10 | FDCAN timeout counter configuration register (FDCAN_TOCC) . . . . . | 2575 |
| 54.4.11 | FDCAN timeout counter value register (FDCAN_TOCV) . . . . . | 2576 |
| 54.4.12 | FDCAN error counter register (FDCAN_ECR) . . . . . | 2576 |
| 54.4.13 | FDCAN protocol status register (FDCAN_PSR) . . . . . | 2577 |
| 54.4.14 | FDCAN transmitter delay compensation register (FDCAN_TDCR) . . . . . | 2579 |
| 54.4.15 | FDCAN interrupt register (FDCAN_IR) . . . . . | 2579 |
| 54.4.16 | FDCAN interrupt enable register (FDCAN_IE) . . . . . | 2582 |
| 54.4.17 | FDCAN interrupt line select register (FDCAN_ILS) . . . . . | 2584 |
| 54.4.18 | FDCAN interrupt line enable register (FDCAN_ILE) . . . . . | 2585 |
| 54.4.19 | FDCAN global filter configuration register (FDCAN_RXGFC) . . . . . | 2585 |
| 54.4.20 | FDCAN extended ID and mask register (FDCAN_XIDAM) . . . . . | 2587 |
| 54.4.21 | FDCAN high-priority message status register (FDCAN_HPMS) . . . . . | 2587 |
| 54.4.22 | FDCAN Rx FIFO 0 status register (FDCAN_RXF0S) . . . . . | 2588 |
| 54.4.23 | CAN Rx FIFO 0 acknowledge register (FDCAN_RXF0A) . . . . . | 2589 |
| 54.4.24 | FDCAN Rx FIFO 1 status register (FDCAN_RXF1S) . . . . . | 2589 |
| 54.4.25 | FDCAN Rx FIFO 1 acknowledge register (FDCAN_RXF1A) . . . . . | 2590 |
| 54.4.26 | FDCAN Tx buffer configuration register (FDCAN_TXBC) . . . . . | 2590 |
| 54.4.27 | FDCAN Tx FIFO/queue status register (FDCAN_TXFQS) . . . . . | 2591 |
| 54.4.28 | FDCAN Tx buffer request pending register (FDCAN_TXBRP) . . . . . | 2591 |
| 54.4.29 | FDCAN Tx buffer add request register (FDCAN_TXBAR) . . . . . | 2592 |
| 54.4.30 | FDCAN Tx buffer cancellation request register (FDCAN_TXBCR) . . . . . | 2593 |
| 54.4.31 | FDCAN Tx buffer transmission occurred register (FDCAN_TXBTO) . . . . . | 2593 |
| 54.4.32 | FDCAN Tx buffer cancellation finished register (FDCAN_TXBCF) . . . . . | 2594 |
| 54.4.33 | FDCAN Tx buffer transmission interrupt enable register (FDCAN_TXBTIE) . . . . . | 2594 |
| 54.4.34 | FDCAN Tx buffer cancellation finished interrupt enable register (FDCAN_TXBCIE) . . . . . | 2595 |
| 54.4.35 | FDCAN Tx event FIFO status register (FDCAN_TXEFS) . . . . . | 2595 |
| 54.4.36 | FDCAN Tx event FIFO acknowledge register (FDCAN_TXEFA) . . . | 2596 |
| 54.4.37 | FDCAN CFG clock divider register (FDCAN_CKDIV) . . . . . | 2596 |
| 54.4.38 | FDCAN register map . . . . . | 2597 |
| 55 | Universal serial bus full-speed host/device interface (USB) . . . . . | 2601 |
| 55.1 | USB introduction . . . . . | 2601 |
| 55.2 | USB main features . . . . . | 2601 |
| 55.3 | USB implementation . . . . . | 2601 |
| 55.4 | USB functional description . . . . . | 2602 |
| 55.4.1 | USB block diagram . . . . . | 2602 |
| 55.4.2 | USB pins and internal signals . . . . . | 2602 |
| 55.4.3 | USB reset and clocks . . . . . | 2603 |
| 55.4.4 | General description and Device mode functionality . . . . . | 2603 |
| 55.4.5 | Description of USB blocks used in both Device and Host modes . . . | 2604 |
| 55.4.6 | Description of host frame scheduler (HFS) specific to Host mode . . | 2605 |
| 55.5 | Programming considerations for Device and Host modes . . . . . | 2606 |
| 55.5.1 | Generic USB Device programming . . . . . | 2606 |
| 55.5.2 | System and power-on reset . . . . . | 2606 |
| 55.5.3 | Double-buffered endpoints and usage in Device mode . . . . . | 2613 |
| 55.5.4 | Double buffered channels: usage in Host mode . . . . . | 2615 |
| 55.5.5 | Isochronous transfers in Device mode . . . . . | 2616 |
| 55.5.6 | Isochronous transfers in Host mode . . . . . | 2617 |
| 55.5.7 | Suspend/resume events . . . . . | 2618 |
| 55.6 | USB registers . . . . . | 2622 |
| 55.6.1 | USB control register (USB_CNTR) . . . . . | 2622 |
| 55.6.2 | USB interrupt status register (USB_ISTR) . . . . . | 2625 |
| 55.6.3 | USB frame number register (USB_FNR) . . . . . | 2629 |
| 55.6.4 | USB Device address (USB_DADDR) . . . . . | 2629 |
| 55.6.5 | USB LPM control and status register (USB_LPMCSR) . . . . . | 2630 |
| 55.6.6 | USB battery charging detector (USB_BCDR) . . . . . | 2631 |
| 55.6.7 | USB endpoint/channel n register (USB_CHEPnR) . . . . . | 2632 |
| 55.6.8 | USB register map . . . . . | 2641 |
| 55.7 | USB SRAM registers . . . . . | 2642 |
| 55.7.1 | Channel/endpoint transmit buffer descriptor n (USB_CHEP_TXRXBD_n) . . . . . | 2643 |
| 55.7.2 | Channel/endpoint receive buffer descriptor n [alternate] (USB_CHEP_TXRXBD_n) . . . . . | 2643 |
| 55.7.3 | Channel/endpoint receive buffer descriptor n (USB_CHEP_RXTXBD_n) | 2645 |
| 55.7.4 | Channel/endpoint transmit buffer descriptor n [alternate] (USB_CHEP_RXTXBD_n) | 2646 |
| 55.7.5 | USBSRAM register map | 2647 |
| 56 | USB Type-C ® /USB Power Delivery interface (UCPD) | 2648 |
| 56.1 | UCPD introduction | 2648 |
| 56.2 | UCPD main features | 2648 |
| 56.3 | UCPD implementation | 2649 |
| 56.4 | UCPD functional description | 2649 |
| 56.4.1 | UCPD block diagram | 2650 |
| 56.4.2 | UCPD reset and clocks | 2651 |
| 56.4.3 | Physical layer protocol | 2652 |
| 56.4.4 | UCPD BMC transmitter | 2658 |
| 56.4.5 | UCPD BMC receiver | 2660 |
| 56.4.6 | UCPD Type-C pull-ups (Rp) and pull-downs (Rd) | 2661 |
| 56.4.7 | UCPD Type-C voltage monitoring and de-bouncing | 2662 |
| 56.4.8 | UCPD fast role swap (FRS) | 2662 |
| 56.4.9 | UCPD DMA Interface | 2662 |
| 56.4.10 | Wake-up from Stop mode | 2662 |
| 56.5 | UCPD programming sequences | 2663 |
| 56.5.1 | Initialization phase | 2663 |
| 56.5.2 | Type-C state machine handling | 2663 |
| 56.5.3 | USB PD transmit | 2665 |
| 56.5.4 | USB PD receive | 2666 |
| 56.5.5 | UCPD software trimming | 2667 |
| 56.6 | UCPD low-power modes | 2667 |
| 56.7 | UCPD interrupts | 2668 |
| 56.8 | UCPD registers | 2669 |
| 56.8.1 | UCPD configuration register 1 (UCPD_CFGR1) | 2669 |
| 56.8.2 | UCPD configuration register 2 (UCPD_CFGR2) | 2671 |
| 56.8.3 | UCPD configuration register 3 (UCPD_CFGR3) | 2671 |
| 56.8.4 | UCPD control register (UCPD_CR) | 2672 |
| 56.8.5 | UCPD interrupt mask register (UCPD_IMR) | 2674 |
| 56.8.6 | UCPD status register (UCPD_SR) | 2676 |
| 56.8.7 | UCPD interrupt clear register (UCPD_ICR) | 2679 |
| 56.8.8 | UCPD Tx ordered set type register (UCPD_TX_ORDSETR) . . . . . | 2680 |
| 56.8.9 | UCPD Tx payload size register (UCPD_TX_PAYSZR) . . . . . | 2680 |
| 56.8.10 | UCPD Tx data register (UCPD_TXDR) . . . . . | 2681 |
| 56.8.11 | UCPD Rx ordered set register (UCPD_RX_ORDSETR) . . . . . | 2681 |
| 56.8.12 | UCPD Rx payload size register (UCPD_RX_PAYSZR) . . . . . | 2682 |
| 56.8.13 | UCPD receive data register (UCPD_RXDR) . . . . . | 2683 |
| 56.8.14 | UCPD Rx ordered set extension register 1 (UCPD_RX_ORDEXTR1) . . . . . | 2683 |
| 56.8.15 | UCPD Rx ordered set extension register 2 (UCPD_RX_ORDEXTR2) . . . . . | 2684 |
| 56.8.16 | UCPD register map . . . . . | 2684 |
| 57 | Ethernet (ETH): media access control (MAC) with DMA controller . . . . . | 2687 |
| 57.1 | Ethernet introduction . . . . . | 2687 |
| 57.2 | Ethernet main features . . . . . | 2687 |
| 57.2.1 | Standard compliance . . . . . | 2687 |
| 57.2.2 | MAC features . . . . . | 2687 |
| 57.2.3 | Transaction layer (MTL) features . . . . . | 2689 |
| 57.2.4 | DMA block features . . . . . | 2690 |
| 57.2.5 | Bus interface features . . . . . | 2690 |
| 57.3 | Ethernet pins and internal signals . . . . . | 2691 |
| 57.4 | Ethernet architecture . . . . . | 2692 |
| 57.4.1 | DMA controller . . . . . | 2693 |
| 57.4.2 | MTL . . . . . | 2701 |
| 57.4.3 | MAC . . . . . | 2702 |
| 57.5 | Ethernet functional description: MAC . . . . . | 2707 |
| 57.5.1 | Double VLAN processing . . . . . | 2707 |
| 57.5.2 | Source address and VLAN insertion, replacement, or deletion . . . . . | 2708 |
| 57.5.3 | Packet filtering . . . . . | 2710 |
| 57.5.4 | IEEE 1588 timestamp support . . . . . | 2716 |
| 57.5.5 | Checksum offload engine . . . . . | 2741 |
| 57.5.6 | TCP segmentation offload . . . . . | 2747 |
| 57.5.7 | IPv4 ARP offload . . . . . | 2753 |
| 57.5.8 | Loopback . . . . . | 2754 |
| 57.5.9 | Flow control . . . . . | 2755 |
| 57.5.10 | MAC management counters . . . . . | 2758 |
| 57.5.11 | Interrupts generated by the MAC . . . . . | 2760 |
| 57.5.12 | MAC and MMC register descriptions . . . . . | 2760 |
| 57.6 | Ethernet functional description: PHY interfaces . . . . . | 2761 |
| 57.6.1 | Station management agent (SMA) . . . . . | 2761 |
| 57.6.2 | Media independent interface (MII) . . . . . | 2768 |
| 57.6.3 | Reduced media independent interface (RMII) . . . . . | 2769 |
| 57.7 | Ethernet low-power modes . . . . . | 2772 |
| 57.7.1 | Low-power management . . . . . | 2772 |
| 57.7.2 | Energy Efficient Ethernet (EEE) . . . . . | 2778 |
| 57.8 | Ethernet interrupts . . . . . | 2784 |
| 57.8.1 | DMA interrupts . . . . . | 2784 |
| 57.8.2 | MTL interrupts . . . . . | 2786 |
| 57.8.3 | MAC Interrupts . . . . . | 2786 |
| 57.9 | Ethernet programming model . . . . . | 2787 |
| 57.9.1 | DMA initialization . . . . . | 2787 |
| 57.9.2 | MTL initialization . . . . . | 2788 |
| 57.9.3 | MAC initialization . . . . . | 2788 |
| 57.9.4 | Performing normal receive and transmit operation . . . . . | 2789 |
| 57.9.5 | Stopping and starting transmission . . . . . | 2790 |
| 57.9.6 | Programming guidelines for switching to new descriptor list in RxDMA . . . . . | 2790 |
| 57.9.7 | Programming guidelines for switching the AHB clock frequency . . . . . | 2790 |
| 57.9.8 | Programming guidelines for MII link state transitions . . . . . | 2791 |
| 57.9.9 | Programming guidelines for IEEE 1588 timestamping . . . . . | 2792 |
| 57.9.10 | Programming guidelines for PTP offload feature . . . . . | 2793 |
| 57.9.11 | Programming guidelines for Energy Efficient Ethernet (EEE) . . . . . | 2797 |
| 57.9.12 | Programming guidelines for flexible pulse-per-second (PPS) output . . . . . | 2799 |
| 57.9.13 | Programming guidelines for IEEE 1588 auxiliary snapshot . . . . . | 2801 |
| 57.9.14 | Programming guidelines for TSO . . . . . | 2801 |
| 57.9.15 | Programming guidelines to perform VLAN filtering on the receiver . . . . . | 2802 |
| 57.10 | Descriptors . . . . . | 2803 |
| 57.10.1 | Descriptor overview . . . . . | 2803 |
| 57.10.2 | Descriptor structure . . . . . | 2803 |
| 57.10.3 | Transmit descriptor . . . . . | 2807 |
| 57.10.4 | Receive descriptor . . . . . | 2820 |
| 57.11 | Ethernet registers . . . . . | 2832 |
| 57.11.1 | Ethernet register maps . . . . . | 2832 |
- 57.11.2 Ethernet DMA registers . . . . . 2832
- 57.11.3 Ethernet MTL registers . . . . . 2856
- 57.11.4 Ethernet MAC and MMC registers . . . . . 2868
- 58 HDMI-CEC controller (CEC) . . . . . 2964
- 58.1 HDMI-CEC introduction . . . . . 2964
- 58.2 HDMI-CEC controller main features . . . . . 2964
- 58.3 HDMI-CEC functional description . . . . . 2965
- 58.3.1 HDMI-CEC pin and internal signals . . . . . 2965
- 58.3.2 HDMI-CEC block diagram . . . . . 2966
- 58.3.3 Message description . . . . . 2966
- 58.3.4 Bit timing . . . . . 2967
- 58.4 Arbitration . . . . . 2967
- 58.4.1 SFT option bit . . . . . 2969
- 58.5 Error handling . . . . . 2969
- 58.5.1 Bit error . . . . . 2969
- 58.5.2 Message error . . . . . 2970
- 58.5.3 Bit rising error (BRE) . . . . . 2970
- 58.5.4 Short bit period error (SBPE) . . . . . 2970
- 58.5.5 Long bit period error (LBPE) . . . . . 2970
- 58.5.6 Transmission error detection (TXERR) . . . . . 2972
- 58.6 HDMI-CEC interrupts . . . . . 2973
- 58.7 HDMI-CEC registers . . . . . 2974
- 58.7.1 CEC control register (CEC_CR) . . . . . 2974
- 58.7.2 CEC configuration register (CEC_CFGR) . . . . . 2975
- 58.7.3 CEC Tx data register (CEC_TXDR) . . . . . 2977
- 58.7.4 CEC Rx data register (CEC_RXDR) . . . . . 2977
- 58.7.5 CEC interrupt and status register (CEC_ISR) . . . . . 2977
- 58.7.6 CEC interrupt enable register (CEC_IER) . . . . . 2979
- 58.7.7 HDMI-CEC register map . . . . . 2981
- 59 Debug support (DBG) . . . . . 2982
- 59.1 DBG introduction . . . . . 2982
- 59.2 DBG functional description . . . . . 2983
- 59.2.1 DBG block diagram . . . . . 2983
- 59.2.2 DBG pins and internal signals . . . . . 2983
| 59.2.3 | DBG reset and clocks . . . . . | 2984 |
| 59.2.4 | DBG power domains . . . . . | 2984 |
| 59.2.5 | Debug and low-power modes . . . . . | 2984 |
| 59.2.6 | Security . . . . . | 2985 |
| 59.2.7 | Debug authentication . . . . . | 2987 |
| 59.3 | Serial-wire and JTAG debug port (SWJ-DP) . . . . . | 2990 |
| 59.3.1 | JTAG debug port . . . . . | 2991 |
| 59.3.2 | Serial-wire debug port . . . . . | 2993 |
| 59.3.3 | Debug port registers . . . . . | 2995 |
| 59.3.4 | Debug port register map and reset values . . . . . | 3001 |
| 59.4 | Access ports . . . . . | 3002 |
| 59.4.1 | Access port registers . . . . . | 3003 |
| 59.4.2 | Access port register map . . . . . | 3009 |
| 59.5 | ROM tables . . . . . | 3010 |
| 59.5.1 | System ROM table registers . . . . . | 3013 |
| 59.5.2 | System ROM table register map . . . . . | 3017 |
| 59.5.3 | MCU ROM table registers . . . . . | 3018 |
| 59.5.4 | MCU ROM table register map . . . . . | 3022 |
| 59.5.5 | Processor ROM table registers . . . . . | 3023 |
| 59.5.6 | Processor ROM table register map . . . . . | 3028 |
| 59.6 | Data watchpoint and trace unit (DWT) . . . . . | 3029 |
| 59.6.1 | DWT registers . . . . . | 3029 |
| 59.6.2 | DWT register map . . . . . | 3043 |
| 59.7 | Instrumentation trace macrocell (ITM) . . . . . | 3046 |
| 59.7.1 | ITM registers . . . . . | 3046 |
| 59.7.2 | ITM register map . . . . . | 3054 |
| 59.8 | Breakpoint unit (BPU) . . . . . | 3056 |
| 59.8.1 | BPU registers . . . . . | 3056 |
| 59.8.2 | BPU register map . . . . . | 3062 |
| 59.9 | Embedded Trace Macrocell (ETM) . . . . . | 3063 |
| 59.9.1 | ETM registers . . . . . | 3063 |
| 59.9.2 | ETM register map . . . . . | 3087 |
| 59.10 | Trace port interface unit (TPIU) . . . . . | 3091 |
| 59.10.1 | TPIU registers . . . . . | 3092 |
| 59.10.2 | TPIU register map . . . . . | 3101 |
| 59.11 | Cross-trigger interface (CTI) . . . . . | 3103 |
- 59.11.1 CTI registers . . . . . 3104
- 59.11.2 CTI register map . . . . . 3114
- 59.12 Microcontroller debug unit (DBGMCU) . . . . . 3116
- 59.12.1 Device ID . . . . . 3116
- 59.12.2 Low-power mode emulation . . . . . 3116
- 59.12.3 Peripheral clock freeze . . . . . 3117
- 59.12.4 DBGMCU registers . . . . . 3118
- 59.12.5 DBGMCU register map . . . . . 3132
- 59.13 References . . . . . 3135
- 60 Device electronic signature . . . . . 3136
- 60.1 Unique device ID register (96 bits) . . . . . 3136
- 60.2 Flash size data register . . . . . 3137
- 60.3 Package data register . . . . . 3137
- 61 Important security notice . . . . . 3139
- 62 Revision history . . . . . 3140
List of tables
| Table 1. | Implementation of masters . . . . . | 106 |
| Table 2. | Implementation of slaves . . . . . | 106 |
| Table 3. | Securable peripherals by TZSC . . . . . | 110 |
| Table 4. | TrustZone-aware peripherals . . . . . | 114 |
| Table 5. | Memory map and peripheral register addresses (STM32H562/563/573xx) . . . . . | 118 |
| Table 6. | Memory map and peripheral register addresses (STM32H523/533xx) . . . . . | 123 |
| Table 7. | Configuring security attributes with IDAU and SAU . . . . . | 136 |
| Table 8. | MPCWMx resources . . . . . | 138 |
| Table 9. | MPCBBx resources (STM32H562/63/73xx devices) . . . . . | 138 |
| Table 10. | MPCBBx resources (STM32H523/33xx devices) . . . . . | 138 |
| Table 11. | DMA channel use (security) . . . . . | 142 |
| Table 12. | Secure alternate function between peripherals and allocated I/Os . . . . . | 144 |
| Table 13. | Nonsecure peripheral functions that cannot be connected to secure I/Os . . . . . | 145 |
| Table 14. | Nonsecure peripheral functions that can be connected to secure I/Os . . . . . | 145 |
| Table 15. | TrustZone-aware DBGMCU nonsecure accesses management . . . . . | 146 |
| Table 16. | DMA channel use (privilege) . . . . . | 150 |
| Table 17. | Internal tampers in TAMP . . . . . | 154 |
| Table 18. | Effect of low-power modes on TAMP . . . . . | 155 |
| Table 19. | Accelerated cryptographic operations . . . . . | 158 |
| Table 20. | Main product life cycle transitions . . . . . | 160 |
| Table 21. | Typical product life cycle phases . . . . . | 161 |
| Table 22. | Software intellectual property protection with PRODUCT_STAT . . . . . | 166 |
| Table 23. | Boot mode when TrustZone is disabled (TZEN = 0xC3) - STM32H523/62/63xx devices . . . . . | 170 |
| Table 24. | Boot mode when TrustZone is enabled (TZEN = 0xB4) - STM32H523/62/63xx devices . . . . . | 170 |
| Table 25. | Boot mode when TrustZone is disabled (TZEN = 0xC3) - STM32H533/73xx . . . . . | 171 |
| Table 26. | Boot mode when TrustZone is enabled (TZEN = 0xB4) - STM32H533/73xx . . . . . | 171 |
| Table 27. | GTZC features . . . . . | 174 |
| Table 28. | GTZC1 sub-block address offset . . . . . | 175 |
| Table 29. | MPCWM resource assignment . . . . . | 175 |
| Table 30. | MPCWM3 and MPCWM4 (subregions A and B) . . . . . | 175 |
| Table 31. | MPCBB resource assignment (STM32H562/63/73xx devices) . . . . . | 175 |
| Table 32. | MPCBB resource assignment (STM32H523/33xx devices) . . . . . | 176 |
| Table 33. | Secure properties of subregions A and B . . . . . | 179 |
| Table 34. | Privileged properties of subregions A and B . . . . . | 179 |
| Table 35. | GTZC interrupt request . . . . . | 180 |
| Table 36. | GTZC1 TZSC register map and reset values . . . . . | 199 |
| Table 37. | GTZC1 TZIC register map and reset values . . . . . | 227 |
| Table 38. | GTZC1 MPCBBz register map and reset values (z = 1 to 3) . . . . . | 231 |
| Table 39. | SRAMs density (Kbytes) . . . . . | 232 |
| Table 40. | Internal SRAMs features . . . . . | 233 |
| Table 41. | SRAM2 features . . . . . | 235 |
| Table 42. | Effect of low-power modes on RAMCFG . . . . . | 236 |
| Table 43. | RAMCFG interrupt requests . . . . . | 236 |
| Table 44. | RAMCFG register map and reset values . . . . . | 243 |
| Table 45. | Recommended number of wait states and programming delay . . . . . | 252 |
| Table 46. | Flash memory OTP organization . . . . . | 261 |
| Table 47. | Read-only public data organization . . . . . | 262 |
| Table 48. | Memory map and swapping options (STM32H562/563/573xx devices) . . . . . | 265 |
| Table 49. | Memory map and swapping options (STM32H523/533xx devices) . . . . . | 265 |
| Table 50. | Recommended reactions to FLASH_OPSR contents . . . . . | 268 |
| Table 51. | Option bytes organization . . . . . | 271 |
| Table 52. | Specific modifying rules . . . . . | 275 |
| Table 53. | OB modifiable in closed product . . . . . | 275 |
| Table 54. | Option bytes key area . . . . . | 277 |
| Table 55. | Default secure watermark . . . . . | 283 |
| Table 56. | Flash memory TZ protection summary . . . . . | 283 |
| Table 57. | TZ protection and bank or mass erase summary . . . . . | 284 |
| Table 58. | Secure watermark-based area . . . . . | 285 |
| Table 59. | Secure hide protection . . . . . | 286 |
| Table 60. | HDP protections summary . . . . . | 287 |
| Table 61. | Secure configuration block-based registers access conditions . . . . . | 287 |
| Table 62. | Privilege protection summary . . . . . | 288 |
| Table 63. | Privilege and mass or bank erase . . . . . | 288 |
| Table 64. | Privilege configuration register access conditions (TZ enabled) . . . . . | 288 |
| Table 65. | Privilege configuration register access conditions (TZ disabled) . . . . . | 289 |
| Table 66. | Flash register accesses . . . . . | 289 |
| Table 67. | Flash interface register protection summary . . . . . | 292 |
| Table 68. | High-cycle area protection summary: access to data area address range . . . . . | 293 |
| Table 69. | HDP protected definition . . . . . | 293 |
| Table 70. | Privileged sectors and data area - Access to data area address range . . . . . | 293 |
| Table 71. | Product states, debug states and debug policy . . . . . | 294 |
| Table 72. | PRODUCT_STATE transitions . . . . . | 296 |
| Table 73. | TZ OBK protection summary . . . . . | 297 |
| Table 74. | OBK protection summary with TZ disabled . . . . . | 298 |
| Table 75. | Access conditions to secure control register . . . . . | 298 |
| Table 76. | Access conditions to non-secure control register . . . . . | 298 |
| Table 77. | OTP/RO access constraints . . . . . | 299 |
| Table 78. | RSSLIB/NSSLIB accesses . . . . . | 299 |
| Table 79. | RSSLIB/NSSLIB entry point access . . . . . | 300 |
| Table 80. | RSS lib interface functions . . . . . | 300 |
| Table 81. | NSS lib interface functions . . . . . | 304 |
| Table 82. | Effect of low-power modes on the embedded flash memory . . . . . | 306 |
| Table 83. | Locating ECC failure . . . . . | 313 |
| Table 84. | Flash interrupt request . . . . . | 316 |
| Table 85. | Register map and reset value table . . . . . | 361 |
| Table 86. | ICACHE features . . . . . | 367 |
| Table 87. | TAG memory dimensioning parameters for n-way set associative operating mode (default) . . . . . | 369 |
| Table 88. | TAG memory dimensioning parameters for direct-mapped cache mode . . . . . | 370 |
| Table 89. | ICACHE cacheability for AHB transaction . . . . . | 372 |
| Table 90. | Memory configurations . . . . . | 372 |
| Table 91. | ICACHE remap region size, base address, and remap address . . . . . | 373 |
| Table 92. | ICACHE interrupts . . . . . | 377 |
| Table 93. | ICACHE register map and reset values . . . . . | 382 |
| Table 94. | DCACHE features . . . . . | 384 |
| Table 95. | TAG memory dimensioning parameters . . . . . | 387 |
| Table 96. | DCACHE cacheability for AHB transaction . . . . . | 389 |
| Table 97. | DCACHE interrupts . . . . . | 394 |
| Table 98. | DCACHE register map and reset values . . . . . | 400 |
| Table 99. | PWR input/output pins . . . . . | 403 |
| Table 100. | PWR internal input/output signals . . . . . | 403 |
| Table 101. | Low-power mode summary . . . . . | 420 |
| Table 102. | Functionalities depending on the working mode . . . . . | 420 |
| Table 103. | Sleep mode . . . . . | 424 |
| Table 104. | Memory shut-off block selection . . . . . | 425 |
| Table 105. | Stop mode . . . . . | 427 |
| Table 106. | Standby mode . . . . . | 430 |
| Table 107. | Power modes output states versus MCU power modes . . . . . | 430 |
| Table 108. | PWR security configuration summary . . . . . | 431 |
| Table 109. | PWR interrupt requests . . . . . | 433 |
| Table 110. | PWR register map and reset values . . . . . | 450 |
| Table 111. | RCC input/output signals connected to package pins or balls . . . . . | 452 |
| Table 112. | Reset source identification (RCC_RSR) . . . . . | 454 |
| Table 113. | STOPWUCK and STOPKERWUCK description . . . . . | 466 |
| Table 114. | HSIKERON and CSIKERON behavior . . . . . | 467 |
| Table 115. | Kernel clock distribution overview . . . . . | 469 |
| Table 116. | RCC security configuration summary . . . . . | 475 |
| Table 117. | Interrupt sources and control . . . . . | 479 |
| Table 118. | RCC register map and reset values . . . . . | 557 |
| Table 119. | CRS features . . . . . | 563 |
| Table 120. | CRS internal input/output signals . . . . . | 564 |
| Table 121. | CRS interconnection . . . . . | 565 |
| Table 122. | Effect of low-power modes on CRS . . . . . | 568 |
| Table 123. | Interrupt control bits . . . . . | 568 |
| Table 124. | CRS register map and reset values . . . . . | 573 |
| Table 125. | Port bit configuration . . . . . | 576 |
| Table 126. | GPIO secured bits . . . . . | 584 |
| Table 127. | GPIO register map and reset values . . . . . | 594 |
| Table 128. | SBS internal input/output signals . . . . . | 598 |
| Table 129. | HDPL encoded values . . . . . | 602 |
| Table 130. | SBS boot logic . . . . . | 602 |
| Table 131. | OBK-HDPL logic . . . . . | 607 |
| Table 132. | SBS register map and reset values . . . . . | 620 |
| Table 133. | Peripherals interconnect matrix . . . . . | 622 |
| Table 134. | GPDMA1/2 channel implementation . . . . . | 633 |
| Table 135. | GPDMA1/2 wake-up in low-power modes . . . . . | 633 |
| Table 136. | Programmed GPDMA1/2 request . . . . . | 633 |
| Table 137. | Programmed GPDMA1/2 request as a block request . . . . . | 638 |
| Table 138. | GPDMA1/2 channel with peripheral early termination . . . . . | 638 |
| Table 139. | Programmed GPDMA1/2 request with peripheral early termination . . . . . | 638 |
| Table 140. | Programmed GPDMA1/2 trigger . . . . . | 639 |
| Table 141. | Programmed GPDMA source/destination burst . . . . . | 660 |
| Table 142. | Programmed data handling . . . . . | 665 |
| Table 143. | Effect of low-power modes on GPDMA . . . . . | 678 |
| Table 144. | GPDMA interrupt requests . . . . . | 679 |
| Table 145. | GPDMA register map and reset values . . . . . | 708 |
| Table 146. | STM32H562/563/573xx vector table . . . . . | 712 |
| Table 147. | STM32H523/533xx vector table . . . . . | 717 |
| Table 148. | EXTI signals . . . . . | 723 |
| Table 149. | EVG signals . . . . . | 724 |
| Table 150. | EXTI line connections . . . . . | 724 |
| Table 151. | Masking functionality . . . . . | 728 |
| Table 152. | Register protection overview . . . . . | 729 |
| Table 153. | EXTI register map sections. . . . . | 731 |
| Table 154. | EXTI register map and reset values . . . . . | 754 |
| Table 155. | CRC internal input/output signals . . . . . | 757 |
| Table 156. | CRC register map and reset values . . . . . | 762 |
| Table 157. | CORDIC functions . . . . . | 764 |
| Table 158. | Cosine parameters . . . . . | 765 |
| Table 159. | Sine parameters . . . . . | 765 |
| Table 160. | Phase parameters . . . . . | 766 |
| Table 161. | Modulus parameters . . . . . | 766 |
| Table 162. | Arctangent parameters . . . . . | 767 |
| Table 163. | Hyperbolic cosine parameters . . . . . | 767 |
| Table 164. | Hyperbolic sine parameters . . . . . | 768 |
| Table 165. | Hyperbolic arctangent parameters . . . . . | 768 |
| Table 166. | Natural logarithm parameters . . . . . | 769 |
| Table 167. | Natural log scaling factors and corresponding ranges . . . . . | 769 |
| Table 168. | Square root parameters . . . . . | 770 |
| Table 169. | Square root scaling factors and corresponding ranges . . . . . | 770 |
| Table 170. | Precision vs. number of iterations. . . . . | 773 |
| Table 171. | CORDIC register map and reset value . . . . . | 780 |
| Table 172. | Valid combinations for read and write methods . . . . . | 794 |
| Table 173. | FMAC register map and reset values . . . . . | 807 |
| Table 174. | NOR/PSRAM bank selection . . . . . | 814 |
| Table 175. | NOR/PSRAM External memory address . . . . . | 814 |
| Table 176. | NAND memory mapping and timing registers. . . . . | 814 |
| Table 177. | NAND bank selection . . . . . | 815 |
| Table 178. | SDRAM bank selection. . . . . | 815 |
| Table 179. | SDRAM address mapping . . . . . | 815 |
| Table 180. | SDRAM address mapping with 8-bit data bus width. . . . . | 816 |
| Table 181. | SDRAM address mapping with 16-bit data bus width. . . . . | 817 |
| Table 182. | Programmable NOR/PSRAM access parameters . . . . . | 818 |
| Table 183. | Non-multiplexed I/O NOR flash memory. . . . . | 819 |
| Table 184. | 16-bit multiplexed I/O NOR flash memory . . . . . | 819 |
| Table 185. | Non-multiplexed I/Os PSRAM/SRAM . . . . . | 820 |
| Table 186. | 16-Bit multiplexed I/O PSRAM . . . . . | 820 |
| Table 187. | NOR flash/PSRAM: example of supported memories and transactions . . . . . | 821 |
| Table 188. | FMC_BCRx bitfields (mode 1) . . . . . | 824 |
| Table 189. | FMC_BTRx bitfields (mode 1) . . . . . | 824 |
| Table 190. | FMC_BCRx bitfields (mode A) . . . . . | 826 |
| Table 191. | FMC_BTRx bitfields (mode A) . . . . . | 826 |
| Table 192. | FMC_BWTRx bitfields (mode A). . . . . | 827 |
| Table 193. | FMC_BCRx bitfields (mode 2/B). . . . . | 829 |
| Table 194. | FMC_BTRx bitfields (mode 2/B). . . . . | 829 |
| Table 195. | FMC_BWTRx bitfields (mode 2/B) . . . . . | 830 |
| Table 196. | FMC_BCRx bitfields (mode C) . . . . . | 831 |
| Table 197. | FMC_BTRx bitfields (mode C) . . . . . | 832 |
| Table 198. | FMC_BWTRx bitfields (mode C). . . . . | 832 |
| Table 199. | FMC_BCRx bitfields (mode D) . . . . . | 834 |
| Table 200. | FMC_BTRx bitfields (mode D) . . . . . | 835 |
| Table 201. | FMC_BWTRx bitfields (mode D). . . . . | 835 |
| Table 202. | FMC_BCRx bitfields (Muxed mode) . . . . . | 837 |
| Table 203. | FMC_BTRx bitfields (Muxed mode) . . . . . | 838 |
| Table 204. | FMC_BCRx bitfields (Synchronous multiplexed read mode) . . . . . | 843 |
| Table 205. | FMC_BTRx bitfields (Synchronous multiplexed read mode) . . . . . | 844 |
| Table 206. | FMC_BCRx bitfields (Synchronous multiplexed write mode) . . . . . | 845 |
| Table 207. | FMC_BTRx bitfields (Synchronous multiplexed write mode) . . . . . | 846 |
| Table 208. | Programmable NAND flash access parameters . . . . . | 855 |
| Table 209. | 8-bit NAND flash . . . . . | 855 |
| Table 210. | 16-bit NAND flash . . . . . | 856 |
| Table 211. | Supported memories and transactions . . . . . | 856 |
| Table 212. | ECC result relevant bits . . . . . | 865 |
| Table 213. | SDRAM signals . . . . . | 866 |
| Table 214. | FMC register map and reset values . . . . . | 882 |
| Table 215. | OCTOSPI implementation . . . . . | 886 |
| Table 216. | OCTOSPI input/output pins . . . . . | 888 |
| Table 217. | OCTOSPI internal signals . . . . . | 888 |
| Table 218. | Command/address phase description . . . . . | 897 |
| Table 219. | OctaRAM command address bit assignment (based on 64-Mbyte OctaRAM) . . . . . | 907 |
| Table 220. | Address alignment cases . . . . . | 914 |
| Table 221. | OCTOSPI interrupt requests . . . . . | 915 |
| Table 222. | OCTOSPI register map and reset values . . . . . | 938 |
| Table 223. | SDMMC instances on device . . . . . | 941 |
| Table 224. | SDMMC features . . . . . | 942 |
| Table 225. | SDMMC operation modes SD and SDIO . . . . . | 944 |
| Table 226. | SDMMC operation modes e•MMC . . . . . | 944 |
| Table 227. | SDMMC internal input/output signals . . . . . | 945 |
| Table 228. | SDMMC pins . . . . . | 946 |
| Table 229. | SDMMC Command and data phase selection . . . . . | 947 |
| Table 230. | Command token format . . . . . | 953 |
| Table 231. | Short response with CRC token format . . . . . | 954 |
| Table 232. | Short response without CRC token format . . . . . | 954 |
| Table 233. | Long response with CRC token format . . . . . | 954 |
| Table 234. | Specific Commands overview . . . . . | 955 |
| Table 235. | Command path status flags . . . . . | 956 |
| Table 236. | Command path error handling . . . . . | 956 |
| Table 237. | Data token format . . . . . | 964 |
| Table 238. | Data path status flags and clear bits . . . . . | 964 |
| Table 239. | Data path error handling . . . . . | 966 |
| Table 240. | Data FIFO access . . . . . | 967 |
| Table 241. | Transmit FIFO status flags . . . . . | 968 |
| Table 242. | Receive FIFO status flags . . . . . | 969 |
| Table 243. | AHB and SDMMC_CK clock frequency relation . . . . . | 974 |
| Table 244. | SDIO special operation control . . . . . | 974 |
| Table 245. | 4-bit mode Start, interrupt, and CRC-status Signaling detection . . . . . | 978 |
| Table 246. | CMD12 use cases . . . . . | 983 |
| Table 247. | SDMMC interrupts . . . . . | 997 |
| Table 248. | Response type and SDMMC_RESPxR registers . . . . . | 1004 |
| Table 249. | SDMMC register map . . . . . | 1020 |
| Table 250. | STM32H5 features . . . . . | 1023 |
| Table 251. | DLYB internal input/output signals . . . . . | 1024 |
| Table 252. | Delay block control . . . . . | 1025 |
| Table 253. | DLYB register map and reset values . . . . . | 1028 |
| Table 254. | ADC features . . . . . | 1031 |
| Table 255. | ADC input/output pins . . . . . | 1033 |
| Table 256. | ADC internal input/output signals . . . . . | 1033 |
| Table 257. | ADC interconnection . . . . . | 1033 |
| Table 258. | Configuring the trigger polarity for regular external triggers . . . . . | 1053 |
| Table 259. | Configuring the trigger polarity for injected external triggers . . . . . | 1054 |
| Table 260. | TSAR timings depending on resolution . . . . . | 1066 |
| Table 261. | Offset computation versus data resolution . . . . . | 1069 |
| Table 262. | Analog watchdog channel selection . . . . . | 1080 |
| Table 263. | Analog watchdog 1 comparison . . . . . | 1081 |
| Table 264. | Analog watchdog 2 and 3 comparison . . . . . | 1081 |
| Table 265. | Maximum output results versus N and M (gray cells indicate truncation) . . . . . | 1085 |
| Table 266. | Oversampler operating modes summary . . . . . | 1090 |
| Table 267. | ADC interrupts . . . . . | 1109 |
| Table 268. | DELAY bits versus ADC resolution. . . . . | 1144 |
| Table 269. | ADC global register map. . . . . | 1146 |
| Table 270. | ADC register map and reset values for each ADC (offset = 0x000 for master ADC, 0x100 for slave ADC). . . . . | 1146 |
| Table 271. | ADC register map and reset values (master and slave ADC common registers) . . . . . | 1148 |
| Table 272. | DTS internal input/output signals . . . . . | 1151 |
| Table 273. | Sampling time configuration . . . . . | 1154 |
| Table 274. | Trigger configuration . . . . . | 1155 |
| Table 275. | Temperature sensor behavior in low-power modes . . . . . | 1157 |
| Table 276. | Interrupt control bits . . . . . | 1158 |
| Table 277. | DTS register map and reset values . . . . . | 1166 |
| Table 278. | DAC features . . . . . | 1168 |
| Table 279. | DAC input/output pins . . . . . | 1170 |
| Table 280. | DAC internal input/output signals . . . . . | 1170 |
| Table 281. | DAC interconnection . . . . . | 1170 |
| Table 282. | Data format (case of 12-bit data) . . . . . | 1173 |
| Table 283. | HFSEL description . . . . . | 1173 |
| Table 284. | Sample and refresh timings . . . . . | 1179 |
| Table 285. | Channel output modes summary . . . . . | 1181 |
| Table 286. | Effect of low-power modes on DAC . . . . . | 1187 |
| Table 287. | DAC interrupts . . . . . | 1188 |
| Table 288. | DAC register map and reset values . . . . . | 1204 |
| Table 289. | VREFBUF typical values . . . . . | 1207 |
| Table 290. | VREF buffer modes . . . . . | 1208 |
| Table 291. | VREFBUF register map and reset values. . . . . | 1210 |
| Table 292. | DCMI input/output pins . . . . . | 1212 |
| Table 293. | DCMI internal input/output signals . . . . . | 1212 |
| Table 294. | Positioning of captured data bytes in 32-bit words (8-bit width) . . . . . | 1214 |
| Table 295. | Positioning of captured data bytes in 32-bit words (10-bit width) . . . . . | 1214 |
| Table 296. | Positioning of captured data bytes in 32-bit words (12-bit width) . . . . . | 1214 |
| Table 297. | Positioning of captured data bytes in 32-bit words (14-bit width) . . . . . | 1215 |
| Table 298. | Data storage in monochrome progressive video format . . . . . | 1220 |
| Table 299. | Data storage in RGB progressive video format . . . . . | 1221 |
| Table 300. | Data storage in YCbCr progressive video format . . . . . | 1221 |
| Table 301. | Data storage in YCbCr progressive video format - Y extraction mode . . . . . | 1221 |
| Table 302. | DCMI interrupts. . . . . | 1222 |
| Table 303. | DCMI register map and reset values . . . . . | 1232 |
| Table 304. | PSSI input/output pins . . . . . | 1235 |
| Table 305. | PSSI internal input/output signals . . . . . | 1235 |
| Table 306. | Positioning of captured data bytes in 32-bit words (8-bit width) . . . . . | 1236 |
| Table 307. | Positioning of captured data bytes in 32-bit words (16-bit width) . . . . . | 1237 |
| Table 308. | PSSI interrupt requests . . . . . | 1240 |
| Table 309. | PSSI register map and reset values . . . . . | 1246 |
| Table 310. | RNG internal input/output signals . . . . . | 1248 |
| Table 311. | RNG interrupt requests . . . . . | 1256 |
| Table 312. | RNG initialization times . . . . . | 1257 |
| Table 313. | RNG configurations . . . . . | 1257 |
| Table 314. | Configuration selection . . . . . | 1258 |
| Table 315. | RNG register map and reset map . . . . . | 1263 |
| Table 316. | AES versus SAES features . . . . . | 1265 |
| Table 317. | AES internal input/output signals . . . . . | 1266 |
| Table 318. | AES approved symmetric key functions . . . . . | 1267 |
| Table 319. | Counter mode initialization vector definition . . . . . | 1276 |
| Table 320. | Initialization of IV registers in GCM mode . . . . . | 1279 |
| Table 321. | GCM last block definition . . . . . | 1279 |
| Table 322. | Initialization of IV registers in CCM mode . . . . . | 1286 |
| Table 323. | AES data swapping example . . . . . | 1289 |
| Table 324. | Key endianness in AES_KEYRx registers (128/256-bit keys) . . . . . | 1291 |
| Table 325. | IVI bitfield spread over AES_IVRx registers . . . . . | 1292 |
| Table 326. | AES interrupt requests . . . . . | 1293 |
| Table 327. | Processing latency for ECB, CBC and CTR . . . . . | 1294 |
| Table 328. | Processing latency for GCM and CCM (in clock cycles) . . . . . | 1295 |
| Table 329. | AES register map and reset values . . . . . | 1307 |
| Table 330. | AES versus SAES features . . . . . | 1311 |
| Table 331. | SAES internal input/output signals . . . . . | 1312 |
| Table 332. | SAES approved symmetric key functions . . . . . | 1313 |
| Table 333. | Counter mode initialization vector definition . . . . . | 1323 |
| Table 334. | Initialization of IV registers in GCM mode . . . . . | 1326 |
| Table 335. | GCM last block definition . . . . . | 1326 |
| Table 336. | Initialization of IV registers in CCM mode . . . . . | 1332 |
| Table 337. | AES data swapping example . . . . . | 1341 |
| Table 338. | Key endianness in SAES_KEYRx registers (128/256-bit keys) . . . . . | 1343 |
| Table 339. | IVI bitfield spread over SAES_IVRx registers . . . . . | 1345 |
| Table 340. | SAES interrupt requests . . . . . | 1347 |
| Table 341. | Processing latency for ECB, CBC and CTR . . . . . | 1348 |
| Table 342. | Processing latency for GCM and CCM (in SAES kernel clock cycles) . . . . . | 1348 |
| Table 343. | SAES register map and reset values . . . . . | 1363 |
| Table 344. | HASH internal input/output signals . . . . . | 1366 |
| Table 345. | Information on supported hash algorithms . . . . . | 1367 |
| Table 346. | Hash processor outputs . . . . . | 1370 |
| Table 347. | Processing time (in clock cycle) . . . . . | 1376 |
| Table 348. | HASH interrupt requests . . . . . | 1377 |
| Table 349. | HASH1 register map and reset values . . . . . | 1385 |
| Table 350. | Internal input/output signals . . . . . | 1388 |
| Table 351. | PKA integer arithmetic functions list . . . . . | 1389 |
| Table 352. | PKA prime field (Fp) elliptic curve functions list . . . . . | 1390 |
| Table 353. | Montgomery parameter computation . . . . . | 1396 |
| Table 354. | Modular addition . . . . . | 1397 |
| Table 355. | Modular subtraction . . . . . | 1397 |
| Table 356. | Montgomery multiplication . . . . . | 1398 |
| Table 357. | Modular exponentiation (normal mode) . . . . . | 1399 |
| Table 358. | Modular exponentiation (fast mode) . . . . . | 1399 |
| Table 359. | Modular exponentiation (protected mode) . . . . . | 1400 |
| Table 360. | Modular inversion . . . . . | 1400 |
| Table 361. | Modular reduction . . . . . | 1401 |
| Table 362. | Arithmetic addition . . . . . | 1401 |
| Table 363. | Arithmetic subtraction . . . . . | 1401 |
| Table 364. | Arithmetic multiplication . . . . . | 1402 |
| Table 365. | Arithmetic comparison . . . . . | 1402 |
| Table 366. | CRT exponentiation . . . . . | 1403 |
| Table 367. | Point on elliptic curve Fp check . . . . . | 1404 |
| Table 368. | ECC Fp scalar multiplication . . . . . | 1404 |
| Table 369. | ECDSA sign - Inputs . . . . . | 1406 |
| Table 370. | ECDSA sign - Outputs . . . . . | 1406 |
| Table 371. | Extended ECDSA sign - Extra outputs . . . . . | 1407 |
| Table 372. | ECDSA verification - Inputs . . . . . | 1407 |
| Table 373. | ECDSA verification - Outputs . . . . . | 1408 |
| Table 374. | ECC complete addition . . . . . | 1408 |
| Table 375. | ECC double base ladder . . . . . | 1409 |
| Table 376. | ECC projective to affine . . . . . | 1410 |
| Table 377. | Family of supported curves for ECC operations . . . . . | 1411 |
| Table 378. | Modular exponentiation . . . . . | 1412 |
| Table 379. | ECC scalar multiplication . . . . . | 1412 |
| Table 380. | ECDSA signature average computation time . . . . . | 1413 |
| Table 381. | ECDSA verification average computation times . . . . . | 1413 |
| Table 382. | ECC double base ladder average computation times . . . . . | 1413 |
| Table 383. | ECC projective to affine average computation times . . . . . | 1413 |
| Table 384. | ECC complete addition average computation times . . . . . | 1413 |
| Table 385. | Point on elliptic curve Fp check average computation times . . . . . | 1413 |
| Table 386. | Montgomery parameters average computation times . . . . . | 1414 |
| Table 387. | PKA interrupt requests . . . . . | 1414 |
| Table 388. | PKA register map and reset values . . . . . | 1419 |
| Table 389. | OTFDEC internal input/output signals . . . . . | 1421 |
| Table 390. | OTFDEC interrupt requests . . . . . | 1425 |
| Table 391. | OTFDEC register map and reset values . . . . . | 1439 |
| Table 392. | TIM input/output pins . . . . . | 1445 |
| Table 393. | TIM internal input/output signals . . . . . | 1445 |
| Table 394. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1447 |
| Table 395. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1447 |
| Table 396. | Interconnect to the tim_ti3 input multiplexer . . . . . | 1447 |
| Table 397. | Interconnect to the tim_ti4 input multiplexer . . . . . | 1447 |
| Table 398. | Internal trigger connection . . . . . | 1447 |
| Table 399. | Interconnect to the tim_etr input multiplexer . . . . . | 1448 |
| Table 400. | Timer break interconnect . . . . . | 1448 |
| Table 401. | Timer break2 interconnect . . . . . | 1448 |
| Table 402. | System break interconnect . . . . . | 1449 |
| Table 403. | CCR and ARR register change dithering pattern . . . . . | 1482 |
| Table 404. | CCR register change dithering pattern in center-aligned PWM mode . . . . . | 1483 |
| Table 405. | Behavior of timer outputs versus tim_brk/tim_brk2 inputs . . . . . | 1495 |
| Table 406. | Break protection disarming conditions . . . . . | 1497 |
| Table 407. | Counting direction versus encoder signals (CC1P = CC2P = 0) . . . . . | 1506 |
| Table 408. | Counting direction versus encoder signals and polarity settings . . . . . | 1510 |
| Table 409. | DMA request . . . . . | 1531 |
| Table 410. | Effect of low-power modes on TIM1/TIM8 . . . . . | 1532 |
| Table 411. | Interrupt requests . . . . . | 1532 |
| Table 412. | Output control bits for complementary tim_ocx and tim_ocxn channels with break feature . . . . . | 1559 |
| Table 413. | TIMx register map and reset values . . . . . | 1582 |
| Table 414. | STM32H5 general purpose timers . . . . . | 1586 |
| Table 415. | TIM input/output pins . . . . . | 1588 |
| Table 416. | TIM internal input/output signals . . . . . | 1588 |
| Table 417. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1589 |
| Table 418. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1589 |
| Table 419. | Interconnect to the tim_ti3 input multiplexer . . . . . | 1589 |
| Table 420. | Interconnect to the tim_ti4 input multiplexer . . . . . | 1590 |
| Table 421. | TIMx internal trigger connection . . . . . | 1590 |
| Table 422. | Interconnect to the tim_etr input multiplexer . . . . . | 1590 |
| Table 423. | CCR and ARR register change dithering pattern . . . . . | 1622 |
| Table 424. | CCR register change dithering pattern in center-aligned PWM mode . . . . . | 1623 |
| Table 425. | Counting direction versus encoder signals(CC1P = CC2P = 0) . . . . . | 1632 |
| Table 426. | Counting direction versus encoder signals and polarity settings . . . . . | 1637 |
| Table 427. | DMA request . . . . . | 1661 |
| Table 428. | Effect of low-power modes on TIM2/TIM3/TIM4/TIM5 . . . . . | 1661 |
| Table 429. | Interrupt requests . . . . . | 1662 |
| Table 430. | Output control bit for standard tim_ocx channels . . . . . | 1683 |
| Table 431. | TIM2/TIM3/TIM4/TIM5 register map and reset values . . . . . | 1699 |
| Table 432. | TIM internal input/output signals . . . . . | 1703 |
| Table 433. | TIMx_ARR register change dithering pattern . . . . . | 1713 |
| Table 434. | DMA request . . . . . | 1714 |
| Table 435. | Effect of low-power modes on TIM6/TIM7 . . . . . | 1714 |
| Table 436. | Interrupt request . . . . . | 1714 |
| Table 437. | TIMx register map and reset values . . . . . | 1720 |
| Table 438. | TIM input/output pins . . . . . | 1724 |
| Table 439. | TIM internal input/output signals . . . . . | 1724 |
| Table 440. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1726 |
| Table 441. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1726 |
| Table 442. | TIMx internal trigger connection . . . . . | 1726 |
| Table 443. | CCR and ARR register change dithering pattern . . . . . | 1744 |
| Table 444. | Effect of low-power modes on TIM12/TIM13/TIM14 . . . . . | 1753 |
| Table 445. | Interrupt requests . . . . . | 1753 |
| Table 446. | Output control bit for standard tim_ocx channels . . . . . | 1766 |
| Table 447. | TIM12 register map and reset values . . . . . | 1770 |
| Table 448. | Output control bit for standard tim_ocx channels . . . . . | 1779 |
| Table 449. | TIM13/TIM14 register map and reset values . . . . . | 1782 |
| Table 450. | TIM input/output pins . . . . . | 1787 |
| Table 451. | TIM internal input/output signals . . . . . | 1788 |
| Table 452. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1789 |
| Table 453. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1789 |
| Table 454. | TIMx internal trigger connection . . . . . | 1789 |
| Table 455. | Timer break interconnect . . . . . | 1790 |
| Table 456. | System break interconnect . . . . . | 1790 |
| Table 457. | CCR and ARR register change dithering pattern . . . . . | 1810 |
| Table 458. | Break protection disarming conditions . . . . . | 1819 |
| Table 459. | DMA request . . . . . | 1830 |
| Table 460. | Effect of low-power modes on TIM15/TIM16/TIM17 . . . . . | 1831 |
| Table 461. | Interrupt requests . . . . . | 1831 |
| Table 462. | Output control bits for complementary tim_ocx and tim_ocxn channels with break feature (TIM15). . . . . | 1847 |
| Table 463. | TIM15 register map and reset values . . . . . | 1860 |
| Table 464. | Output control bits for complementary tim_oc1 and tim_oc1n channels with break feature (TIM16/TIM17) . . . . . | 1873 |
| Table 465. | TIM16/TIM17 register map and reset values . . . . . | 1887 |
| Table 466. | STM32H5 LPTIM features . . . . . | 1891 |
| Table 467. | LPTIM1/2/3/5/6 input/output pins . . . . . | 1893 |
| Table 468. | LPTIM4 input/output pins . . . . . | 1893 |
| Table 469. | LPTIM1/2/3/5/6 internal signals . . . . . | 1894 |
| Table 470. | LPTIM4 internal signals . . . . . | 1894 |
| Table 471. | LPTIM1/2/3/4/5/6 external trigger connections . . . . . | 1895 |
| Table 472. | LPTIM1/2/3/5/6 input 1 connections . . . . . | 1895 |
| Table 473. | LPTIM1/2/3/5/6 input 2 connections . . . . . | 1895 |
| Table 474. | LPTIM1/2/3/5/6 input capture 1 connections . . . . . | 1895 |
| Table 475. | LPTIM1 input capture 2 connections . . . . . | 1896 |
| Table 476. | LPTIM2 input capture 2 connections . . . . . | 1896 |
| Table 477. | LPTIM3/5/6 input capture 2 connections . . . . . | 1896 |
| Table 478. | Prescaler division ratios . . . . . | 1898 |
| Table 479. | Encoder counting scenarios . . . . . | 1905 |
| Table 480. | Input capture Glitch filter latency (in counter step unit). . . . . | 1909 |
| Table 481. | Effect of low-power modes on the LPTIM . . . . . | 1913 |
| Table 482. | Interrupt events . . . . . | 1914 |
| Table 483. | LPTIM register map and reset values . . . . . | 1938 |
| Table 484. | IWDG features . . . . . | 1941 |
| Table 485. | IWDG delays versus actions . . . . . | 1942 |
| Table 486. | IWDG internal input/output signals . . . . . | 1943 |
| Table 487. | Effect of low power modes on IWDG . . . . . | 1948 |
| Table 488. | IWDG interrupt request . . . . . | 1950 |
| Table 489. | IWDG register map and reset values . . . . . | 1956 |
| Table 490. | WWDG features . . . . . | 1957 |
| Table 491. | WWDG internal input/output signals . . . . . | 1958 |
| Table 492. | WWDG interrupt requests . . . . . | 1961 |
| Table 493. | WWDG register map and reset values . . . . . | 1963 |
| Table 494. | RTC input/output pins . . . . . | 1967 |
| Table 495. | RTC internal input/output signals . . . . . | 1967 |
| Table 496. | RTC interconnection . . . . . | 1968 |
| Table 497. | RTC pin PC13 configuration . . . . . | 1969 |
| Table 498. | PI8 configuration . . . . . | 1971 |
| Table 499. | RTC_OUT mapping . . . . . | 1972 |
| Table 500. | Effect of low-power modes on RTC . . . . . | 1987 |
| Table 501. | RTC pins functionality over modes . . . . . | 1987 |
| Table 502. | Nonsecure interrupt requests . . . . . | 1988 |
| Table 503. | Secure interrupt requests . . . . . | 1988 |
| Table 504. | RTC register map and reset values . . . . . | 2019 |
| Table 505. | TAMP input/output pins . . . . . | 2025 |
| Table 506. | TAMP internal input/output signals . . . . . | 2025 |
| Table 507. | TAMP interconnection . . . . . | 2026 |
| Table 508. | Device resource x tamper protection . . . . . | 2032 |
| Table 509. | Active tamper output change period . . . . . | 2035 |
| Table 510. | Minimum ATPER value. . . . . | 2036 |
| Table 511. | Active tamper filtered pulse duration . . . . . | 2037 |
| Table 512. | Effect of low-power modes on TAMP . . . . . | 2038 |
| Table 513. | TAMP pins functionality over modes . . . . . | 2039 |
| Table 514. | Interrupt requests . . . . . | 2039 |
| Table 515. | TAMP register map and reset values . . . . . | 2069 |
| Table 516. | I2C implementation. . . . . | 2072 |
| Table 517. | I2C input/output pins. . . . . | 2073 |
| Table 518. | I2C internal input/output signals . . . . . | 2074 |
| Table 519. | Comparison of analog and digital filters . . . . . | 2076 |
| Table 520. | I 2 C-bus and SMBus specification data setup and hold times . . . . . | 2078 |
| Table 521. | I2C configuration. . . . . | 2082 |
| Table 522. | I 2 C-bus and SMBus specification clock timings . . . . . | 2093 |
| Table 523. | Timing settings for f I2CCLK of 8 MHz. . . . . | 2103 |
| Table 524. | Timing settings for f I2CCLK of 16 MHz. . . . . | 2103 |
| Table 525. | SMBus timeout specifications. . . . . | 2105 |
| Table 526. | SMBus with PEC configuration. . . . . | 2107 |
| Table 527. | TIMEOUTA[11:0] for maximum t TIMEOUT of 25 ms. . . . . | 2108 |
| Table 528. | TIMEOUTB[11:0] for maximum t LOW:SEXT and t LOW:MEXT of 8 ms . . . . . | 2108 |
| Table 529. | TIMEOUTA[11:0] for maximum t IDLE of 50 µs . . . . . | 2108 |
| Table 530. | Effect of low-power modes to I2C. . . . . | 2118 |
| Table 531. | I2C interrupt requests . . . . . | 2118 |
| Table 532. | I2C register map and reset values . . . . . | 2134 |
| Table 533. | I3C wake-up . . . . . | 2137 |
| Table 534. | I3C FIFOs implementation . . . . . | 2137 |
| Table 535. | I3C interrupt(s) . . . . . | 2137 |
| Table 536. | I3C peripheral controller/target features versus MIPI v1.1 . . . . . | 2138 |
| Table 537. | I3C input/output pins. . . . . | 2139 |
| Table 538. | I3C internal input/output signals . . . . . | 2139 |
| Table 539. | I3C register usage . . . . . | 2151 |
| Table 540. | I3C registers/fields usage versus controller state . . . . . | 2152 |
| Table 541. | I3C registers/fields usage versus target state. . . . . | 2155 |
| Table 542. | List of supported I3C CCCs, as controller/target . . . . . | 2158 |
| Table 543. | I3C controller error management . . . . . | 2189 |
| Table 544. | I3C target error management . . . . . | 2191 |
| Table 545. | Effect of low-power modes . . . . . | 2195 |
| Table 546. | I3C interrupt requests . . . . . | 2196 |
| Table 547. | I3C register map and reset values . . . . . | 2241 |
| Table 548. | Instance implementation. . . . . | 2245 |
| Table 549. | USART/LPUART features . . . . . | 2246 |
| Table 550. | USART/UART input/output pins . . . . . | 2248 |
| Table 551. | USART internal input/output signals. . . . . | 2249 |
| Table 552. | Noise detection from sampled data . . . . . | 2261 |
| Table 553. | Tolerance of the USART receiver when BRR [3:0] = 0000. . . . . | 2265 |
| Table 554. | Tolerance of the USART receiver when BRR[3:0] is different from 0000. . . . . | 2265 |
| Table 555. | USART frame formats . . . . . | 2270 |
| Table 556. | Effect of low-power modes on the USART . . . . . | 2293 |
| Table 557. | USART interrupt requests. . . . . | 2294 |
| Table 558. | USART register map and reset values . . . . . | 2332 |
| Table 559. | Instance implementation on STM32H5 . . . . . | 2335 |
| Table 560. | USART/LPUART features . . . . . | 2335 |
| Table 561. | LPUART input/output pins . . . . . | 2338 |
| Table 562. | LPUART internal input/output signals . . . . . | 2338 |
| Table 563. | Error calculation for programmed baud rates at lpuart_ker_ck_pres= 32.768 kHz . . . . . | 2349 |
| Table 564. | Tolerance of the LPUART receiver . . . . . | 2350 |
| Table 566. | Effect of low-power modes on the LPUART . . . . . | 2362 |
| Table 567. | LPUART interrupt requests . . . . . | 2363 |
| Table 568. | LPUART register map and reset values . . . . . | 2389 |
| Table 569. | SPI features . . . . . | 2392 |
| Table 570. | SPI/I2S input/output pins . . . . . | 2395 |
| Table 571. | SPI internal input/output signals . . . . . | 2395 |
| Table 572. | Effect of low-power modes on the SPI . . . . . | 2422 |
| Table 573. | SPI wake-up and interrupt requests . . . . . | 2423 |
| Table 574. | Bitfields usable in PCM/I2S mode . . . . . | 2425 |
| Table 575. | WS and CK level before SPI/I2S is enabled when AFCNTR = 1 . . . . . | 2434 |
| Table 576. | Serial data line swapping . . . . . | 2434 |
| Table 577. | CLKGEN programming examples for usual I2S frequencies . . . . . | 2438 |
| Table 578. | I2S interrupt requests . . . . . | 2447 |
| Table 579. | SPI register map and reset values . . . . . | 2465 |
| Table 580. | STM32H5 SAI features . . . . . | 2468 |
| Table 581. | SAI internal input/output signals . . . . . | 2470 |
| Table 582. | SAI input/output pins . . . . . | 2470 |
| Table 583. | External synchronization selection . . . . . | 2473 |
| Table 584. | MCLK_x activation conditions . . . . . | 2478 |
| Table 585. | Clock generator programming examples . . . . . | 2481 |
| Table 586. | SAI_A configuration for TDM mode . . . . . | 2488 |
| Table 587. | TDM frame configuration examples . . . . . | 2490 |
| Table 588. | SOPD pattern . . . . . | 2494 |
| Table 589. | Parity bit calculation . . . . . | 2494 |
| Table 590. | Audio sampling frequency versus symbol rates . . . . . | 2495 |
| Table 591. | SAI interrupt sources . . . . . | 2504 |
| Table 592. | SAI register map and reset values . . . . . | 2533 |
| Table 593. | CAN subsystem I/O signals . . . . . | 2539 |
| Table 594. | CAN subsystem I/O pins . . . . . | 2539 |
| Table 595. | DLC coding in FDCAN . . . . . | 2543 |
| Table 596. | Possible configurations for frame transmission . . . . . | 2557 |
| Table 597. | Rx FIFO element . . . . . | 2560 |
| Table 598. | Rx FIFO element description . . . . . | 2560 |
| Table 599. | Tx buffer and FIFO element . . . . . | 2562 |
| Table 600. | Tx buffer element description . . . . . | 2562 |
| Table 601. | Tx event FIFO element . . . . . | 2564 |
| Table 602. | Tx event FIFO element description . . . . . | 2564 |
| Table 603. | Standard message ID filter element . . . . . | 2565 |
| Table 604. | Standard message ID filter element field description . . . . . | 2566 |
| Table 605. | Extended message ID filter element . . . . . | 2566 |
| Table 606. | Extended message ID filter element field description . . . . . | 2567 |
| Table 607. | FDCAN register map and reset values . . . . . | 2597 |
| Table 608. | STM32H5 USB implementation . . . . . | 2601 |
| Table 609. | USB input/output pins . . . . . | 2602 |
| Table 610. | Double-buffering buffer flag definition . . . . . | 2614 |
| Table 611. | Bulk double-buffering memory buffers usage (Device mode) . . . . . | 2614 |
| Table 612. | Bulk double-buffering memory buffers usage (Host mode) . . . . . | 2616 |
| Table 613. | Isochronous memory buffers usage . . . . . | 2617 |
| Table 614. | Isochronous memory buffers usage . . . . . | 2618 |
| Table 615. | Resume event detection . . . . . | 2620 |
| Table 616. | Resume event detection for host . . . . . | 2621 |
| Table 617. | Reception status encoding . . . . . | 2639 |
| Table 618. | Endpoint/channel type encoding . . . . . | 2639 |
| Table 619. | Endpoint/channel kind meaning . . . . . | 2639 |
| Table 620. | Transmission status encoding . . . . . | 2639 |
| Table 621. | USB register map and reset values . . . . . | 2641 |
| Table 622. | Definition of allocated buffer memory . . . . . | 2644 |
| Table 623. | USB SRAM register map and reset values . . . . . | 2647 |
| Table 624. | UCPD implementation . . . . . | 2649 |
| Table 625. | UCPD software trim data . . . . . | 2649 |
| Table 626. | UCPD signals on pins . . . . . | 2650 |
| Table 627. | UCPD internal signals . . . . . | 2651 |
| Table 628. | 4b5b symbol encoding table . . . . . | 2653 |
| Table 629. | Ordered sets . . . . . | 2654 |
| Table 630. | Validation of ordered sets . . . . . | 2654 |
| Table 631. | Data size . . . . . | 2655 |
| Table 632. | Coding for ANAMODE, ANASUBMODE and link with TYPEC_VSTATE_CCx . . . . . | 2663 |
| Table 633. | Type-C sequence (source: 3A); cable/sink connected (Rd on CC1; Ra on CC2) . . . . . | 2665 |
| Table 634. | Effect of low power modes on the UCPD . . . . . | 2667 |
| Table 635. | UCPD interrupt requests . . . . . | 2668 |
| Table 636. | UCPD register map and reset values . . . . . | 2684 |
| Table 637. | Ethernet peripheral pins . . . . . | 2691 |
| Table 638. | Ethernet internal input/output signals . . . . . | 2692 |
| Table 639. | Priority scheme for Tx DMA and Rx DMA . . . . . | 2701 |
| Table 640. | Double VLAN processing features in Tx path . . . . . | 2707 |
| Table 641. | Double VLAN processing in Rx path . . . . . | 2708 |
| Table 642. | VLAN insertion or replacement based on VLTi bit . . . . . | 2709 |
| Table 643. | Destination address filtering . . . . . | 2712 |
| Table 644. | Source address filtering . . . . . | 2713 |
| Table 645. | VLAN match status . . . . . | 2714 |
| Table 646. | Ordinary clock: PTP messages for snapshot . . . . . | 2717 |
| Table 647. | End-to-end transparent clock: PTP messages for snapshot . . . . . | 2718 |
| Table 648. | Peer-to-peer transparent clock: PTP messages for snapshot . . . . . | 2719 |
| Table 649. | Egress and ingress latency for PHY interfaces . . . . . | 2722 |
| Table 650. | Minimum PTP clock frequency example . . . . . | 2723 |
| Table 651. | Message format defined in IEEE 1588-2008 . . . . . | 2724 |
| Table 652. | Message format defined in IEEE 1588-2008 . . . . . | 2724 |
| Table 653. | IPv6-UDP PTP packet fields required for control and status . . . . . | 2725 |
| Table 654. | Ethernet PTP packet fields required for control and status . . . . . | 2726 |
| Table 655. | Timestamp Snapshot Dependency on ETH_MACTSCR bits . . . . . | 2728 |
| Table 656. | PTP message generation criteria . . . . . | 2734 |
| Table 657. | Common PTP message header fields . . . . . | 2736 |
| Table 658. | MAC Transmit PTP mode and one-step timestamping operation . . . . . | 2739 |
| Table 659. | Transmit checksum offload engine functions for different packet types . . . . . | 2744 |
| Table 660. | Receive checksum offload engine functions for different packet types . . . . . | 2746 |
| Table 661. | TSO: TCP and IP header fields . . . . . | 2750 |
| Table 662. | Pause packet fields . . . . . | 2755 |
| Table 663. | Tx MAC flow control . . . . . | 2756 |
| Table 664. | Rx MAC flow control . . . . . | 2756 |
| Table 665. | Size of the maximum receive packet . . . . . | 2759 |
| Table 666. | MCD clock selection . . . . . | 2762 |
| Table 667. | MDIO Clause 45 frame structure . . . . . | 2763 |
| Table 668. | MDIO Clause 22 frame structure . . . . . | 2764 |
| Table 669. | Remote wake-up packet filter register . . . . . | 2775 |
| Table 670. | Description of the remote wake-up filter fields . . . . . | 2775 |
| Table 671. | Remote wake-up packet and PMT interrupt generation . . . . . | 2777 |
| Table 672. | Transfer complete interrupt behavior . . . . . | 2785 |
| Table 673. | TDES0 normal descriptor (read format) . . . . . | 2807 |
| Table 674. | TDES1 normal descriptor (read format) . . . . . | 2808 |
| Table 675. | TDES2 normal descriptor (read format) . . . . . | 2808 |
| Table 676. | TDES3 normal descriptor (read format) . . . . . | 2809 |
| Table 677. | TDES0 normal descriptor (write-back format). . . . . | 2812 |
| Table 678. | TDES1 normal descriptor (write-back format). . . . . | 2812 |
| Table 679. | TDES2 normal descriptor (write-back format). . . . . | 2813 |
| Table 680. | TDES3 normal descriptor (write-back format). . . . . | 2813 |
| Table 681. | TDES0 context descriptor. . . . . | 2816 |
| Table 682. | TDES1 context descriptor. . . . . | 2817 |
| Table 683. | TDES2 context descriptor. . . . . | 2817 |
| Table 684. | TDES3 context descriptor. . . . . | 2817 |
| Table 685. | RDES0 normal descriptor (read format) . . . . . | 2821 |
| Table 686. | RDES1 normal descriptor (read format) . . . . . | 2821 |
| Table 687. | RDES2 normal descriptor (read format) . . . . . | 2821 |
| Table 688. | RDES3 normal descriptor (read format) . . . . . | 2821 |
| Table 689. | RDES0 normal descriptor (write-back format) . . . . . | 2823 |
| Table 690. | RDES1 normal descriptor (write-back format) . . . . . | 2823 |
| Table 691. | RDES2 normal descriptor (write-back format) . . . . . | 2825 |
| Table 692. | RDES3 normal descriptor (write-back format) . . . . . | 2827 |
| Table 693. | RDES0 context descriptor . . . . . | 2830 |
| Table 694. | RDES1 context descriptor . . . . . | 2831 |
| Table 695. | RDES2 context descriptor . . . . . | 2831 |
| Table 696. | RDES3 context descriptor . . . . . | 2831 |
| Table 697. | ETH_DMA common register map and reset values . . . . . | 2853 |
| Table 698. | ETH_DMA_CH register map and reset values . . . . . | 2853 |
| Table 699. | ETH_MTL register map and reset values . . . . . | 2866 |
| Table 700. | Giant Packet Status based on S2KP and JE Bits . . . . . | 2872 |
| Table 701. | Packet Length based on the CST and ACS bits . . . . . | 2872 |
| Table 702. | Ethernet MAC register map and reset values . . . . . | 2953 |
| Table 703. | HDMI pin . . . . . | 2965 |
| Table 704. | HDMI-CEC internal input/output signals . . . . . | 2965 |
| Table 705. | Error handling timing parameters . . . . . | 2971 |
| Table 706. | TXERR timing parameters . . . . . | 2972 |
| Table 707. | HDMI-CEC interrupts . . . . . | 2973 |
| Table 708. | HDMI-CEC register map and reset values . . . . . | 2981 |
| Table 709. | JTAG/Serial-wire debug port pins . . . . . | 2983 |
| Table 710. | Trace port pins . . . . . | 2983 |
| Table 711. | Single-wire trace port pins . . . . . | 2984 |
| Table 712. | Authentication signal states with TrustZone enabled (TZEN = 0xB4) . . . . . | 2986 |
| Table 713. | Authentication signal states with TrustZone disabled (TZEN = 0xC3) . . . . . | 2986 |
| Table 714. | Life cycle state and debug states . . . . . | 2986 |
| Table 715. | Definition of data to provision . . . . . | 2989 |
| Table 716. | Permission mask (Endianness: Little Endian) . . . . . | 2989 |
| Table 717. | JTAG-DP data registers . . . . . | 2992 |
| Table 718. | Packet request . . . . . | 2994 |
| Table 719. | ACK response . . . . . | 2994 |
| Table 720. | Data transfer . . . . . | 2994 |
| Table 721. | Debug port registers . . . . . | 2995 |
| Table 722. | Debug port register map and reset values . . . . . | 3001 |
| Table 723. | MEM-AP registers . . . . . | 3003 |
| Table 724. | Access port register map and reset values . . . . . | 3009 |
| Table 725. | System ROM table . . . . . | 3010 |
| Table 726. | MCU ROM table . . . . . | 3011 |
| Table 727. | Processor ROM table . . . . . | 3011 |
| Table 728. | System ROM table register map and reset values . . . . . | 3017 |
| Table 729. | MCU ROM table register map and reset values . . . . . | 3022 |
| Table 730. | CPU ROM table register map and reset values . . . . . | 3028 |
| Table 731. | DWT register map and reset values . . . . . | 3043 |
| Table 732. | ITM register map and reset values . . . . . | 3054 |
| Table 733. | BPU register map and reset values . . . . . | 3062 |
| Table 734. | ETM register map and reset values . . . . . | 3087 |
| Table 735. | TPIU register map and reset values . . . . . | 3101 |
| Table 736. | CTI inputs . . . . . | 3103 |
| Table 737. | CTI outputs . . . . . | 3103 |
| Table 738. | CTI register map and reset values . . . . . | 3114 |
| Table 739. | Peripheral clock freeze control bits . . . . . | 3117 |
| Table 740. | Peripheral behaviour in debug mode . . . . . | 3118 |
| Table 741. | DBGMCU register map and reset values . . . . . | 3132 |
| Table 742. | Document revision history . . . . . | 3140 |
List of figures
Figure 1. System architecture . . . . . 107
Figure 2. Memory map based on IDAU mapping (STM32H562/563/573xx devices) . . . . . 116
Figure 3. Memory map based on IDAU mapping (STM32H523/533xx devices) . . . . . 117
Figure 4. Secure/nonsecure partitioning using TrustZone technology. . . . . 133
Figure 5. Sharing memory map between CPU in secure and nonsecure state . . . . . 135
Figure 6. Secure world transition and memory partitioning . . . . . 135
Figure 7. Global TrustZone framework and TrustZone awareness . . . . . 137
Figure 8. Flash memory TrustZone protections . . . . . 141
Figure 9. Flash memory secure HDP area . . . . . 148
Figure 10. Key management principle . . . . . 156
Figure 11. Device life cycle security. . . . . 159
Figure 12. PRODUCT_STATES (simplified TrustZone activated view) . . . . . 162
Figure 13. PRODUCT_STATES (full TrustZone activated view) . . . . . 163
Figure 14. Collaborative development principle . . . . . 165
Figure 15. External flash memory protection using SFI. . . . . 167
Figure 16. GTZC in Armv8-M subsystem block diagram. . . . . 174
Figure 17. GTZC block diagram. . . . . 177
Figure 18. Watermark memory protection controller (region x/subregions A and B) . . . . . 178
Figure 19. MPCBB block diagram . . . . . 179
Figure 20. Memory map: SRAM1, SRAM2/3 with ECC (STM32H562/72/73xx devices). . . . . 234
Figure 21. Memory map: SRAM1/3, SRAM2 with ECC (STM32H523/33xx devices) . . . . . 235
Figure 22. FLASH block diagram (simplified) . . . . . 247
Figure 23. Embedded flash memory organization (2-Mbyte devices) . . . . . 249
Figure 24. Embedded flash memory usage . . . . . 250
Figure 25. Flash high-cycle data memory map on 2-Mbyte devices . . . . . 263
Figure 26. Flash high-cycle data memory map on 1-Mbyte devices . . . . . 263
Figure 27. Flash high-cycle data memory map on 512-Kbyte devices . . . . . 264
Figure 28. Flash high-cycle data memory map on 256-Kbyte devices . . . . . 264
Figure 29. Flash bank swapping sequence . . . . . 267
Figure 30. OBK protection checks . . . . . 279
Figure 31. Key writing flow. . . . . 280
Figure 32. Swap workflow . . . . . 281
Figure 33. HDP in user flash memory (STM32H563/573xx devices). . . . . 286
Figure 34. Protection attributes in case of bank swap illustration . . . . . 291
Figure 35. ICACHE block diagram . . . . . 368
Figure 36. ICACHE TAG and data memories functional view . . . . . 370
Figure 37. ICACHE remapping address mechanism . . . . . 373
Figure 38. DCACHE block diagram . . . . . 385
Figure 39. DCACHE TAG and data memories functional view . . . . . 388
Figure 40. Power supply with SMPS (STM32H563/573xx devices only). . . . . 404
Figure 41. Power supply with LDO . . . . . 405
Figure 42. System supply configurations . . . . . 407
Figure 43. Power-on (POR) / power-down (PDR) reset waveform . . . . . 412
Figure 44. BOR thresholds . . . . . 413
Figure 45. PVD thresholds. . . . . 414
Figure 46. AVD thresholds. . . . . 415
Figure 47. VBAT thresholds. . . . . 416
Figure 48. Temperature thresholds . . . . . 417
| Figure 49. | Dynamic voltage scaling in Run mode . . . . . | 418 |
| Figure 50. | I/O states in Standby mode . . . . . | 428 |
| Figure 51. | Simplified diagram of the reset circuit. . . . . | 453 |
| Figure 52. | Clock tree . . . . . | 456 |
| Figure 53. | HSE/LSE clock sources . . . . . | 457 |
| Figure 54. | CSI calibration flow . . . . . | 460 |
| Figure 55. | PLL block diagram . . . . . | 461 |
| Figure 56. | PLLs initialization flow. . . . . | 464 |
| Figure 57. | CRS block diagram. . . . . | 564 |
| Figure 58. | CRS counter behavior . . . . . | 566 |
| Figure 59. | Structure of 3- or 5-V tolerant GPIO (TT or FT) . . . . . | 576 |
| Figure 60. | Input floating/pull-up/pull-down configurations . . . . . | 580 |
| Figure 61. | Output configuration . . . . . | 581 |
| Figure 62. | Alternate function configuration . . . . . | 582 |
| Figure 63. | High-impedance analog configuration . . . . . | 582 |
| Figure 64. | SBS block diagram . . . . . | 597 |
| Figure 65. | Compensation cell management . . . . . | 599 |
| Figure 66. | Compensation cell usage . . . . . | 600 |
| Figure 67. | SBS boot control. . . . . | 601 |
| Figure 68. | SBS debug control . . . . . | 604 |
| Figure 69. | SBS hardware secure storage control . . . . . | 606 |
| Figure 70. | GPDMA block diagram . . . . . | 641 |
| Figure 71. | GPDMA channel direct programming without linked-list (GPDMA_CxLLR = 0). . . . . | 642 |
| Figure 72. | GPDMA channel suspend and resume sequence . . . . . | 643 |
| Figure 73. | GPDMA channel abort and restart sequence. . . . . | 644 |
| Figure 74. | Static linked-list data structure (all Uxx = 1) of a linear addressing channel x . . . . . | 645 |
| Figure 75. | Static linked-list data structure (all Uxx = 1) of a 2D addressing channel x . . . . . | 646 |
| Figure 76. | GPDMA dynamic linked-list data structure of a linear addressing channel x . . . . . | 647 |
| Figure 77. | GPDMA dynamic linked-list data structure of a 2D addressing channel x . . . . . | 647 |
| Figure 78. | GPDMA channel execution and linked-list programming in run-to-completion mode (GPDMA_CxCR.LSM = 0). . . . . | 649 |
| Figure 79. | Inserting a LLI n with an auxiliary GPDMA channel y . . . . . | 651 |
| Figure 80. | GPDMA channel execution and linked-list programming in link step mode (GPDMA_CxCR.LSM = 1) . . . . . | 653 |
| Figure 81. | Building LLI n+1 : GPDMA dynamic linked-lists in link step mode . . . . . | 654 |
| Figure 82. | Replace with a new LLI n in register file in link step mode . . . . . | 655 |
| Figure 83. | Replace with a new LLI n and LLI n+1 in memory in link step mode (option 1) . . . . . | 656 |
| Figure 84. | Replace with a new LLI n and LLI n+1 in memory in link step mode (option 2) . . . . . | 657 |
| Figure 85. | GPDMA channel execution and linked-list programming . . . . . | 659 |
| Figure 86. | Programmed 2D addressing. . . . . | 662 |
| Figure 87. | GPDMA arbitration policy . . . . . | 669 |
| Figure 88. | Trigger hit, memorization, and overrun waveform . . . . . | 672 |
| Figure 89. | GPDMA circular buffer programming: update of the memory start address with a linear addressing channel . . . . . | 673 |
| Figure 90. | Shared GPDMA channel with circular buffering: update of the memory start address with a linear addressing channel. . . . . | 674 |
| Figure 91. | EXTI block diagram . . . . . | 723 |
| Figure 92. | Configurable event trigger logic CPU wake-up. . . . . | 726 |
| Figure 93. | EXTI direct events . . . . . | 727 |
| Figure 94. | EXTI mux GPIO selection. . . . . | 728 |
| Figure 95. | CRC calculation unit block diagram . . . . . | 757 |
| Figure 96. | CORDIC convergence for trigonometric functions . . . . . | 771 |
| Figure 97. | CORDIC convergence for hyperbolic functions . . . . . | 772 |
| Figure 98. | CORDIC convergence for square root . . . . . | 773 |
| Figure 99. | Block diagram . . . . . | 782 |
| Figure 100. | Input buffer areas . . . . . | 784 |
| Figure 101. | Circular input buffer . . . . . | 785 |
| Figure 102. | Circular input buffer operation . . . . . | 786 |
| Figure 103. | Circular output buffer . . . . . | 787 |
| Figure 104. | Circular output buffer operation . . . . . | 788 |
| Figure 105. | FIR filter structure . . . . . | 790 |
| Figure 106. | IIR filter structure (direct form 1) . . . . . | 792 |
| Figure 107. | X1 buffer initialization . . . . . | 797 |
| Figure 108. | Filtering example 1 . . . . . | 798 |
| Figure 109. | Filtering example 2 . . . . . | 799 |
| Figure 110. | FMC block diagram. . . . . | 811 |
| Figure 111. | FMC memory banks . . . . . | 813 |
| Figure 112. | Mode 1 read access waveforms . . . . . | 823 |
| Figure 113. | Mode 1 write access waveforms. . . . . | 823 |
| Figure 114. | Mode A read access waveforms. . . . . | 825 |
| Figure 115. | Mode A write access waveforms . . . . . | 825 |
| Figure 116. | Mode 2 and mode B read access waveforms. . . . . | 827 |
| Figure 117. | Mode 2 write access waveforms. . . . . | 828 |
| Figure 118. | Mode B write access waveforms . . . . . | 828 |
| Figure 119. | Mode C read access waveforms . . . . . | 830 |
| Figure 120. | Mode C write access waveforms . . . . . | 831 |
| Figure 121. | Mode D read access waveforms . . . . . | 833 |
| Figure 122. | Mode D write access waveforms . . . . . | 834 |
| Figure 123. | Muxed read access waveforms . . . . . | 836 |
| Figure 124. | Muxed write access waveforms . . . . . | 837 |
| Figure 125. | Asynchronous wait during a read access waveforms. . . . . | 839 |
| Figure 126. | Asynchronous wait during a write access waveforms. . . . . | 840 |
| Figure 127. | Wait configuration waveforms. . . . . | 842 |
| Figure 128. | Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM). . . . . | 843 |
| Figure 129. | Synchronous multiplexed write mode waveforms - PSRAM (CRAM). . . . . | 845 |
| Figure 130. | NAND flash controller waveforms for common memory access. . . . . | 857 |
| Figure 131. | Access to non 'CE don't care' NAND-flash. . . . . | 859 |
| Figure 132. | Burst write SDRAM access waveforms . . . . . | 868 |
| Figure 133. | Burst read SDRAM access . . . . . | 869 |
| Figure 134. | Logic diagram of Read access with RBURST bit set (CAS=1, RPIPE=0) . . . . . | 870 |
| Figure 135. | Read access crossing row boundary . . . . . | 872 |
| Figure 136. | Write access crossing row boundary . . . . . | 872 |
| Figure 137. | Self-refresh mode . . . . . | 874 |
| Figure 138. | Power-down mode . . . . . | 875 |
| Figure 139. | OCTOSPI block diagram in octal configuration . . . . . | 887 |
| Figure 140. | OCTOSPI block diagram in quad configuration . . . . . | 887 |
| Figure 141. | OCTOSPI block diagram in dual-quad configuration . . . . . | 888 |
| Figure 142. | SDR read command in octal configuration . . . . . | 889 |
| Figure 143. | DTR read in octal-SPI mode with DQS (Macronix mode) example . . . . . | 892 |
| Figure 144. | SDR write command in octo-SPI mode example . . . . . | 894 |
| Figure 145. DTR write in octal-SPI mode (Macronix mode) example . . . . . | 895 |
| Figure 146. Example of HyperBus read operation. . . . . | 896 |
| Figure 147. HyperBus write operation with initial latency . . . . . | 898 |
| Figure 148. HyperBus read operation with additional latency . . . . . | 898 |
| Figure 149. HyperBus write operation with additional latency . . . . . | 899 |
| Figure 150. HyperBus write operation with no latency (register write). . . . . | 899 |
| Figure 151. HyperBus read operation page crossing with latency. . . . . | 900 |
| Figure 152. D0/D1 data ordering in octal-SPI DTR mode (Micron) - Read access . . . . . | 906 |
| Figure 153. OctaRAM read operation with reverse data ordering D1/D0 . . . . . | 907 |
| Figure 154. NCS when CKMODE = 0 (T = CLK period) . . . . . | 912 |
| Figure 155. NCS when CKMODE = 1 in SDR mode (T = CLK period) . . . . . | 913 |
| Figure 156. NCS when CKMODE = 1 in DTR mode (T = CLK period) . . . . . | 913 |
| Figure 157. NCS when CKMODE = 1 with an abort (T = CLK period). . . . . | 913 |
| Figure 158. SDMMC “no response” and “no data” operations. . . . . | 942 |
| Figure 159. SDMMC (multiple) block read operation. . . . . | 942 |
| Figure 160. SDMMC (multiple) block write operation. . . . . | 943 |
| Figure 161. SDMMC (sequential) stream read operation . . . . . | 943 |
| Figure 162. SDMMC (sequential) stream write operation . . . . . | 943 |
| Figure 163. SDMMC block diagram. . . . . | 945 |
| Figure 164. SDMMC Command and data phase relation . . . . . | 947 |
| Figure 165. Control unit . . . . . | 949 |
| Figure 166. Command/response path . . . . . | 950 |
| Figure 167. Command path state machine (CPSM) . . . . . | 951 |
| Figure 168. Data path . . . . . | 957 |
| Figure 169. DDR mode data packet clocking . . . . . | 958 |
| Figure 170. DDR mode CRC status / boot acknowledgment clocking. . . . . | 958 |
| Figure 171. Data path state machine (DPSM). . . . . | 959 |
| Figure 172. CLKMUX unit . . . . . | 970 |
| Figure 173. Linked list structures . . . . . | 972 |
| Figure 174. Asynchronous interrupt generation. . . . . | 975 |
| Figure 175. Synchronous interrupt period data read . . . . . | 976 |
| Figure 176. Synchronous interrupt period data write . . . . . | 976 |
| Figure 177. Asynchronous interrupt period data read . . . . . | 977 |
| Figure 178. Asynchronous interrupt period data write . . . . . | 978 |
| Figure 179. Clock stop with SDMMC_CK for DS, HS, SDR12, SDR25. . . . . | 981 |
| Figure 180. Clock stop with SDMMC_CK for DDR50, SDR50, SDR104. . . . . | 981 |
| Figure 181. Read Wait with SDMMC_CK < 50 MHz . . . . . | 982 |
| Figure 182. Read Wait with SDMMC_CK > 50 MHz . . . . . | 982 |
| Figure 183. CMD12 stream timing . . . . . | 985 |
| Figure 184. CMD5 Sleep Awake procedure . . . . . | 987 |
| Figure 185. Normal boot mode operation . . . . . | 989 |
| Figure 186. Alternative boot mode operation. . . . . | 990 |
| Figure 187. Command response R1b busy signaling . . . . . | 991 |
| Figure 188. SDMMC state control . . . . . | 992 |
| Figure 189. Card cycle power / power up diagram . . . . . | 993 |
| Figure 190. CMD11 signal voltage switch sequence . . . . . | 994 |
| Figure 191. Voltage switch transceiver typical application. . . . . | 996 |
| Figure 192. DLYB block diagram. . . . . | 1024 |
| Figure 193. ADC block diagram . . . . . | 1032 |
| Figure 194. ADC clock scheme . . . . . | 1037 |
| Figure 195. ADC1 connectivity . . . . . | 1038 |
| Figure 196. ADC2 connectivity . . . . . | 1039 |
| Figure 197. ADC calibration. . . . . | 1042 |
| Figure 198. Updating the ADC calibration factor . . . . . | 1043 |
| Figure 199. Mixing single-ended and differential channels . . . . . | 1044 |
| Figure 200. Enabling / disabling the ADC . . . . . | 1045 |
| Figure 201. Bulb mode timing diagram . . . . . | 1048 |
| Figure 202. Analog-to-digital conversion time . . . . . | 1051 |
| Figure 203. Stopping ongoing regular conversions . . . . . | 1052 |
| Figure 204. Stopping ongoing regular and injected conversions . . . . . | 1053 |
| Figure 205. Triggers shared between ADC master and slave . . . . . | 1054 |
| Figure 206. Injected conversion latency . . . . . | 1056 |
| Figure 207. Example of ADC_JSQR queue of context (sequence change) . . . . . | 1059 |
| Figure 208. Example of ADC_JSQR queue of context (trigger change) . . . . . | 1059 |
| Figure 209. Example of ADC_JSQR queue of context with overflow before conversion. . . . . | 1060 |
| Figure 210. Example of ADC_JSQR queue of context with overflow during conversion . . . . . | 1060 |
| Figure 211. Example of ADC_JSQR queue of context with empty queue (case JQM = 0). . . . . | 1061 |
| Figure 212. Example of ADC_JSQR queue of context with empty queue (JQM = 1) . . . . . | 1062 |
| Figure 213. Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs during an ongoing conversion. . . . . | 1062 |
| Figure 214. Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs during an ongoing conversion and a new trigger occurs . . . . . | 1063 |
| Figure 215. Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs outside an ongoing conversion. . . . . | 1063 |
| Figure 216. Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 1) . . . . . | 1064 |
| Figure 217. Flushing ADC_JSQR queue of context by setting ADDIS = 1 (JQM = 0). . . . . | 1064 |
| Figure 218. Flushing ADC_JSQR queue of context by setting ADDIS = 1 (JQM = 1). . . . . | 1065 |
| Figure 219. Single conversions of a sequence, software trigger . . . . . | 1067 |
| Figure 220. Continuous conversion of a sequence, software trigger. . . . . | 1067 |
| Figure 221. Single conversions of a sequence, hardware trigger . . . . . | 1068 |
| Figure 222. Continuous conversions of a sequence, hardware trigger . . . . . | 1068 |
| Figure 223. Right alignment (offset disabled, unsigned value) . . . . . | 1070 |
| Figure 224. Right alignment (offset enabled, signed value). . . . . | 1071 |
| Figure 225. Left alignment (offset disabled, unsigned value) . . . . . | 1071 |
| Figure 226. Left alignment (offset enabled, signed value). . . . . | 1072 |
| Figure 227. Example of overrun (OVRMOD = 0). . . . . | 1073 |
| Figure 228. Example of overrun (OVRMOD = 1). . . . . | 1074 |
| Figure 229. AUTODLY = 1, regular conversion in continuous mode, software trigger . . . . . | 1077 |
| Figure 230. AUTODLY = 1, regular HW conversions interrupted by injected conversions (DISCEN = 0; JDISCEN = 0) . . . . . | 1077 |
| Figure 231. AUTODLY = 1, regular HW conversions interrupted by injected conversions . . . . . (DISCEN = 1, JDISCEN = 1) . . . . . | 1078 |
| Figure 232. AUTODLY = 1, regular continuous conversions interrupted by injected conversions . . . . . | 1079 |
| Figure 233. AUTODLY = 1 in auto- injected mode (JAUTO = 1). . . . . | 1079 |
| Figure 234. Analog watchdog guarded area . . . . . | 1080 |
| Figure 235. ADC y _AWD x _OUT signal generation (on all regular channels). . . . . | 1082 |
| Figure 236. ADC y _AWD x _OUT signal generation (AWD x flag not cleared by software) . . . . . | 1083 |
| Figure 237. ADC y _AWD x _OUT signal generation (on a single regular channel) . . . . . | 1083 |
| Figure 238. ADC y _AWD x _OUT signal generation (on all injected channels) . . . . . | 1083 |
| Figure 239. 20-bit to 16-bit result truncation . . . . . | 1085 |
| Figure 240. Numerical example with 5-bit shift and rounding . . . . . | 1085 |
| Figure 241. Triggered regular oversampling mode (TROVS bit = 1). . . . . | 1087 |
| Figure 242. Regular oversampling modes (4x ratio) . . . . . | 1088 |
| Figure 243. Regular and injected oversampling modes used simultaneously . . . . . | 1089 |
| Figure 244. Triggered regular oversampling with injection . . . . . | 1089 |
| Figure 245. Oversampling in auto-injected mode . . . . . | 1090 |
| Figure 246. Dual ADC block diagram (1) . . . . . | 1092 |
| Figure 247. Injected simultaneous mode on 4 channels: dual ADC mode . . . . . | 1093 |
| Figure 248. Regular simultaneous mode on 16 channels: dual ADC mode . . . . . | 1095 |
| Figure 249. Interleaved mode on one channel in continuous conversion mode: dual ADC mode. . . . . | 1096 |
| Figure 250. Interleaved mode on 1 channel in single conversion mode: dual ADC mode. . . . . | 1097 |
| Figure 251. Interleaved conversion with injection . . . . . | 1097 |
| Figure 252. Alternate trigger: injected group of each ADC . . . . . | 1098 |
| Figure 253. Alternate trigger: 4 injected channels (each ADC) in discontinuous mode. . . . . | 1099 |
| Figure 254. Alternate + regular simultaneous . . . . . | 1100 |
| Figure 255. Case of trigger occurring during injected conversion . . . . . | 1100 |
| Figure 256. Interleaved single channel CH0 with injected sequence CH11, CH12. . . . . | 1101 |
| Figure 257. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 1: Master interrupted first. . . . . | 1101 |
| Figure 258. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 2: Slave interrupted first. . . . . | 1101 |
| Figure 259. DMA Requests in regular simultaneous mode when MDMA = 0b00 . . . . . | 1102 |
| Figure 260. DMA requests in regular simultaneous mode when MDMA = 0b10 . . . . . | 1103 |
| Figure 261. DMA requests in interleaved mode when MDMA = 0b10. . . . . | 1103 |
| Figure 262. Temperature sensor channel block diagram . . . . . | 1105 |
| Figure 263. VBAT channel block diagram . . . . . | 1107 |
| Figure 264. VREFINT channel block diagram . . . . . | 1107 |
| Figure 265. Temperature sensor functional block diagram . . . . . | 1151 |
| Figure 266. Method for low REF_CLK frequencies . . . . . | 1153 |
| Figure 267. Method for high REF_CLK frequencies . . . . . | 1153 |
| Figure 268. Temperature sensor sequence. . . . . | 1156 |
| Figure 269. Dual-channel DAC block diagram . . . . . | 1169 |
| Figure 270. Data registers in single DAC channel mode. . . . . | 1172 |
| Figure 271. Data registers in dual DAC channel mode . . . . . | 1172 |
| Figure 272. Timing diagram for conversion with trigger disabled TEN = 0 . . . . . | 1174 |
| Figure 273. DAC LFSR register calculation algorithm . . . . . | 1176 |
| Figure 274. DAC conversion (SW trigger enabled) with LFSR wave generation. . . . . | 1177 |
| Figure 275. DAC triangle wave generation . . . . . | 1177 |
| Figure 276. DAC conversion (SW trigger enabled) with triangle wave generation . . . . . | 1178 |
| Figure 277. DAC sample and hold mode phase diagram . . . . . | 1180 |
| Figure 278. VREFBUF block diagram . . . . . | 1207 |
| Figure 279. DCMI block diagram . . . . . | 1212 |
| Figure 280. DCMI signal waveforms . . . . . | 1213 |
| Figure 281. Timing diagram. . . . . | 1215 |
| Figure 282. Frame capture waveforms in snapshot mode. . . . . | 1217 |
| Figure 283. Frame capture waveforms in continuous grab mode . . . . . | 1218 |
| Figure 284. Coordinates and size of the window after cropping . . . . . | 1218 |
| Figure 285. Data capture waveforms. . . . . | 1219 |
| Figure 286. Pixel raster scan order . . . . . | 1220 |
| Figure 287. PSSI block diagram . . . . . | 1234 |
| Figure 288. Top-level block diagram . . . . . | 1234 |
| Figure 289. Data enable in receive mode waveform diagram (CKPOL=0) . . . . . | 1238 |
| Figure 290. Data enable waveform diagram in transmit mode (CKPOL=1). . . . . | 1238 |
| Figure 291. Ready in receive mode waveform diagram (CKPOL=0). . . . . | 1239 |
| Figure 292. Bidirectional PSSI_DE/PSSI_RDY waveform . . . . . | 1240 |
| Figure 293. Bidirectional PSSI_DE/PSSI_RDY connection diagram . . . . . | 1240 |
| Figure 294. RNG block diagram . . . . . | 1248 |
| Figure 295. NIST SP800-90B entropy source model. . . . . | 1249 |
| Figure 296. RNG initialization overview . . . . . | 1252 |
| Figure 297. AES block diagram . . . . . | 1266 |
| Figure 298. Encryption/ decryption typical usage . . . . . | 1267 |
| Figure 299. Typical operation with authentication . . . . . | 1270 |
| Figure 300. Example of suspend mode management . . . . . | 1271 |
| Figure 301. ECB encryption . . . . . | 1272 |
| Figure 302. ECB decryption . . . . . | 1272 |
| Figure 303. CBC encryption . . . . . | 1272 |
| Figure 304. CBC decryption . . . . . | 1273 |
| Figure 305. Message construction in CTR mode . . . . . | 1275 |
| Figure 306. CTR encryption . . . . . | 1276 |
| Figure 307. Message construction in GCM . . . . . | 1277 |
| Figure 308. GCM authenticated encryption . . . . . | 1279 |
| Figure 309. Message construction in GMAC mode . . . . . | 1282 |
| Figure 310. GMAC authentication mode . . . . . | 1283 |
| Figure 311. Message construction in CCM mode . . . . . | 1284 |
| Figure 312. CCM mode authenticated encryption . . . . . | 1285 |
| Figure 313. 128-bit block construction according to the data type. . . . . | 1290 |
| Figure 314. SAES block diagram . . . . . | 1312 |
| Figure 315. Encryption/ decryption typical usage . . . . . | 1314 |
| Figure 316. Typical operation with authentication . . . . . | 1316 |
| Figure 317. Example of suspend mode management . . . . . | 1317 |
| Figure 318. ECB encryption . . . . . | 1318 |
| Figure 319. ECB decryption . . . . . | 1318 |
| Figure 320. CBC encryption . . . . . | 1319 |
| Figure 321. CBC decryption . . . . . | 1319 |
| Figure 322. Message construction in CTR mode . . . . . | 1322 |
| Figure 323. CTR encryption . . . . . | 1323 |
| Figure 324. Message construction in GCM . . . . . | 1324 |
| Figure 325. GCM authenticated encryption . . . . . | 1326 |
| Figure 326. Message construction in GMAC mode . . . . . | 1329 |
| Figure 327. GMAC authentication mode . . . . . | 1329 |
| Figure 328. Message construction in CCM mode . . . . . | 1330 |
| Figure 329. CCM mode authenticated encryption . . . . . | 1332 |
| Figure 330. Operation with wrapped keys for SAES in ECB and CBC modes . . . . . | 1335 |
| Figure 331. Operation with wrapped keys for SAES in CTR mode . . . . . | 1338 |
| Figure 332. Usage of Shared-key mode . . . . . | 1339 |
| Figure 333. 128-bit block construction according to the data type. . . . . | 1342 |
| Figure 334. Key protection mechanisms . . . . . | 1344 |
| Figure 335. HASH block diagram . . . . . | 1366 |
| Figure 336. Message data swapping feature. . . . . | 1368 |
| Figure 337. HASH suspend/resume mechanism. . . . . | 1374 |
| Figure 338. PKA block diagram . . . . . | 1388 |
| Figure 339. OTFDEC block diagram . . . . . | 1421 |
| Figure 340. Typical OTFDEC use in a SoC . . . . . | 1422 |
| Figure 341. AES CTR decryption flow . . . . . | 1423 |
| Figure 342. OTFDEC flow control overview (dual burst read request) . . . . . | 1424 |
| Figure 343. Advanced-control timer block diagram . . . . . | 1444 |
| Figure 344. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1450 |
| Figure 345. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1450 |
| Figure 346. | Counter timing diagram, internal clock divided by 1 . . . . . | 1452 |
| Figure 347. | Counter timing diagram, internal clock divided by 2 . . . . . | 1452 |
| Figure 348. | Counter timing diagram, internal clock divided by 4 . . . . . | 1453 |
| Figure 349. | Counter timing diagram, internal clock divided by N . . . . . | 1453 |
| Figure 350. | Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1454 |
| Figure 351. | Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1455 |
| Figure 352. | Counter timing diagram, internal clock divided by 1 . . . . . | 1456 |
| Figure 353. | Counter timing diagram, internal clock divided by 2 . . . . . | 1457 |
| Figure 354. | Counter timing diagram, internal clock divided by 4 . . . . . | 1457 |
| Figure 355. | Counter timing diagram, internal clock divided by N . . . . . | 1458 |
| Figure 356. | Counter timing diagram, update event when repetition counter is not used. . . . . | 1458 |
| Figure 357. | Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1460 |
| Figure 358. | Counter timing diagram, internal clock divided by 2 . . . . . | 1460 |
| Figure 359. | Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . . | 1461 |
| Figure 360. | Counter timing diagram, internal clock divided by N . . . . . | 1461 |
| Figure 361. | Counter timing diagram, update event with ARPE = 1 (counter underflow) . . . . . | 1462 |
| Figure 362. | Counter timing diagram, Update event with ARPE = 1 (counter overflow) . . . . . | 1463 |
| Figure 363. | Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1464 |
| Figure 365. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 1466 |
| Figure 366. | tim_ti2 external clock connection example . . . . . | 1466 |
| Figure 367. | Control circuit in external clock mode 1 . . . . . | 1467 |
| Figure 368. | External trigger input block . . . . . | 1468 |
| Figure 369. | Control circuit in external clock mode 2 . . . . . | 1469 |
| Figure 370. | Capture/compare channel (example: channel 1 input stage) . . . . . | 1469 |
| Figure 371. | Capture/compare channel 1 main circuit . . . . . | 1470 |
| Figure 372. | Output stage of capture/compare channel (channel 1, idem ch. 2, 3 and 4) . . . . . | 1471 |
| Figure 373. | Output stage of capture/compare channel (channel 5, idem ch. 6) . . . . . | 1471 |
| Figure 374. | PWM input mode timing . . . . . | 1474 |
| Figure 375. | Output compare mode, toggle on tim_oc1 . . . . . | 1476 |
| Figure 376. | Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1477 |
| Figure 377. | Center-aligned PWM waveforms (ARR = 8). . . . . | 1478 |
| Figure 378. | Dithering principle . . . . . | 1479 |
| Figure 379. | Data format and register coding in dithering mode. . . . . | 1480 |
| Figure 380. | PWM resolution vs frequency . . . . . | 1481 |
| Figure 381. | PWM dithering pattern . . . . . | 1482 |
| Figure 382. | Dithering effect on duty cycle in center-aligned PWM mode . . . . . | 1483 |
| Figure 383. | Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1485 |
| Figure 384. | Combined PWM mode on channel 1 and 3 . . . . . | 1486 |
| Figure 385. | 3-phase combined PWM signals with multiple trigger pulses per period . . . . . | 1487 |
| Figure 386. | Complementary output with symmetrical dead-time insertion . . . . . | 1488 |
| Figure 387. | Asymmetrical deadtime . . . . . | 1489 |
| Figure 388. | Dead-time waveforms with delay greater than the negative pulse . . . . . | 1489 |
| Figure 389. | Dead-time waveforms with delay greater than the positive pulse. . . . . | 1489 |
| Figure 390. | Break and Break2 circuitry overview . . . . . | 1492 |
| Figure 391. | Various output behavior in response to a break event on tim_brk (OSSI = 1) . . . . . | 1494 |
| Figure 392. | PWM output state following tim_brk and tim_brk2 assertion (OSSI = 1) . . . . . | 1495 |
| Figure 393. | PWM output state following tim_brk assertion (OSSI = 0) . . . . . | 1496 |
| Figure 394. | Output redirection (tim_brk2 request not represented). . . . . | 1497 |
| Figure 395. | tim_ocref_clr input selection multiplexer. . . . . | 1498 |
| Figure 396. Clearing TIMx tim_ocxref . . . . . | 1499 |
| Figure 397. 6-step generation, COM example (OSSR = 1) . . . . . | 1500 |
| Figure 398. Example of one pulse mode. . . . . | 1501 |
| Figure 399. Retriggerable one-pulse mode . . . . . | 1502 |
| Figure 400. Pulse generator circuitry . . . . . | 1503 |
| Figure 401. Pulse generation on compare event, for edge-aligned and encoder modes . . . . . | 1504 |
| Figure 402. Extended pulsewidth in case of concurrent triggers . . . . . | 1505 |
| Figure 403. Example of counter operation in encoder interface mode. . . . . | 1507 |
| Figure 404. Example of encoder interface mode with tim_ti1fp1 polarity inverted. . . . . | 1507 |
| Figure 405. Quadrature encoder counting modes . . . . . | 1508 |
| Figure 406. Direction plus clock encoder mode. . . . . | 1509 |
| Figure 407. Directional clock encoder mode (CC1P = CC2P = 0). . . . . | 1509 |
| Figure 408. Directional clock encoder mode (CC1P = CC2P = 1). . . . . | 1510 |
| Figure 409. Index gating options . . . . . | 1511 |
| Figure 410. Jittered Index signals . . . . . | 1511 |
| Figure 411. Index generation for IPOS[1:0] = 11 . . . . . | 1512 |
| Figure 412. Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . . | 1512 |
| Figure 413. Counter reading with index ungated (IPOS[1:0] = 00) . . . . . | 1513 |
| Figure 414. Counter reading with index gated on channel A and B. . . . . | 1513 |
| Figure 415. Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11). . . . . | 1514 |
| Figure 416. Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . . | 1515 |
| Figure 417. Index behavior in x1 and x2 mode (IPOS[1:0] = 01). . . . . | 1516 |
| Figure 418. Directional index sensitivity. . . . . | 1516 |
| Figure 419. Counter reset as function of FIDX bit setting . . . . . | 1517 |
| Figure 420. Index blanking. . . . . | 1517 |
| Figure 421. Index behavior in clock + direction mode, IPOS[0] = 1. . . . . | 1518 |
| Figure 422. Index behavior in directional clock mode, IPOS[0] = 1 . . . . . | 1518 |
| Figure 423. State diagram for quadrature encoded signals. . . . . | 1519 |
| Figure 424. Up-counting encoder error detection . . . . . | 1520 |
| Figure 425. Down-counting encode error detection. . . . . | 1521 |
| Figure 426. Encoder mode change with preload transferred on update (SMSPS = 0) . . . . . | 1522 |
| Figure 427. Measuring time interval between edges on three signals. . . . . | 1523 |
| Figure 428. Example of Hall sensor interface . . . . . | 1525 |
| Figure 429. Control circuit in reset mode . . . . . | 1526 |
| Figure 430. Control circuit in Gated mode . . . . . | 1527 |
| Figure 431. Control circuit in trigger mode. . . . . | 1528 |
| Figure 432. Control circuit in external clock mode 2 + trigger mode . . . . . | 1529 |
| Figure 433. General-purpose timer block diagram . . . . . | 1587 |
| Figure 434. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1592 |
| Figure 435. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1593 |
| Figure 436. Counter timing diagram, internal clock divided by 1 . . . . . | 1594 |
| Figure 437. Counter timing diagram, internal clock divided by 2 . . . . . | 1594 |
| Figure 438. Counter timing diagram, internal clock divided by 4 . . . . . | 1595 |
| Figure 439. Counter timing diagram, internal clock divided by N. . . . . | 1595 |
| Figure 440. Counter timing diagram, Update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1596 |
| Figure 441. Counter timing diagram, Update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1597 |
| Figure 442. Counter timing diagram, internal clock divided by 1 . . . . . | 1598 |
| Figure 443. Counter timing diagram, internal clock divided by 2 . . . . . | 1599 |
| Figure 444. Counter timing diagram, internal clock divided by 4 . . . . . | 1599 |
| Figure 445. Counter timing diagram, internal clock divided by N. . . . . | 1600 |
| Figure 446. Counter timing diagram, Update event. . . . . | 1600 |
| Figure 447. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1602 |
| Figure 448. Counter timing diagram, internal clock divided by 2 . . . . . | 1602 |
| Figure 449. Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . . | 1603 |
| Figure 450. Counter timing diagram, internal clock divided by N . . . . . | 1603 |
| Figure 451. Counter timing diagram, Update event with ARPE = 1 (counter underflow). . . . . | 1604 |
| Figure 452. Counter timing diagram, Update event with ARPE = 1 (counter overflow). . . . . | 1605 |
| Figure 453. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1606 |
| Figure 454. tim_ti2 external clock connection example . . . . . | 1606 |
| Figure 455. Control circuit in external clock mode 1 . . . . . | 1607 |
| Figure 456. External trigger input block . . . . . | 1608 |
| Figure 457. Control circuit in external clock mode 2 . . . . . | 1609 |
| Figure 458. Capture/compare channel (example: channel 1 input stage). . . . . | 1609 |
| Figure 459. Capture/compare channel 1 main circuit . . . . . | 1610 |
| Figure 460. Output stage of capture/compare channel (channel 1, idem ch.2, 3 and 4). . . . . | 1610 |
| Figure 461. PWM input mode timing . . . . . | 1613 |
| Figure 462. Output compare mode, toggle on tim_oc1 . . . . . | 1615 |
| Figure 463. Edge-aligned PWM waveforms (ARR = 8). . . . . | 1616 |
| Figure 464. Center-aligned PWM waveforms (ARR = 8). . . . . | 1617 |
| Figure 465. Dithering principle . . . . . | 1618 |
| Figure 466. Data format and register coding in dithering mode . . . . . | 1619 |
| Figure 467. PWM resolution vs frequency (16-bit mode). . . . . | 1620 |
| Figure 468. PWM resolution vs frequency (32-bit mode). . . . . | 1620 |
| Figure 469. PWM dithering pattern . . . . . | 1621 |
| Figure 470. Dithering effect on duty cycle in center-aligned PWM mode . . . . . | 1622 |
| Figure 471. Generation of two phase-shifted PWM signals with 50% duty cycle . . . . . | 1624 |
| Figure 472. Combined PWM mode on channels 1 and 3 . . . . . | 1625 |
| Figure 473. OCREF_CLR input selection multiplexer . . . . . | 1626 |
| Figure 474. Clearing TIMx tim_ocxref . . . . . | 1626 |
| Figure 475. Example of One-pulse mode . . . . . | 1627 |
| Figure 476. Retriggerable one-pulse mode . . . . . | 1629 |
| Figure 477. Pulse generator circuitry . . . . . | 1630 |
| Figure 478. Pulse generation on compare event, for edge-aligned and encoder modes . . . . . | 1630 |
| Figure 479. Extended pulse width in case of concurrent triggers . . . . . | 1631 |
| Figure 480. Example of counter operation in encoder interface mode . . . . . | 1633 |
| Figure 481. Example of encoder interface mode with tim_ti1fp1 polarity inverted . . . . . | 1633 |
| Figure 482. Quadrature encoder counting modes . . . . . | 1634 |
| Figure 483. Direction plus clock encoder mode . . . . . | 1635 |
| Figure 484. Directional clock encoder mode (CC1P = CC2P = 0). . . . . | 1636 |
| Figure 485. Directional clock encoder mode (CC1P = CC2P = 1). . . . . | 1636 |
| Figure 486. Index gating options . . . . . | 1638 |
| Figure 487. Jittered Index signals . . . . . | 1638 |
| Figure 488. Index generation for IPOS[1:0] = 11 . . . . . | 1639 |
| Figure 489. Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . . | 1639 |
| Figure 490. Counter reading with index ungated (IPOS[1:0] = 00) . . . . . | 1640 |
| Figure 491. Counter reading with index gated on channel A and B . . . . . | 1640 |
| Figure 492. Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11). . . . . | 1641 |
| Figure 493. Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . . | 1642 |
| Figure 494. Index behavior in x1 and x2 mode (IPOS[1:0] = 01). . . . . | 1643 |
| Figure 495. Directional index sensitivity . . . . . | 1643 |
| Figure 496. Counter reset as function of FIDX bit setting . . . . . | 1644 |
| Figure 497. Index blanking . . . . . | 1644 |
| Figure 498. Index behavior in clock + direction mode, IPOS[0] = 1. . . . . | 1645 |
| Figure 499. Index behavior in directional clock mode, IPOS[0] = 1 . . . . . | 1645 |
| Figure 500. State diagram for quadrature encoded signals . . . . . | 1646 |
| Figure 501. Up-counting encoder error detection . . . . . | 1647 |
| Figure 502. Down-counting encode error detection . . . . . | 1648 |
| Figure 503. Encoder mode change with preload transferred on update (SMSPS = 0) . . . . . | 1649 |
| Figure 504. Control circuit in reset mode . . . . . | 1651 |
| Figure 505. Control circuit in gated mode . . . . . | 1652 |
| Figure 506. Control circuit in trigger mode . . . . . | 1652 |
| Figure 507. Control circuit in external clock mode 2 + trigger mode . . . . . | 1654 |
| Figure 508. Master/Slave timer example . . . . . | 1654 |
| Figure 509. Master/slave connection example with 1 channel only timers . . . . . | 1655 |
| Figure 510. Gating TIM_slv with tim_oc1ref of TIM_mstr . . . . . | 1656 |
| Figure 511. Gating TIM_slv with Enable of TIM_mstr . . . . . | 1657 |
| Figure 512. Triggering TIM_slv with update of TIM_mstr. . . . . | 1658 |
| Figure 513. Triggering TIM_slv with Enable of TIM_mstr . . . . . | 1658 |
| Figure 514. Triggering TIM_mstr and TIM_slv with TIM_mstr tim_ti1 input. . . . . | 1659 |
| Figure 515. Basic timer block diagram. . . . . | 1703 |
| Figure 516. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1704 |
| Figure 517. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1705 |
| Figure 518. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1706 |
| Figure 519. Counter timing diagram, internal clock divided by 1 . . . . . | 1707 |
| Figure 520. Counter timing diagram, internal clock divided by 2 . . . . . | 1707 |
| Figure 521. Counter timing diagram, internal clock divided by 4 . . . . . | 1708 |
| Figure 522. Counter timing diagram, internal clock divided by N . . . . . | 1708 |
| Figure 523. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1709 |
| Figure 524. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1710 |
| Figure 525. Dithering principle . . . . . | 1711 |
| Figure 526. Data format and register coding in dithering mode . . . . . | 1711 |
| Figure 527. FCnt resolution vs frequency . . . . . | 1712 |
| Figure 528. PWM dithering pattern . . . . . | 1712 |
| Figure 529. General-purpose timer block diagram (TIM12). . . . . | 1723 |
| Figure 530. General-purpose timer block diagram (TIM13/TIM14) (2) . . . . . | 1724 |
| Figure 531. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1728 |
| Figure 532. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1728 |
| Figure 533. Counter timing diagram, internal clock divided by 1 . . . . . | 1729 |
| Figure 534. Counter timing diagram, internal clock divided by 2 . . . . . | 1730 |
| Figure 535. Counter timing diagram, internal clock divided by 4 . . . . . | 1730 |
| Figure 536. Counter timing diagram, internal clock divided by N . . . . . | 1731 |
| Figure 537. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1731 |
| Figure 538. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1732 |
| Figure 539. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1733 |
| Figure 540. tim_ti2 external clock connection example . . . . . | 1733 |
| Figure 541. Control circuit in external clock mode 1 . . . . . | 1734 |
| Figure 542. Capture/compare channel 1 input stage (TIM13/TIM14) . . . . . | 1735 |
| Figure 543. Capture/compare channel 1 input stage (TIM12). . . . . | 1735 |
| Figure 544. Capture/compare channel 1 main circuit . . . . . | 1736 |
| Figure 545. Output stage of capture/compare channel 1 . . . . . | 1736 |
| Figure 546. PWM input mode timing . . . . . | 1738 |
| Figure 547. Output compare mode, toggle on tim_oc1. . . . . | 1740 |
| Figure 548. Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1741 |
| Figure 549. Dithering principle . . . . . | 1742 |
| Figure 550. Data format and register coding in dithering mode . . . . . | 1742 |
| Figure 551. PWM resolution vs frequency . . . . . | 1743 |
| Figure 552. PWM dithering pattern . . . . . | 1744 |
| Figure 553. Combined PWM mode on channel 1 and 2 . . . . . | 1746 |
| Figure 554. Example of one pulse mode . . . . . | 1747 |
| Figure 555. Retriggerable one pulse mode . . . . . | 1748 |
| Figure 556. Measuring time interval between edges on 2 signals . . . . . | 1749 |
| Figure 557. Control circuit in reset mode . . . . . | 1750 |
| Figure 558. Control circuit in gated mode . . . . . | 1751 |
| Figure 559. Control circuit in trigger mode . . . . . | 1751 |
| Figure 560. TIM15 block diagram . . . . . | 1786 |
| Figure 561. TIM16/TIM17 block diagram (3) . . . . . | 1787 |
| Figure 562. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1791 |
| Figure 563. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1792 |
| Figure 564. Counter timing diagram, internal clock divided by 1 . . . . . | 1793 |
| Figure 565. Counter timing diagram, internal clock divided by 2 . . . . . | 1794 |
| Figure 566. Counter timing diagram, internal clock divided by 4 . . . . . | 1794 |
| Figure 567. Counter timing diagram, internal clock divided by N . . . . . | 1795 |
| Figure 568. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded) . . . . . | 1795 |
| Figure 569. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded) . . . . . | 1796 |
| Figure 570. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1797 |
| Figure 571. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1798 |
| Figure 572. tim_ti2 external clock connection example . . . . . | 1798 |
| Figure 573. Control circuit in external clock mode 1 . . . . . | 1799 |
| Figure 574. Capture/compare channel (example: channel 1 input stage) . . . . . | 1800 |
| Figure 575. Capture/compare channel 1 main circuit . . . . . | 1800 |
| Figure 576. Output stage of capture/compare channel (channel 1) . . . . . | 1801 |
| Figure 577. Output stage of capture/compare channel (channel 2 for TIM15) . . . . . | 1801 |
| Figure 578. PWM input mode timing . . . . . | 1804 |
| Figure 579. Output compare mode, toggle on tim_oc1 . . . . . | 1806 |
| Figure 580. Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1807 |
| Figure 581. Dithering principle . . . . . | 1808 |
| Figure 582. Data format and register coding in dithering mode . . . . . | 1808 |
| Figure 583. PWM resolution vs frequency . . . . . | 1809 |
| Figure 584. PWM dithering pattern . . . . . | 1810 |
| Figure 585. Combined PWM mode on channel 1 and 2 . . . . . | 1812 |
| Figure 586. Complementary output with symmetrical dead-time insertion . . . . . | 1813 |
| Figure 587. Asymmetrical deadtime . . . . . | 1814 |
| Figure 588. Dead-time waveforms with delay greater than the negative pulse . . . . . | 1814 |
| Figure 589. Dead-time waveforms with delay greater than the positive pulse . . . . . | 1814 |
| Figure 590. Break circuitry overview . . . . . | 1816 |
| Figure 591. Output behavior in response to a break event on tim_brk . . . . . | 1818 |
| Figure 592. Output redirection . . . . . | 1820 |
| Figure 593. tim_ocref_clr input selection multiplexer . . . . . | 1821 |
| Figure 594. 6-step generation, COM example (OSSR = 1) . . . . . | 1822 |
| Figure 595. Example of one pulse mode . . . . . | 1823 |
| Figure 596. Retriggerable one pulse mode . . . . . | 1825 |
| Figure 597. Measuring time interval between edges on 2 signals . . . . . | 1825 |
| Figure 598. Control circuit in reset mode . . . . . | 1826 |
| Figure 599. Control circuit in gated mode . . . . . | 1827 |
| Figure 600. Control circuit in trigger mode . . . . . | 1828 |
| Figure 601. LPTIM1/2/3/5/6 block diagram (1) . . . . . | 1892 |
| Figure 602. LPTIM4 block diagram(1) . . . . . | 1893 |
| Figure 603. Glitch filter timing diagram . . . . . | 1897 |
| Figure 604. LPTIM output waveform, single-counting mode configuration when repetition register content is different than zero (with PRELOAD = 1) . . . . . | 1899 |
| Figure 605. LPTIM output waveform, single-counting mode configuration and Set-once mode activated (WAVE bit is set) . . . . . | 1900 |
| Figure 606. LPTIM output waveform, Continuous counting mode configuration . . . . . | 1900 |
| Figure 607. Waveform generation . . . . . | 1902 |
| Figure 608. Encoder mode counting sequence . . . . . | 1906 |
| Figure 609. Continuous counting mode when repetition register LPTIM_RCR different from zero (with PRELOAD = 1). . . . . | 1907 |
| Figure 610. Capture/compare input stage (channel 1) . . . . . | 1908 |
| Figure 611. Capture/compare output stage (channel 1) . . . . . | 1908 |
| Figure 612. Edge-aligned PWM mode (PRELOAD = 1) . . . . . | 1910 |
| Figure 613. Edge-aligned PWM waveforms (ARR=8 and CCxP = 0) . . . . . | 1911 |
| Figure 614. PWM mode with immediate update versus preloaded update . . . . . | 1912 |
| Figure 615. Independent watchdog block diagram . . . . . | 1942 |
| Figure 616. Reset timing due to timeout . . . . . | 1944 |
| Figure 617. Reset timing due to refresh in the not allowed area . . . . . | 1945 |
| Figure 618. Changing PR, RL, and performing a refresh (1) . . . . . | 1946 |
| Figure 619. Window comparator update (1) . . . . . | 1947 |
| Figure 620. Independent watchdog interrupt timing diagram. . . . . | 1949 |
| Figure 621. Early wake-up comparator update (1) . . . . . | 1950 |
| Figure 622. Watchdog block diagram . . . . . | 1958 |
| Figure 623. Window watchdog timing diagram . . . . . | 1960 |
| Figure 624. RTC block diagram . . . . . | 1966 |
| Figure 625. TAMP block diagram . . . . . | 2024 |
| Figure 626. Backup registers protection zones . . . . . | 2029 |
| Figure 627. Tamper sampling with precharge pulse . . . . . | 2034 |
| Figure 628. Low level detection with precharge and filtering . . . . . | 2034 |
| Figure 629. Active tamper filtering . . . . . | 2036 |
| Figure 630. Block diagram . . . . . | 2073 |
| Figure 631. I 2 C-bus protocol . . . . . | 2075 |
| Figure 632. Setup and hold timings . . . . . | 2077 |
| Figure 633. I2C initialization flow . . . . . | 2079 |
| Figure 634. Data reception . . . . . | 2080 |
| Figure 635. Data transmission . . . . . | 2081 |
| Figure 636. Target initialization flow . . . . . | 2084 |
| Figure 637. Transfer sequence flow for I2C target transmitter, NOSTRETCH = 0 . . . . . | 2086 |
| Figure 638. Transfer sequence flow for I2C target transmitter, NOSTRETCH = 1 . . . . . | 2087 |
| Figure 639. Transfer bus diagrams for I2C target transmitter (mandatory events only) . . . . . | 2088 |
| Figure 640. Transfer sequence flow for I2C target receiver, NOSTRETCH = 0 . . . . . | 2089 |
| Figure 641. Transfer sequence flow for I2C target receiver, NOSTRETCH = 1 . . . . . | 2090 |
| Figure 642. Transfer bus diagrams for I2C target receiver (mandatory events only) . . . . . | 2090 |
| Figure 643. Controller clock generation . . . . . | 2092 |
| Figure 644. Controller initialization flow . . . . . | 2094 |
| Figure 645. 10-bit address read access with HEAD10R = 0 . . . . . | 2094 |
| Figure 646. | 10-bit address read access with HEAD10R = 1 . . . . . | 2095 |
| Figure 647. | Transfer sequence flow for I2C controller transmitter, N ≤ 255 bytes. . . . . | 2096 |
| Figure 648. | Transfer sequence flow for I2C controller transmitter, N > 255 bytes. . . . . | 2097 |
| Figure 649. | Transfer bus diagrams for I2C controller transmitter (mandatory events only) . . . . . | 2098 |
| Figure 650. | Transfer sequence flow for I2C controller receiver, N ≤ 255 bytes . . . . . | 2100 |
| Figure 651. | Transfer sequence flow for I2C controller receiver, N > 255 bytes. . . . . | 2101 |
| Figure 652. | Transfer bus diagrams for I2C controller receiver (mandatory events only) . . . . . | 2102 |
| Figure 653. | Timeout intervals for t LOW:SEXT , t LOW:MEXT . . . . . | 2106 |
| Figure 654. | Transfer sequence flow for SMBus target transmitter N bytes + PEC . . . . . | 2109 |
| Figure 655. | Transfer bus diagram for SMBus target transmitter (SBC = 1). . . . . | 2110 |
| Figure 656. | Transfer sequence flow for SMBus target receiver N bytes + PEC . . . . . | 2111 |
| Figure 657. | Bus transfer diagrams for SMBus target receiver (SBC = 1) . . . . . | 2112 |
| Figure 658. | Bus transfer diagrams for SMBus controller transmitter . . . . . | 2113 |
| Figure 659. | Bus transfer diagrams for SMBus controller receiver . . . . . | 2115 |
| Figure 660. | I3C block diagram. . . . . | 2139 |
| Figure 661. | I3C (primary) controller state and programming sequence diagram. . . . . | 2143 |
| Figure 662. | I3C target state and programing sequence diagram . . . . . | 2148 |
| Figure 663. | I3C CCC messages, as controller . . . . . | 2162 |
| Figure 664. | I3C broadcast ENTDAA CCC, as controller . . . . . | 2163 |
| Figure 665. | I3C broadcast, direct read and direct write RSTACT CCC, as controller . . . . . | 2164 |
| Figure 666. | I3C CCC messages, as target . . . . . | 2166 |
| Figure 667. | I3C broadcast ENTDAA CCC, as target. . . . . | 2167 |
| Figure 668. | I3C broadcast DEFTGTS CCC, as target. . . . . | 2168 |
| Figure 669. | I3C broadcast DEFGRPA CCC, as target . . . . . | 2169 |
| Figure 670. | I3C private read/write messages, as controller. . . . . | 2171 |
| Figure 671. | I3C private read/write messages, as target . . . . . | 2172 |
| Figure 672. | Legacy I2C read/write messages, as controller . . . . . | 2173 |
| Figure 673. | IBI transfer, as controller/target . . . . . | 2174 |
| Figure 674. | Hot-join request transfer, as controller/target . . . . . | 2175 |
| Figure 675. | Controller-role request transfer, as controller/target . . . . . | 2176 |
| Figure 676. | C-FIFO management, as controller . . . . . | 2177 |
| Figure 677. | TX-FIFO management, as controller . . . . . | 2179 |
| Figure 678. | RX-FIFO management, as controller . . . . . | 2181 |
| Figure 679. | S-FIFO management, as controller . . . . . | 2184 |
| Figure 680. | RX-FIFO management, as target on the I3C bus. . . . . | 2185 |
| Figure 681. | TX-FIFO management with I3C_TGTTDR, as target on the I3C bus. . . . . | 2187 |
| Figure 682. | TX-FIFO management by software without I3C_TGTTDR if reading less bytes than TX-FIFO size, as target. . . . . | 2189 |
| Figure 683. | USART block diagram . . . . . | 2247 |
| Figure 684. | Word length programming . . . . . | 2251 |
| Figure 685. | Configurable stop bits . . . . . | 2253 |
| Figure 686. | TC/TXE behavior when transmitting . . . . . | 2255 |
| Figure 687. | Start bit detection when oversampling by 16 or 8. . . . . | 2256 |
| Figure 688. | usart_ker_ck clock divider block diagram. . . . . | 2259 |
| Figure 689. | Data sampling when oversampling by 16. . . . . | 2260 |
| Figure 690. | Data sampling when oversampling by 8. . . . . | 2261 |
| Figure 691. | Mute mode using Idle line detection . . . . . | 2268 |
| Figure 692. | Mute mode using address mark detection . . . . . | 2269 |
| Figure 693. | Break detection in LIN mode (11-bit break length - LBDL bit is set). . . . . | 2272 |
| Figure 694. | Break detection in LIN mode vs. Framing error detection. . . . . | 2273 |
| Figure 695. | USART example of synchronous master transmission. . . . . | 2274 |
| Figure 696. | USART data clock timing diagram in synchronous master mode (M bits = 00) . . . . . | 2274 |
| Figure 697. | USART data clock timing diagram in synchronous master mode (M bits = 01) . . . . . | 2275 |
| Figure 698. | USART data clock timing diagram in synchronous slave mode (M bits = 00) . . . . . | 2276 |
| Figure 699. | ISO 7816-3 asynchronous protocol . . . . . | 2278 |
| Figure 700. | Parity error detection using the 1.5 stop bits . . . . . | 2280 |
| Figure 701. | IrDA SIR ENDEC block diagram. . . . . | 2284 |
| Figure 702. | IrDA data modulation (3/16) - normal mode . . . . . | 2284 |
| Figure 703. | Transmission using DMA . . . . . | 2286 |
| Figure 704. | Reception using DMA . . . . . | 2287 |
| Figure 705. | Hardware flow control between two USARTs. . . . . | 2287 |
| Figure 706. | RS232 RTS flow control . . . . . | 2288 |
| Figure 707. | RS232 CTS flow control . . . . . | 2289 |
| Figure 708. | Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2292 |
| Figure 709. | Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2292 |
| Figure 710. | LPUART block diagram . . . . . | 2337 |
| Figure 711. | LPUART word length programming . . . . . | 2340 |
| Figure 712. | Configurable stop bits . . . . . | 2342 |
| Figure 713. | TC/TXE behavior when transmitting . . . . . | 2344 |
| Figure 714. | lpuart_ker_ck clock divider block diagram . . . . . | 2348 |
| Figure 715. | Mute mode using Idle line detection . . . . . | 2352 |
| Figure 716. | Mute mode using address mark detection . . . . . | 2353 |
| Figure 717. | Transmission using DMA . . . . . | 2355 |
| Figure 718. | Reception using DMA . . . . . | 2356 |
| Figure 719. | Hardware flow control between two LPUARTs. . . . . | 2357 |
| Figure 720. | RS232 RTS flow control . . . . . | 2357 |
| Figure 721. | RS232 CTS flow control . . . . . | 2358 |
| Figure 722. | Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2361 |
| Figure 723. | Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2361 |
| Figure 724. | SPI/I2S block diagram . . . . . | 2393 |
| Figure 725. | Full-duplex single master/ single slave application. . . . . | 2396 |
| Figure 726. | Half-duplex single master/ single slave application . . . . . | 2397 |
| Figure 727. | Simplex single master / single slave application (master in transmit-only / slave in receive-only mode) . . . . . | 2398 |
| Figure 728. | Master and three independent slaves connected in star topology . . . . . | 2399 |
| Figure 729. | Master and three slaves connected in circular (daisy chain) topology . . . . . | 2401 |
| Figure 730. | Multimaster application . . . . . | 2402 |
| Figure 731. | Scheme of NSS control logic . . . . . | 2404 |
| Figure 732. | Data flow timing control (SSOE = 1, SSOM = 0, SSM = 0) . . . . . | 2404 |
| Figure 733. | NSS interleaving pulses between data (SSOE = 1, SSOM = 1, SSM = 0). . . . . | 2405 |
| Figure 734. | Data clock timing diagram . . . . . | 2407 |
| Figure 735. | Data alignment when data size is not equal to 8, 16 or 32 bits . . . . . | 2408 |
| Figure 736. | TI mode transfer . . . . . | 2417 |
| Figure 737. | Optional configurations of the slave behavior when an underrun condition is detected . . . . . | 2419 |
| Figure 738. | Waveform examples . . . . . | 2427 |
| Figure 739. | Master I2S Philips protocol waveforms (16/32-bit full accuracy) . . . . . | 2428 |
| Figure 740. I2S Philips standard waveforms . . . . . | 2428 |
| Figure 741. Master MSB-justified 16- or 32-bit full-accuracy length . . . . . | 2429 |
| Figure 742. Master MSB-justified 16- or 24-bit data length . . . . . | 2429 |
| Figure 743. Slave MSB-justified 16-, 24- or 32-bit data length . . . . . | 2430 |
| Figure 744. LSB-justified 16 or 24-bit data length . . . . . | 2430 |
| Figure 745. Master PCM when the frame length is equal the data length . . . . . | 2431 |
| Figure 746. Master PCM standard waveforms (16 or 24-bit data length) . . . . . | 2431 |
| Figure 747. Slave PCM waveforms . . . . . | 2432 |
| Figure 748. Startup sequence, I2S Philips standard, master . . . . . | 2435 |
| Figure 749. Startup sequence, I2S Philips standard, slave . . . . . | 2436 |
| Figure 750. Stop sequence, I2S Philips standard, master . . . . . | 2436 |
| Figure 751. I 2 S clock generator architecture . . . . . | 2437 |
| Figure 752. Data Format . . . . . | 2439 |
| Figure 753. Handling of underrun situation . . . . . | 2441 |
| Figure 754. Handling of overrun situation . . . . . | 2442 |
| Figure 755. Frame error detection, with FIXCH = 0 . . . . . | 2443 |
| Figure 756. Frame error detection, with FIXCH = 1 . . . . . | 2443 |
| Figure 757. SAI functional block diagram . . . . . | 2469 |
| Figure 758. Audio frame . . . . . | 2473 |
| Figure 759. FS role is start of frame + channel side identification (FSDEF = TRIS = 1) . . . . . | 2475 |
| Figure 760. FS role is start of frame (FSDEF = 0) . . . . . | 2476 |
| Figure 761. Slot size configuration with FBOFF = 0 in SAI_xSLOTR . . . . . | 2477 |
| Figure 762. First bit offset . . . . . | 2477 |
| Figure 763. Audio block clock generator overview . . . . . | 2479 |
| Figure 764. PDM typical connection and timing . . . . . | 2483 |
| Figure 765. Detailed PDM interface block diagram . . . . . | 2484 |
| Figure 766. Start-up sequence . . . . . | 2485 |
| Figure 767. SAI_ADR format in TDM mode, 32-bit slot width . . . . . | 2486 |
| Figure 768. SAI_ADR format in TDM mode, 16-bit slot width . . . . . | 2487 |
| Figure 769. SAI_ADR format in TDM mode, 8-bit slot width . . . . . | 2488 |
| Figure 770. AC'97 audio frame . . . . . | 2491 |
| Figure 771. Example of typical AC'97 configuration on devices featuring at least two embedded SAIs (three external AC'97 decoders) . . . . . | 2492 |
| Figure 772. SPDIF format . . . . . | 2493 |
| Figure 773. SAI_xDR register ordering . . . . . | 2494 |
| Figure 774. Data companding hardware in an audio block in the SAI . . . . . | 2497 |
| Figure 775. Tristate strategy on SD output line on an inactive slot . . . . . | 2499 |
| Figure 776. Tristate on output data line in a protocol like I2S . . . . . | 2500 |
| Figure 777. Overrun detection error . . . . . | 2501 |
| Figure 778. FIFO underrun event . . . . . | 2501 |
| Figure 779. CAN subsystem . . . . . | 2536 |
| Figure 780. FDCAN block diagram . . . . . | 2538 |
| Figure 781. Bit timing . . . . . | 2540 |
| Figure 782. Transceiver delay measurement . . . . . | 2545 |
| Figure 783. Pin control in bus monitoring mode . . . . . | 2546 |
| Figure 784. Pin control in loop-back mode . . . . . | 2549 |
| Figure 785. CAN error state diagram . . . . . | 2550 |
| Figure 786. Message RAM configuration . . . . . | 2551 |
| Figure 787. Standard message ID filter path . . . . . | 2554 |
| Figure 788. Extended message ID filter path . . . . . | 2555 |
| Figure 789. USB peripheral block diagram . . . . . | 2602 |
| Figure 790. Packet buffer areas with examples of buffer description table locations . . . . . | 2608 |
| Figure 791. UCPD block diagram . . . . . | 2650 |
| Figure 792. Clock division and timing elements. . . . . | 2652 |
| Figure 793. K-code transmission . . . . . | 2654 |
| Figure 794. Transmit order for various sizes of data . . . . . | 2655 |
| Figure 795. Packet format . . . . . | 2656 |
| Figure 796. Line format of Hard Reset. . . . . | 2656 |
| Figure 797. Line format of Cable Reset. . . . . | 2657 |
| Figure 798. BIST test data frame. . . . . | 2658 |
| Figure 799. BIST Carrier Mode 2 frame. . . . . | 2658 |
| Figure 800. UCPD BMC transmitter architecture. . . . . | 2659 |
| Figure 801. UCPD BMC receiver architecture . . . . . | 2660 |
| Figure 802. Ethernet high-level block diagram . . . . . | 2693 |
| Figure 803. DMA transmission flow (standard mode) . . . . . | 2696 |
| Figure 804. DMA transmission flow (OSP mode) . . . . . | 2698 |
| Figure 805. Receive DMA flow . . . . . | 2700 |
| Figure 806. Overview of MAC transmission flow . . . . . | 2704 |
| Figure 807. MAC reception flow . . . . . | 2706 |
| Figure 808. Packet filtering sequence . . . . . | 2710 |
| Figure 809. Networked time synchronization. . . . . | 2719 |
| Figure 810. Propagation delay calculation in clocks supporting peer-to-peer path correction . . . . . | 2720 |
| Figure 811. System time update using fine correction method . . . . . | 2730 |
| Figure 812. TCP segmentation offload overview. . . . . | 2747 |
| Figure 813. TCP segmentation offload flow. . . . . | 2748 |
| Figure 814. Header and payload fields of segmented packets . . . . . | 2751 |
| Figure 815. Supported PHY interfaces . . . . . | 2761 |
| Figure 816. SMA Interface block . . . . . | 2761 |
| Figure 817. MDIO packet structure (Clause 45) . . . . . | 2762 |
| Figure 818. MDIO packet structure (Clause 22) . . . . . | 2763 |
| Figure 819. SMA write operation flow . . . . . | 2765 |
| Figure 820. Write data packet . . . . . | 2766 |
| Figure 821. Read data packet . . . . . | 2766 |
| Figure 822. Media independent interface (MII) signals . . . . . | 2768 |
| Figure 823. RMII block diagram. . . . . | 2770 |
| Figure 824. Transmission bit order . . . . . | 2771 |
| Figure 825. Receive bit order. . . . . | 2772 |
| Figure 826. LPI transitions (Transmit, 100 Mbds) . . . . . | 2780 |
| Figure 827. LPI Tx clock gating (when LPITCSE = 1) . . . . . | 2781 |
| Figure 828. LPI transitions (receive, 100 Mbps) . . . . . | 2782 |
| Figure 829. Descriptor ring structure . . . . . | 2803 |
| Figure 830. DMA descriptor ring . . . . . | 2805 |
| Figure 831. Descriptor tail pointer example 1 . . . . . | 2805 |
| Figure 832. Descriptor tail pointer example 2 . . . . . | 2806 |
| Figure 833. Transmit descriptor (read format) . . . . . | 2807 |
| Figure 834. Transmit descriptor write-back format. . . . . | 2812 |
| Figure 835. Transmit context descriptor format. . . . . | 2816 |
| Figure 836. Receive normal descriptor (read format) . . . . . | 2820 |
| Figure 837. Receive normal descriptor (write-back format). . . . . | 2822 |
| Figure 838. Receive context descriptor . . . . . | 2830 |
| Figure 839. Generation of ETH_DMAISR flags . . . . . | 2846 |
| Figure 840. HDMI-CEC block diagram . . . . . | 2966 |
| Figure 841. Message structure . . . . . | 2966 |
| Figure 842. Blocks . . . . . | 2967 |
| Figure 843. Bit timings . . . . . | 2967 |
| Figure 844. Signal free time . . . . . | 2968 |
| Figure 845. Arbitration phase . . . . . | 2968 |
| Figure 846. SFT of three nominal bit periods . . . . . | 2968 |
| Figure 847. Error bit timing . . . . . | 2969 |
| Figure 848. Error handling . . . . . | 2971 |
| Figure 849. TXERR detection . . . . . | 2972 |
| Figure 850. Block diagram of debug support infrastructure . . . . . | 2983 |
| Figure 851. Product life cycle states and debug authentication . . . . . | 2987 |
| Figure 852. JTAG TAP state machine . . . . . | 2991 |
| Figure 853. CoreSight topology . . . . . | 3012 |
| Figure 854. Trace port interface unit (TPIU) . . . . . | 3091 |
| Figure 855. Embedded cross trigger . . . . . | 3103 |
Chapters
- 1. Documentation conventions
- 2. Memory and bus architecture
- 3. System security
- 4. Boot modes
- 5. Global TrustZone® controller (GTZC)
- 6. RAMs configuration controller (RAMCFG)
- 7. Embedded flash memory (FLASH)
- 8. Instruction cache (ICACHE)
- 9. Data cache (DCACHE)
- 10. Power control (PWR)
- 11. Reset and clock control (RCC)
- 12. Clock recovery system (CRS)
- 13. General-purpose I/Os (GPIO)
- 14. System configuration, boot, and security (SBS)
- 15. Peripherals interconnect matrix
- 16. General purpose direct memory access controller (GPDMA)
- 17. Nested vectored interrupt controller (NVIC)
- 18. Extended interrupts and event controller (EXTI)
- 19. Cyclic redundancy check calculation unit (CRC)
- 20. CORDIC coprocessor (CORDIC)
- 21. Filter math accelerator (FMAC)
- 22. Flexible memory controller (FMC)
- 23. Octo-SPI interface (OCTOSPI)
- 24. Secure digital input/output MultiMediaCard interface (SDMMC)
- 25. Delay block (DLYB)
- 26. Analog-to-digital converters (ADC1/2)
- 27. Digital temperature sensor (DTS)
- 28. Digital-to-analog converter (DAC)
- 29. Voltage reference buffer (VREFBUF)
- 30. Digital camera interface (DCMI)
- 31. Parallel synchronous slave interface (PSSI)
- 32. True random number generator (RNG)
- 33. AES hardware accelerator (AES)
- 34. Secure AES coprocessor (SAES)
- 35. Hash processor (HASH)
- 36. Public key accelerator (PKA)
- 37. On-the-fly decryption engine (OTFDEC)
- 38. Advanced-control timers (TIM1/TIM8)
- 39. General-purpose timers (TIM2/TIM3/TIM4/TIM5)
- 40. Basic timers (TIM6/TIM7)
- 41. General-purpose timers (TIM12/TIM13/TIM14)
- 42. General purpose timers (TIM15/TIM16/TIM17)
- 43. Low-power timer (LPTIM)
- 44. Independent watchdog (IWDG)
- 45. System window watchdog (WWDG)
- 46. Real-time clock (RTC)
- 47. Tamper and backup registers (TAMP)
- 48. Inter-integrated circuit interface (I2C)
- 49. Improved inter-integrated circuit (I3C)
- 50. Universal synchronous/asynchronous receiver transmitter (USART/UART)
- 51. Low-power universal asynchronous receiver transmitter (LPUART)
- 52. Serial peripheral interface (SPI)
- 53. Serial audio interface (SAI)
- 54. FD controller area network (FDCAN)
- 55. Universal serial bus full-speed host/device interface (USB)
- 56. USB Type-C ® /USB Power Delivery interface (UCPD)
- 57. Ethernet (ETH): media access control (MAC) with DMA controller
- 58. HDMI-CEC controller (CEC)
- 59. Debug support (DBG)
- 60. Device electronic signature
- 61. Important security notice
- 62. Revision history
- Index