## Introduction This reference manual targets application developers. It provides complete information on how to use the STM32F405xx/07xx, STM32F415xx/17xx, STM32F42xxx and STM32F43xxx microcontroller memory and peripherals. The STM32F405xx/07xx, STM32F415xx/17xx, STM32F42xxx and STM32F43xxx constitute a family of microcontrollers with different memory sizes, packages and peripherals. For ordering information, mechanical and electrical device characteristics please refer to the datasheets. For information on the Arm® Cortex®-M4 with FPU core, please refer to the Cortex®-M4 with FPU Technical Reference Manual. ## Related documents Available from STMicroelectronics web site (http://www.st.com): • STM32F40x and STM32F41x datasheets • STM32F42x and STM32F43x datasheets • For information on the Arm® Cortex®-M4 with FPU, refer to the STM32F3xx/F4xxx Cortex®-M4 with FPU programming manual (PM0214). ## Contents ## 1 Documentation conventions 57 1.1 List of abbreviations for registers 57 1.2 Glossary 58 1.3 Peripheral availability 58 ## 2 Memory and bus architecture 59 2.1 System architecture 59 2.1.1 I-bus . . . 62 2.1.2 D-bus . . . . 62 2.1.3 S-bus . . 62 2.1.4 DMA memory bus . . 63 2.1.5 DMA peripheral bus . . . 63 2.1.6 Ethernet DMA bus . . 63 2.1.7 USB OTG HS DMA bus . . 63 2.1.8 LCD-TFT controller DMA bus . . . . . 63 2.1.9 DMA2D bus . . 63 2.1.10 BusMatrix . . . . 63 2.1.11 AHB/APB bridges (APB) . . 64 2.2 Memory organization 64 2.3 Memory map 64 2.3.1 Embedded SRAM . . . 68 2.3.2 Flash memory overview . . . . . . 68 2.3.3 Bit banding . . 68 2.4 Boot configuration 69 ## 3 Embedded Flash memory interface . . . . 73 3.1 Introduction 73 3.2 Main features 73 3.3 Embedded Flash memory in STM32F405xx/07xx and STM32F415xx/17xx 74 3.4 Embedded Flash memory in STM32F42xxx and STM32F43xxx . . . . . . . 76 3.5 Read interface 80 3.5.1 Relation between CPU clock frequency and Flash memory read time . 80 3.5.2 Adaptive real-time memory accelerator (ART Accelerator™) . . . . . . . . 82 3.6 Erase and program operations . 84 3.6.1 Unlocking the Flash control register . . 84 3.6.2 Program/erase parallelism . . . . . 85 3.6.3 Erase . . 85 3.6.4 Programming . . . . . . . 86 3.6.5 Read-while-write (RWW) . . . 87 3.6.6 Interrupts . . . 88 3.7 Option bytes 88 3.7.1 Description of user option bytes . . . 88 3.7.2 Programming user option bytes . . . . . . 92 3.7.3 Read protection (RDP) . 93 3.7.4 Write protections . 94 3.7.5 Proprietary code readout protection (PCROP) . 95 3.8 One-time programmable bytes . . 97 3.9 Flash interface registers 98 3.9.1 Flash access control register (FLASH\_ACR) for STM32F405xx/07xx and STM32F415xx/17xx . 98 3.9.2 Flash access control register (FLASH\_ACR) for STM32F42xxx and STM32F43xxx . . . 99 3.9.3 Flash key register (FLASH\_KEYR) . . . 100 3.9.4 Flash option key register (FLASH\_OPTKEYR) . . . . . . . . 100 3.9.5 Flash status register (FLASH\_SR) for STM32F405xx/07xx and STM32F415xx/17xx . 101 3.9.6 Flash status register (FLASH\_SR) for STM32F42xxx and STM32F43xxx 102 3.9.7 Flash control register (FLASH\_CR) for STM32F405xx/07xx and STM32F415xx/17xx . 103 3.9.8 Flash control register (FLASH\_CR) for STM32F42xxx and STM32F43xxx . 105 3.9.9 Flash option control register (FLASH\_OPTCR) for STM32F405xx/07xx and STM32F415xx/17xx . . 106 3.9.10 Flash option control register (FLASH\_OPTCR) for STM32F42xxx and STM32F43xxx . . 108 3.9.11 Flash option control register (FLASH\_OPTCR1) for STM32F42xxx and STM32F43xxx . 110 3.9.12 Flash interface register map 111 4 CRC calculation unit . . 113 4.1 CRC introduction .113 4.2 CRC main features .113 4.3 CRC functional description .114 4.4 CRC registers .114 4.4.1 Data register (CRC\_DR) . 114 4.4.2 Independent data register (CRC\_IDR) . 114 4.4.3 Control register (CRC\_CR) . . . . . 115 4.4.4 CRC register map . 115 ## 5 Power controller (PWR) . 116 5.1 Power supplies .116 5.1.1 Independent A/D converter supply and reference voltage . . . . . . 117 5.1.2 Battery backup domain . 118 5.1.3 Voltage regulator for STM32F405xx/07xx and STM32F415xx/17xx . . 120 5.1.4 Voltage regulator for STM32F42xxx and STM32F43xxx . . . . . 121 5.2 Power supply supervisor 124 5.2.1 Power-on reset (POR)/power-down reset (PDR) . . . . . 124 5.2.2 Brownout reset (BOR) . 125 5.2.3 Programmable voltage detector (PVD) . 125 5.3 Low-power modes 126 5.3.1 Slowing down system clocks . . . . 128 5.3.2 Peripheral clock gating . 128 5.3.3 Sleep mode . . . . . 129 5.3.4 Stop mode (STM32F405xx/07xx and STM32F415xx/17xx) . . . . . . . . 130 5.3.5 Stop mode (STM32F42xxx and STM32F43xxx) . . 133 5.3.6 Standby mode . . . . . 136 5.3.7 Programming the RTC alternate functions to wake up the device from the Stop and Standby modes . 138 5.4 Power control registers (STM32F405xx/07xx and STM32F415xx/17xx) 141 5.4.1 PWR power control register (PWR\_CR) for STM32F405xx/07xx and STM32F415xx/17xx 141 5.4.2 PWR power control/status register (PWR\_CSR) for STM32F405xx/07xx and STM32F415xx/17xx 142 5.5 Power control registers (STM32F42xxx and STM32F43xxx) . . . 144 5.5.1 PWR power control register (PWR\_CR) for STM32F42xxx and STM32F43xxx . . 144 5.5.2 PWR power control/status register (PWR\_CSR) for STM32F42xxx and STM32F43xxx . . . 147 5.6 PWR register map 149 ## 6 Reset and clock control for STM32F42xxx and STM32F43xxx (RCC) . . . . . . 150 6.1 Reset 150 6.1.1 System reset . . . . . 150 6.1.2 Power reset . 150 6.1.3 Backup domain reset . . . 151 6.2 Clocks 151 6.2.1 HSE clock . 154 6.2.2 HSI clock . 155 6.2.3 PLL configuration . 155 6.2.4 LSE clock . . . . . 156 6.2.5 LSI clock . . 156 6.2.6 System clock (SYSCLK) selection . . . . . . 156 6.2.7 Clock security system (CSS) . . . . . 157 6.2.8 RTC/AWU clock . . . 157 6.2.9 Watchdog clock . 158 6.2.10 Clock-out capability . . 158 6.2.11 Internal/external clock measurement using TIM5/TIM11 . . . . . . . 158 6.3 RCC registers . 161 6.3.1 RCC clock control register (RCC\_CR) . . . . . 161 6.3.2 RCC PLL configuration register (RCC\_PLLCFGR) . . . . . . 163 6.3.3 RCC clock configuration register (RCC\_CFGR) . . . . . 165 6.3.4 RCC clock interrupt register (RCC\_CIR) . . . . . . 167 6.3.5 RCC AHB1 peripheral reset register (RCC\_AHB1RSTR) . . . . . . . 170 6.3.6 RCC AHB2 peripheral reset register (RCC\_AHB2RSTR) . . . . . . . . 173 6.3.7 RCC AHB3 peripheral reset register (RCC\_AHB3RSTR) . . . . . . . . 174 6.3.8 RCC APB1 peripheral reset register (RCC\_APB1RSTR) . . . . . . . 174 6.3.9 RCC APB2 peripheral reset register (RCC\_APB2RSTR) . . . . . . . . 178 6.3.10 RCC AHB1 peripheral clock register (RCC\_AHB1ENR) . 180 6.3.11 RCC AHB2 peripheral clock enable register (RCC\_AHB2ENR) . . . . . 182 6.3.12 RCC AHB3 peripheral clock enable register (RCC\_AHB3ENR) . . . . . 183 6.3.13 RCC APB1 peripheral clock enable register (RCC\_APB1ENR) . . . . . 183 6.3.14 RCC APB2 peripheral clock enable register (RCC\_APB2ENR) . . . . . 187 6.3.15 RCC AHB1 peripheral clock enable in low power mode register (RCC\_AHB1LPENR) 189 6.3.16 RCC AHB2 peripheral clock enable in low power mode register (RCC\_AHB2LPENR) . . . . . 192 6.3.17 RCC AHB3 peripheral clock enable in low power mode register (RCC\_AHB3LPENR) . . 193 6.3.18 RCC APB1 peripheral clock enable in low power mode register (RCC\_APB1LPENR) . . . 193 6.3.19 RCC APB2 peripheral clock enabled in low power mode register (RCC\_APB2LPENR) . . . 197 6.3.20 RCC Backup domain control register (RCC\_BDCR) . . . . . . . . . 199 6.3.21 RCC clock control & status register (RCC\_CSR) . . 200 6.3.22 RCC spread spectrum clock generation register (RCC\_SSCGR) . . . . 202 6.3.23 RCC PLLI2S configuration register (RCC\_PLLI2SCFGR) . . . . . 203 6.3.24 RCC PLL configuration register (RCC\_PLLSAICFGR) . . . . . . . . . 206 6.3.25 RCC Dedicated Clock Configuration Register (RCC\_DCKCFGR) . . . 207 6.3.26 RCC register map . . 210 ## 7 Reset and clock control for STM32F405xx/07xx and STM32F415xx/17xx(RCC) . . 213 7.1 Reset 213 7.1.1 System reset . . . . . . 213 7.1.2 Power reset . . 214 7.1.3 Backup domain reset . . . . . 214 7.2 Clocks . 215 7.2.1 HSE clock . . 217 7.2.2 HSI clock . . 218 7.2.3 PLL configuration . . . . . . 219 7.2.4 LSE clock . . . . 219 7.2.5 LSI clock . 220 7.2.6 System clock (SYSCLK) selection . . . . . . . 220 7.2.7 Clock security system (CSS) . . . . . . 220 7.2.8 RTC/AWU clock . . 221 7.2.9 Watchdog clock . . 221 7.2.10 Clock-out capability . 222 7.2.11 Internal/external clock measurement using TIM5/TIM11 . . . . 222 7.3 RCC registers . . 224 7.3.1 RCC clock control register (RCC\_CR) . . . . . 224 7.3.2 RCC PLL configuration register (RCC\_PLLCFGR) . . . . . . . . 226 7.3.3 RCC clock configuration register (RCC\_CFGR) . . . . . . . . 228 7.3.4 RCC clock interrupt register (RCC\_CIR) . . . . . . 230 7.3.5 RCC AHB1 peripheral reset register (RCC\_AHB1RSTR) . . . . . . . . 233 7.3.6 RCC AHB2 peripheral reset register (RCC\_AHB2RSTR) . . . . . . . . 236 7.3.7 RCC AHB3 peripheral reset register (RCC\_AHB3RSTR) . . . . . . . . . . 237 7.3.8 RCC APB1 peripheral reset register (RCC\_APB1RSTR) . . . . . . . . . . 237 7.3.9 RCC APB2 peripheral reset register (RCC\_APB2RSTR) . . . . . . . . 240 7.3.10 RCC AHB1 peripheral clock enable register (RCC\_AHB1ENR) . . . . . 242 7.3.11 RCC AHB2 peripheral clock enable register (RCC\_AHB2ENR) . . . . . 244 7.3.12 RCC AHB3 peripheral clock enable register (RCC\_AHB3ENR) . . . . . 245 7.3.13 RCC APB1 peripheral clock enable register (RCC\_APB1ENR) . 245 7.3.14 RCC APB2 peripheral clock enable register (RCC\_APB2ENR) . . . . . 248 7.3.15 RCC AHB1 peripheral clock enable in low power mode register (RCC\_AHB1LPENR) . . . 250 7.3.16 RCC AHB2 peripheral clock enable in low power mode register (RCC\_AHB2LPENR) . . . . . 252 7.3.17 RCC AHB3 peripheral clock enable in low power mode register (RCC\_AHB3LPENR) . . . 253 7.3.18 RCC APB1 peripheral clock enable in low power mode register (RCC\_APB1LPENR) . . . . . 254 7.3.19 RCC APB2 peripheral clock enabled in low power mode register (RCC\_APB2LPENR) . . 257 7.3.20 RCC Backup domain control register (RCC\_BDCR) . . . . . . . . . 259 7.3.21 RCC clock control & status register (RCC\_CSR) . . . 260 7.3.22 RCC spread spectrum clock generation register (RCC\_SSCGR) . . . . 262 7.3.23 RCC PLLI2S configuration register (RCC\_PLLI2SCFGR) . . . . . . . . . 263 7.3.24 RCC register map . . 265 ## 8 General-purpose I/Os (GPIO) . . . . . 267 8.1 GPIO introduction . 267 8.2 GPIO main features 267 8.3 GPIO functional description 267 8.3.1 General-purpose I/O (GPIO) . . 269 8.3.2 I/O pin multiplexer and mapping . . . 270 8.3.3 I/O port control registers . . 274 8.3.4 I/O port data registers . . 274 8.3.5 I/O data bitwise handling . . 274 8.3.6 GPIO locking mechanism . . 274 8.3.7 I/O alternate function input/output . . 275 8.3.8 External interrupt/wakeup lines . 275 8.3.9 Input configuration . . 275 8.3.10 Output configuration . . 276 8.3.11 Alternate function configuration . . 277 8.3.12 Analog configuration . . 278 8.3.13 Using the OSC32\_IN/OSC32\_OUT pins as GPIO PC14/PC15 port pins . . . . . 278 8.3.14 Using the OSC\_IN/OSC\_OUT pins as GPIO PH0/PH1 port pins . . . . 278 8.3.15 Selection of RTC\_AF1 and RTC\_AF2 alternate functions . . . . . . . . . . 279 ## 8.4 GPIO registers 281 8.4.1 GPIO port mode register (GPIOx\_MODER) (x = A..I/J/K) . . . . . . . . 281 8.4.2 GPIO port output type register (GPIOx\_OTYPER) (x = A..I/J/K) . . . . . 281 8.4.3 GPIO port output speed register (GPIOx\_OSPEEDR) (x = A..I/J/K) . . . 282 8.4.4 GPIO port pull-up/pull-down register (GPIOx\_PUPDR) (x = A..I/J/K) . . . 282 8.4.5 GPIO port input data register (GPIOx\_IDR) (x = A..I/J/K) . . . . . . 283 8.4.6 GPIO port output data register (GPIOx\_ODR) (x = A..I/J/K) . . . . . . . . 283 8.4.7 GPIO port bit set/reset register (GPIOx\_BSRR) (x = A..I/J/K) . . . . . . . 284 8.4.8 GPIO port configuration lock register (GPIOx\_LCKR) (x = A..I/J/K) . . . 284 8.4.9 GPIO alternate function low register (GPIOx\_AFRL) (x = A..I/J/K) . . . 285 8.4.10 GPIO alternate function high register (GPIOx\_AFRH) (x = A..I/J) . . . . . 286 8.4.11 GPIO register map . . . . . 287 ## 9 System configuration controller (SYSCFG) . . . . . 289 9.1 I/O compensation cell 289 9.2 SYSCFG registers for STM32F405xx/07xx and STM32F415xx/17xx . . 289 9.2.1 SYSCFG memory remap register (SYSCFG\_MEMRMP) . . . . . . . . 289 9.2.2 SYSCFG peripheral mode configuration register (SYSCFG\_PMC) . . 290 9.2.3 SYSCFG external interrupt configuration register 1 (SYSCFG\_EXTICR1) . 291 9.2.4 SYSCFG external interrupt configuration register 2 (SYSCFG\_EXTICR2) . . 291 9.2.5 SYSCFG external interrupt configuration register 3 (SYSCFG\_EXTICR3) . 292 9.2.6 SYSCFG external interrupt configuration register 4 (SYSCFG\_EXTICR4) . 293 9.2.7 Compensation cell control register (SYSCFG\_CMPCR) . . . . . . . 293 9.2.8 SYSCFG register maps for STM32F405xx/07xx and STM32F415xx/17xx . . . . 294 ## 9.3 SYSCFG registers for STM32F42xxx and STM32F43xxx . . . 294 9.3.1 SYSCFG memory remap register (SYSCFG\_MEMRMP) . . . . . . . . 294 9.3.2 SYSCFG peripheral mode configuration register (SYSCFG\_PMC) . . 296 9.3.3 SYSCFG external interrupt configuration register 1 (SYSCFG\_EXTICR1) . 297 9.3.4 SYSCFG external interrupt configuration register 2 (SYSCFG\_EXTICR2) . 298 9.3.5 SYSCFG external interrupt configuration register 3 (SYSCFG\_EXTICR3) . . 298 9.3.6 SYSCFG external interrupt configuration register 4 (SYSCFG\_EXTICR4) . 299 9.3.7 Compensation cell control register (SYSCFG\_CMPCR) . . . . . . . . 300 9.3.8 SYSCFG register maps for STM32F42xxx and STM32F43xxx . . . . . . 301 ## 10 DMA controller (DMA) . . . . 302 10.1 DMA introduction 302 10.2 DMA main features 302 10.3 DMA functional description 304 10.3.1 General description . . . . . 304 10.3.2 DMA transactions . . . . . 306 10.3.3 Channel selection . 307 10.3.4 Arbiter . 308 10.3.5 DMA streams . 309 10.3.6 Source, destination and transfer modes . 309 10.3.7 Pointer incrementation . . . . . 312 10.3.8 Circular mode . . 313 10.3.9 Double buffer mode . . . 313 10.3.10 Programmable data width, packing/unpacking, endianess . . . . . . . . 314 10.3.11 Single and burst transfers . 316 10.3.12 FIFO . . . . . 317 10.3.13 DMA transfer completion . 319 10.3.14 DMA transfer suspension . . . . 320 10.3.15 Flow controller . 321 10.3.16 Summary of the possible DMA configurations . . . . . . 322 10.3.17 Stream configuration procedure . . 322 10.3.18 Error management . . . 323 10.4 DMA interrupts 324 10.5 DMA registers 325 10.5.1 DMA low interrupt status register (DMA\_LISR) . . . . . . . 325 10.5.2 DMA high interrupt status register (DMA\_HISR) . . . . . . . . 326 10.5.3 DMA low interrupt flag clear register (DMA\_LIFCR) . . . . . . . . 327 10.5.4 DMA high interrupt flag clear register (DMA\_HIFCR) . 327 10.5.5 DMA stream x configuration register (DMA\_SxCR) (x = 0..7) . . . . . . . 328 10.5.6 DMA stream x number of data register (DMA\_SxNDTR) (x = 0..7) . . . 331 10.5.7 DMA stream x peripheral address register (DMA\_SxPAR) (x = 0..7) . 332 10.5.8 DMA stream x memory 0 address register (DMA\_SxM0AR) (x = 0..7) 332 10.5.9 DMA stream x memory 1 address register (DMA\_SxM1AR) (x = 0..7) 332 10.5.10 DMA stream x FIFO control register (DMA\_SxFCR) (x = 0..7) . . . . . . 333 10.5.11 DMA register map . . 335 ## 11 Chrom-Art Accelerator™ controller (DMA2D) . 339 11.1 DMA2D introduction 339 11.2 DMA2D main features 340 11.3 DMA2D functional description 340 11.3.1 General description . . . 340 11.3.2 DMA2D control . . 341 11.3.3 DMA2D foreground and background FIFOs . . 341 11.3.4 DMA2D foreground and background pixel format converter (PFC) . . . 342 11.3.5 DMA2D foreground and background CLUT interface . 344 11.3.6 DMA2D blender . . 345 11.3.7 DMA2D output PFC . 345 11.3.8 DMA2D output FIFO . . 346 11.3.9 DMA2D AHB master port timer . 346 11.3.10 DMA2D transactions . 347 11.3.11 DMA2D configuration . . . . 347 11.3.12 DMA2D transfer control (start, suspend, abort and completion) . . . . . 350 11.3.13 Watermark . . 351 11.3.14 Error management . . . 351 11.3.15 AHB dead time . . . . . 351 11.4 DMA2D interrupts 351 11.5 DMA2D registers 352 11.5.1 DMA2D control register (DMA2D\_CR) . . 352 11.5.2 DMA2D Interrupt Status Register (DMA2D\_ISR) . . 354 11.5.3 DMA2D interrupt flag clear register (DMA2D\_IFCR) . . . . . . 355 11.5.4 DMA2D foreground memory address register (DMA2D\_FGMAR) . . . 356 11.5.5 DMA2D foreground offset register (DMA2D\_FGOR) . . . . . . 356 11.5.6 DMA2D background memory address register (DMA2D\_BGMAR) . . 357 11.5.7 DMA2D background offset register (DMA2D\_BGOR) . . . . . . . 357 11.5.8 DMA2D foreground PFC control register (DMA2D\_FGPFCCR) . . . . . 358 11.5.9 DMA2D foreground color register (DMA2D\_FGCOLR) . . . . . . . . . 360 11.5.10 DMA2D background PFC control register (DMA2D\_BGPFCCR) . . . . 361 11.5.11 DMA2D background color register (DMA2D\_BGCOLR) . . . . . . . . 363 11.5.12 DMA2D foreground CLUT memory address register (DMA2D\_FGCMAR) . 363 11.5.13 DMA2D background CLUT memory address register (DMA2D\_BGCMAR) . . 364 11.5.14 DMA2D output PFC control register (DMA2D\_OPFCCR) . . . . . . . 364 11.5.15 DMA2D output color register (DMA2D\_OCOLR) . . . . . . 365 11.5.16 DMA2D output memory address register (DMA2D\_OMAR) . . . . . . . . 366 11.5.17 DMA2D output offset register (DMA2D\_OOR) . . . . . . . 367 11.5.18 DMA2D number of line register (DMA2D\_NLR) . . 367 11.5.19 DMA2D line watermark register (DMA2D\_LWR) . . . . . 368 11.5.20 DMA2D AHB master timer configuration register (DMA2D\_AMTCR) . 368 11.5.21 DMA2D register map . . . 369 ## 12 Interrupts and events . . . . 371 12.1 Nested vectored interrupt controller (NVIC) 371 12.1.1 NVIC features . 371 12.1.2 SysTick calibration value register . 371 12.1.3 Interrupt and exception vectors . . . . . 371 12.2 External interrupt/event controller (EXTI) . . . 371 12.2.1 EXTI main features . . 379 12.2.2 EXTI block diagram . . . . . . 380 12.2.3 Wakeup event management . . 380 12.2.4 Functional description . . 380 12.2.5 External interrupt/event line mapping . 382 12.3 EXTI registers . 384 12.3.1 Interrupt mask register (EXTI\_IMR) . . . . 384 12.3.2 Event mask register (EXTI\_EMR) . . 384 12.3.3 Rising trigger selection register (EXTI\_RTSR) . . 385 12.3.4 Falling trigger selection register (EXTI\_FTSR) . . 385 12.3.5 Software interrupt event register (EXTI\_SWIER) . . . 386 12.3.6 Pending register (EXTI\_PR) . . . 386 12.3.7 EXTI register map . . 387 ## 13 Analog-to-digital converter (ADC) . . . . . 388 13.1 ADC introduction 388 13.2 ADC main features 388 13.3 ADC functional description 389 13.3.1 ADC on-off control . . 390 13.3.2 ADC clock . . 390 13.3.3 Channel selection . 390 13.3.4 Single conversion mode . 391 13.3.5 Continuous conversion mode . 392 13.3.6 Timing diagram . 392 13.3.7 Analog watchdog . 392 13.3.8 Scan mode . . . 393 13.3.9 Injected channel management . . . . . 394 13.3.10 Discontinuous mode . 395 13.4 Data alignment 396 13.5 Channel-wise programmable sampling time 397 13.6 Conversion on external trigger and trigger polarity 397 13.7 Fast conversion mode 399 13.8 Data management 400 13.8.1 Using the DMA . . . . . . . 400 13.8.2 Managing a sequence of conversions without using the DMA . . . . . . 400 13.8.3 Conversions without DMA and without overrun detection . . . . . 401 13.9 Multi ADC mode 401 13.9.1 Injected simultaneous mode . . 404 13.9.2 Regular simultaneous mode . . 405 13.9.3 Interleaved mode . . 407 13.9.4 Alternate trigger mode . . . . 408 13.9.5 Combined regular/injected simultaneous mode . . . . . . 410 13.9.6 Combined regular simultaneous + alternate trigger mode . . . . . . . 411 13.10 Temperature sensor 412 13.11 Battery charge monitoring 414 13.12 ADC interrupts 414 13.13 ADC registers 415 13.13.1 ADC status register (ADC\_SR) . . 415 13.13.2 ADC control register 1 (ADC\_CR1) . . . . . . . 416 13.13.3 ADC control register 2 (ADC\_CR2) . . . . . . . 418 13.13.4 ADC sample time register 1 (ADC\_SMPR1) . . . . . . . 420 13.13.5 ADC sample time register 2 (ADC\_SMPR2) . . . . . . . 420 13.13.6 ADC injected channel data offset register x (ADC\_JOFRx) (x=1..4) . . 421 13.13.7 ADC watchdog higher threshold register (ADC\_HTR) . . . . . . . 421 13.13.8 ADC watchdog lower threshold register (ADC\_LTR) . . . . . . . . . . 422 13.13.9 ADC regular sequence register 1 (ADC\_SQR1) . . . . . . . . 422 13.13.10 ADC regular sequence register 2 (ADC\_SQR2) . . 423 13.13.11 ADC regular sequence register 3 (ADC\_SQR3) . 423 13.13.12 ADC injected sequence register (ADC\_JSQR) . . . . . . 424 13.13.13 ADC injected data register x (ADC\_JDRx) (x= 1..4) . 425 13.13.14 ADC regular data register (ADC\_DR) . . . . . . . 425 13.13.15 ADC Common status register (ADC\_CSR) . . . . 426 13.13.16 ADC common control register (ADC\_CCR) . . . . . 427 13.13.17 ADC common regular data register for dual and triple modes (ADC\_CDR) . . . 430 13.13.18 ADC register map . . . 430 ## 14 Digital-to-analog converter (DAC) . . . . . 433 14.1 DAC introduction 433 14.2 DAC main features 433 14.3 DAC functional description 435 14.3.1 DAC channel enable . . 435 14.3.2 DAC output buffer enable . . . 435 14.3.3 DAC data format . 435 14.3.4 DAC conversion . . 436 14.3.5 DAC output voltage . 437 14.3.6 DAC trigger selection . . . . 437 14.3.7 DMA request . 438 14.3.8 Noise generation . 438 14.3.9 Triangle-wave generation . 439 ## 14.4 Dual DAC channel conversion 440 14.4.1 Independent trigger without wave generation . 441 14.4.2 Independent trigger with single LFSR generation . . 441 14.4.3 Independent trigger with different LFSR generation . 441 14.4.4 Independent trigger with single triangle generation . 442 14.4.5 Independent trigger with different triangle generation . 442 14.4.6 Simultaneous software start . 442 14.4.7 Simultaneous trigger without wave generation . 443 14.4.8 Simultaneous trigger with single LFSR generation . 443 14.4.9 Simultaneous trigger with different LFSR generation . 443 14.4.10 Simultaneous trigger with single triangle generation . . . . 444 14.4.11 Simultaneous trigger with different triangle generation . 444 ## 14.5 DAC registers 445 14.5.1 DAC control register (DAC\_CR) . . 445 14.5.2 DAC software trigger register (DAC\_SWTRIGR) . . . . . . . 448 14.5.3 DAC channel1 12-bit right-aligned data holding register (DAC\_DHR12R1) 448 14.5.4 DAC channel1 12-bit left aligned data holding register (DAC\_DHR12L1) . . . . 449 14.5.5 DAC channel1 8-bit right aligned data holding register (DAC\_DHR8R1) . 449 14.5.6 DAC channel2 12-bit right aligned data holding register (DAC\_DHR12R2) . 450 14.5.7 DAC channel2 12-bit left aligned data holding register (DAC\_DHR12L2) . . . 450 14.5.8 DAC channel2 8-bit right-aligned data holding register (DAC\_DHR8R2) . . 450 14.5.9 Dual DAC 12-bit right-aligned data holding register (DAC\_DHR12RD) . 451 14.5.10 DUAL DAC 12-bit left aligned data holding register (DAC\_DHR12LD) . 451 14.5.11 DUAL DAC 8-bit right aligned data holding register (DAC\_DHR8RD) . 452 14.5.12 DAC channel1 data output register (DAC\_DOR1) . . . . . . . . 452 14.5.13 DAC channel2 data output register (DAC\_DOR2) . . . . . . . . 452 14.5.14 DAC status register (DAC\_SR) . . 453 14.5.15 DAC register map . . 453 ## 15 Digital camera interface (DCMI) 455 15.1 DCMI introduction . 455 15.2 DCMI main features 455 15.3 DCMI pins . 455 15.4 DCMI clocks 455 15.5 DCMI functional overview . 456 15.5.1 DMA interface . . 457 15.5.2 DCMI physical interface . . . . . 457 15.5.3 Synchronization . . 459 15.5.4 Capture modes . . 462 15.5.5 Crop feature . . . . . 463 15.5.6 JPEG format . . 465 15.5.7 FIFO . . . 465 15.6 Data format description 465 15.6.1 Data formats . . 465 15.6.2 Monochrome format . . . . . 466 15.6.3 RGB format . . 466 15.6.4 YCbCr format . . . . 466 15.7 DCMI interrupts 467 15.8 DCMI register description 467 15.8.1 DCMI control register 1 (DCMI\_CR) . . . 467 15.8.2 DCMI status register (DCMI\_SR) . . 470 15.8.3 DCMI raw interrupt status register (DCMI\_RIS) . 471 15.8.4 DCMI interrupt enable register (DCMI\_IER) . 472 15.8.5 DCMI masked interrupt status register (DCMI\_MIS) . . . . . . 473 15.8.6 DCMI interrupt clear register (DCMI\_ICR) . . . . . 474 15.8.7 DCMI embedded synchronization code register (DCMI\_ESCR) . . . . . 475 15.8.8 DCMI embedded synchronization unmask register (DCMI\_ESUR) . . 476 15.8.9 DCMI crop window start (DCMI\_CWSTRT) . . . . . 477 15.8.10 DCMI crop window size (DCMI\_CWSIZE) . . . . . . 477 15.8.11 DCMI data register (DCMI\_DR) . . . . . . 478 15.8.12 DCMI register map . . . . . 478 ## 16 LCD-TFT controller (LTDC) . . . . . 480 16.1 Introduction 480 16.2 LTDC main features 480 16.3 LTDC functional description 481 16.3.1 LTDC block diagram . . 481 16.3.2 LTDC reset and clocks . . . . 481 16.3.3 LCD-TFT pins and signal interface . 483 16.4 LTDC programmable parameters . 483 16.4.1 LTDC Global configuration parameters . 483 16.4.2 Layer programmable parameters . . 486 16.5 LTDC interrupts 490 16.6 LTDC programming procedure . 492 16.7 LTDC registers 493 16.7.1 LTDC Synchronization Size Configuration Register (LTDC\_SSCR) . . 493 16.7.2 LTDC Back Porch Configuration Register (LTDC\_BPCR) . . . . . . . . . . 493 16.7.3 LTDC Active Width Configuration Register (LTDC\_AWCR) . . . . . . . . . 494 16.7.4 LTDC Total Width Configuration Register (LTDC\_TWCR) . . . . . . . . . . 495 16.7.5 LTDC Global Control Register (LTDC\_GCR) . . . . . . 495 16.7.6 LTDC Shadow Reload Configuration Register (LTDC\_SRCR) . . . . . . 497 16.7.7 LTDC Background Color Configuration Register (LTDC\_BCCR) . . . . 497 16.7.8 LTDC Interrupt Enable Register (LTDC\_IER) . . . . . . . 498 16.7.9 LTDC Interrupt Status Register (LTDC\_ISR) . . . . . . . 499 16.7.10 LTDC Interrupt Clear Register (LTDC\_ICR) . . . . . . . . 499 16.7.11 LTDC Line Interrupt Position Configuration Register (LTDC\_LIPCR) . 500 16.7.12 LTDC Current Position Status Register (LTDC\_CPSR) . . . . . . . . . . . 500 16.7.13 LTDC Current Display Status Register (LTDC\_CDSR) . . . . . . . . . . 501 16.7.14 LTDC Layerx Control Register (LTDC\_LxCR) (where x=1..2) . . . . . . . 502 16.7.15 LTDC Layerx Window Horizontal Position Configuration Register (LTDC\_LxWHPCR) (where x=1..2) . . 503 16.7.16 LTDC Layerx Window Vertical Position Configuration Register (LTDC\_LxWVPCR) (where x=1..2) . . . 504 16.7.17 LTDC Layerx Color Keying Configuration Register (LTDC\_LxCKCR) (where x=1..2) . . . . . 505 16.7.18 LTDC Layerx Pixel Format Configuration Register (LTDC\_LxPFCR) (where x=1..2) . . 505 16.7.19 LTDC Layerx Constant Alpha Configuration Register (LTDC\_LxCACR) (where x=1..2) . . . . 506 16.7.20 LTDC Layerx Default Color Configuration Register (LTDC\_LxDCCR) (where x=1..2) . . . 506 16.7.21 LTDC Layerx Blending Factors Configuration Register (LTDC\_LxBFCR) (where x=1..2) . . . . 508 16.7.22 LTDC Layerx Color Frame Buffer Address Register (LTDC\_LxCFBAR) (where x=1..2) . 509 16.7.23 LTDC Layerx Color Frame Buffer Length Register (LTDC\_LxCFBLR) (where x=1..2) . . . . 509 16.7.24 LTDC Layerx ColorFrame Buffer Line Number Register (LTDC\_LxCFBLNR) (where x=1..2) . . . 510 16.7.25 LTDC Layerx CLUT Write Register (LTDC\_LxCLUTWR) (where x=1..2) . . 511 16.7.26 LTDC register map . . . . . . 512 ## 17 Advanced-control timers (TIM1 and TIM8) . . 515 17.1 TIM1 and TIM8 introduction 515 17.2 TIM1 and TIM8 main features 516 17.3 TIM1 and TIM8 functional description 518 17.3.1 Time-base unit . . . 518 17.3.2 Counter modes . 520 17.3.3 Repetition counter . 529 17.3.4 Clock selection . . . . . 532 17.3.5 Capture/compare channels . 535 17.3.6 Input capture mode . 538 17.3.7 PWM input mode . . . . . 539 17.3.8 Forced output mode . . . . . . 539 17.3.9 Output compare mode . . . . 540 17.3.10 PWM mode . 541 17.3.11 Complementary outputs and dead-time insertion . 544 17.3.12 Using the break function . . 546 17.3.13 Clearing the OCxREF signal on an external event . . . 549 17.3.14 6-step PWM generation . . . . 550 17.3.15 One-pulse mode . . 551 17.3.16 Encoder interface mode . . . 552 17.3.17 Timer input XOR function . . . . 555 17.3.18 Interfacing with Hall sensors . . 555 17.3.19 TIMx and external trigger synchronization . . . . . 557 17.3.20 Timer synchronization . . 560 17.3.21 Debug mode . . 560 17.4.1 TIM1 and TIM8 control register 1 (TIMx\_CR1) . . 561 17.4.2 TIM1 and TIM8 control register 2 (TIMx\_CR2) . . 562 17.4.3 TIM1 and TIM8 slave mode control register (TIMx\_SMCR) . . . . . . . . 565 17.4.4 TIM1 and TIM8 DMA/interrupt enable register (TIMx\_DIER) . . . . . . . . 567 ## 17.4 TIM1 and TIM8 registers 561 17.4.5 TIM1 and TIM8 status register (TIMx\_SR) . . . . . . 569 17.4.6 TIM1 and TIM8 event generation register (TIMx\_EGR) . . . . . . . . 570 17.4.7 TIM1 and TIM8 capture/compare mode register 1 (TIMx\_CCMR1) . . 572 17.4.8 TIM1 and TIM8 capture/compare mode register 2 (TIMx\_CCMR2) . . 575 17.4.9 TIM1 and TIM8 capture/compare enable register (TIMx\_CCER) . . . . 576 17.4.10 TIM1 and TIM8 counter (TIMx\_CNT) . . . . . 580 17.4.11 TIM1 and TIM8 prescaler (TIMx\_PSC) . . . . . 580 17.4.12 TIM1 and TIM8 auto-reload register (TIMx\_ARR) . . . . . . . 580 17.4.13 TIM1 and TIM8 repetition counter register (TIMx\_RCR) . . . . . . . . 581 17.4.14 TIM1 and TIM8 capture/compare register 1 (TIMx\_CCR1) . . . . . . . . . 581 17.4.15 TIM1 and TIM8 capture/compare register 2 (TIMx\_CCR2) . . . . . . . . . 582 17.4.16 TIM1 and TIM8 capture/compare register 3 (TIMx\_CCR3) . . . . . . . . . 582 17.4.17 TIM1 and TIM8 capture/compare register 4 (TIMx\_CCR4) . . . . . . . . . 583 17.4.18 TIM1 and TIM8 break and dead-time register (TIMx\_BDTR) . . . . . . . 583 17.4.19 TIM1 and TIM8 DMA control register (TIMx\_DCR) . . . . . . . . 585 17.4.20 TIM1 and TIM8 DMA address for full transfer (TIMx\_DMAR) . . . . . . . 586 17.4.21 TIM1 and TIM8 register map . 587 ## 18 General-purpose timers (TIM2 to TIM5) . . 589 18.1 TIM2 to TIM5 introduction 589 18.2 TIM2 to TIM5 main features 589 18.3 TIM2 to TIM5 functional description 591 18.3.1 Time-base unit . . . 591 18.3.2 Counter modes . . 592 18.3.3 Clock selection . . . . . 602 18.3.4 Capture/compare channels . . 605 18.3.5 Input capture mode . . . 607 18.3.6 PWM input mode . . . . . . 608 18.3.7 Forced output mode . . . . . 609 18.3.8 Output compare mode . . . . . . 609 18.3.9 PWM mode . . 610 18.3.10 One-pulse mode . . . 613 18.3.11 Clearing the OCxREF signal on an external event . . 614 18.3.12 Encoder interface mode . . . . 615 18.3.13 Timer input XOR function . . . . 618 18.3.14 Timers and external trigger synchronization . . 618 18.3.15 Timer synchronization . . 621 18.3.16 Debug mode . . 626 18.4 TIM2 to TIM5 registers 627 18.4.1 TIMx control register 1 (TIMx\_CR1) . . . 627 18.4.2 TIMx control register 2 (TIMx\_CR2) . . 629 18.4.3 TIMx slave mode control register (TIMx\_SMCR) . . . . . . 630 18.4.4 TIMx DMA/Interrupt enable register (TIMx\_DIER) . . . . . . . . 632 18.4.5 TIMx status register (TIMx\_SR) . . . . . . 633 18.4.6 TIMx event generation register (TIMx\_EGR) . . . . . . . 635 18.4.7 TIMx capture/compare mode register 1 (TIMx\_CCMR1) . . . . . . . 636 18.4.8 TIMx capture/compare mode register 2 (TIMx\_CCMR2) . . . . . . . 639 18.4.9 TIMx capture/compare enable register (TIMx\_CCER) . . 640 18.4.10 TIMx counter (TIMx\_CNT) . . . . . . 642 18.4.11 TIMx prescaler (TIMx\_PSC) . . . 642 18.4.12 TIMx auto-reload register (TIMx\_ARR) . . . . 642 18.4.13 TIMx capture/compare register 1 (TIMx\_CCR1) . 643 18.4.14 TIMx capture/compare register 2 (TIMx\_CCR2) . 643 18.4.15 TIMx capture/compare register 3 (TIMx\_CCR3) . 644 18.4.16 TIMx capture/compare register 4 (TIMx\_CCR4) . . 644 18.4.17 TIMx DMA control register (TIMx\_DCR) . . 645 18.4.18 TIMx DMA address for full transfer (TIMx\_DMAR) . . 646 18.4.19 TIM2 option register (TIM2\_OR) . . 647 18.4.20 TIM5 option register (TIM5\_OR) . . . . . 647 18.4.21 TIMx register map . . . 648 ## 19 General-purpose timers (TIM9 to TIM14) . . . . . . 650 19.1 TIM9 to TIM14 introduction 650 19.2 TIM9 to TIM14 main features 650 19.2.1 TIM9/TIM12 main features . . . . . . 650 19.2.2 TIM10/TIM11 and TIM13/TIM14 main features . . 651 19.3 TIM9 to TIM14 functional description 653 19.3.1 Time-base unit . . 653 19.3.2 Counter modes . . 655 19.3.3 Clock selection . . . . 658 19.3.4 Capture/compare channels . 660 19.3.5 Input capture mode . . 661 19.3.6 PWM input mode (only for TIM9/12) . . 663 19.3.7 Forced output mode . . . . . 664 19.3.8 Output compare mode . . . . . 664 19.3.9 PWM mode . . 665 19.3.10 One-pulse mode . . 666 19.3.11 TIM9/12 external trigger synchronization . . . . . . . 668 19.3.12 Timer synchronization (TIM9/12) . . . . . . . 671 19.3.13 Debug mode . . 671 ## 19.4 TIM9 and TIM12 registers 672 19.4.1 TIM9/12 control register 1 (TIMx\_CR1) . . . . . . . 672 19.4.2 TIM9/12 slave mode control register (TIMx\_SMCR) . . . . . . . . . 673 19.4.3 TIM9/12 Interrupt enable register (TIMx\_DIER) . . 674 19.4.4 TIM9/12 status register (TIMx\_SR) . 676 19.4.5 TIM9/12 event generation register (TIMx\_EGR) . . . . . . . 677 19.4.6 TIM9/12 capture/compare mode register 1 (TIMx\_CCMR1) . . . . . . . . 678 19.4.7 TIM9/12 capture/compare enable register (TIMx\_CCER) . . . . . . . 681 19.4.8 TIM9/12 counter (TIMx\_CNT) . . 682 19.4.9 TIM9/12 prescaler (TIMx\_PSC) . . . . . . 682 19.4.10 TIM9/12 auto-reload register (TIMx\_ARR) . . 682 19.4.11 TIM9/12 capture/compare register 1 (TIMx\_CCR1) . . 683 19.4.12 TIM9/12 capture/compare register 2 (TIMx\_CCR2) . . 683 19.4.13 TIM9/12 register map . . . . . 684 ## 19.5 TIM10/11/13/14 registers 686 19.5.1 TIM10/11/13/14 control register 1 (TIMx\_CR1) . . . . . . . . 686 19.5.2 TIM10/11/13/14 Interrupt enable register (TIMx\_DIER) . . . . . . . 687 19.5.3 TIM10/11/13/14 status register (TIMx\_SR) . . 687 19.5.4 TIM10/11/13/14 event generation register (TIMx\_EGR) . . . . . . . . . 688 19.5.5 TIM10/11/13/14 capture/compare mode register 1 (TIMx\_CCMR1) . . 688 19.5.6 TIM10/11/13/14 capture/compare enable register (TIMx\_CCER) . . . . 691 19.5.7 TIM10/11/13/14 counter (TIMx\_CNT) . . 692 19.5.8 TIM10/11/13/14 prescaler (TIMx\_PSC) . . . . . . 692 19.5.9 TIM10/11/13/14 auto-reload register (TIMx\_ARR) . . . . . . . . 692 19.5.10 TIM10/11/13/14 capture/compare register 1 (TIMx\_CCR1) . . . . . . . . . 693 19.5.11 TIM11 option register 1 (TIM11\_OR) . . 693 19.5.12 TIM10/11/13/14 register map . . . . 694 ## 20 Basic timers (TIM6 and TIM7) . . . . . . 696 20.1 TIM6 and TIM7 introduction 696 20.2 TIM6 and TIM7 main features 696 20.3 TIM6 and TIM7 functional description 697 20.3.1 Time-base unit . . 697 20.3.2 Counting mode . . . 699 20.3.3 Clock source . 701 20.3.4 Debug mode . 702 20.4 TIM6 and TIM7 registers 702 20.4.1 TIM6 and TIM7 control register 1 (TIMx\_CR1) . . 702 20.4.2 TIM6 and TIM7 control register 2 (TIMx\_CR2) . . 704 20.4.3 TIM6 and TIM7 DMA/Interrupt enable register (TIMx\_DIER) . . . . . . . 704 20.4.4 TIM6 and TIM7 status register (TIMx\_SR) . . . . . . 705 20.4.5 TIM6 and TIM7 event generation register (TIMx\_EGR) . . . . . . . . . 705 20.4.6 TIM6 and TIM7 counter (TIMx\_CNT) . . . . . . 705 20.4.7 TIM6 and TIM7 prescaler (TIMx\_PSC) . . 706 20.4.8 TIM6 and TIM7 auto-reload register (TIMx\_ARR) . . 706 20.4.9 TIM6 and TIM7 register map . . 707 21 Independent watchdog (IWDG) . . 708 21.1 IWDG introduction 708 21.2 IWDG main features . 708 21.3 IWDG functional description . . 708 21.3.1 Hardware watchdog . 708 21.3.2 Register access protection . 708 21.3.3 Debug mode . . 709 21.4 IWDG registers 710 21.4.1 Key register (IWDG\_KR) . . 710 21.4.2 Prescaler register (IWDG\_PR) . . 710 21.4.3 Reload register (IWDG\_RLR) . 711 21.4.4 Status register (IWDG\_SR) . . . . 711 21.4.5 IWDG register map . 712 22 Window watchdog (WWDG) 713 22.1 WWDG introduction 713 22.2 WWDG main features 713 22.3 WWDG functional description 713 22.4 How to program the watchdog timeout . . 715 22.5 Debug mode . . 716 22.6 WWDG registers 717 22.6.1 Control register (WWDG\_CR) . 717 22.6.2 Configuration register (WWDG\_CFR) . . . . . . 718 22.6.3 Status register (WWDG\_SR) . . . . 718 22.6.4 WWDG register map . 719 ## 23 Cryptographic processor (CRYP) 720 23.1 CRYP introduction 720 23.2 CRYP main features . 720 23.3 CRYP functional description . . 722 23.3.1 DES/TDES cryptographic core . . 723 23.3.2 AES cryptographic core . . 728 23.3.3 Data type . 739 23.3.4 Initialization vectors - CRYP\_IV0...1(L/R) . . . . . . 742 23.3.5 CRYP busy state . . . . . 743 23.3.6 Procedure to perform an encryption or a decryption . . . . . . . 744 23.3.7 Context swapping . 745 23.4 CRYP interrupts 747 23.5 CRYP DMA interface 748 23.6 CRYP registers . 748 23.6.1 CRYP control register (CRYP\_CR) for STM32F415/417xx . . . . . . . . . 748 23.6.2 CRYP control register (CRYP\_CR) for STM32F415/417xx . . . . . . . . . 750 23.6.3 CRYP status register (CRYP\_SR) . . . . . . . 753 23.6.4 CRYP data input register (CRYP\_DIN) . . . . . . . 754 23.6.5 CRYP data output register (CRYP\_DOUT) . . . . . . . . 755 23.6.6 CRYP DMA control register (CRYP\_DMACR) . . . . . . . . 756 23.6.7 CRYP interrupt mask set/clear register (CRYP\_IMSCR) . . . . . . . . 756 23.6.8 CRYP raw interrupt status register (CRYP\_RISR) . . 757 23.6.9 CRYP masked interrupt status register (CRYP\_MISR) . . . . . . . . . . . 757 23.6.10 CRYP key registers (CRYP\_K0...3(L/R)R) . . . . . . . 758 23.6.11 CRYP initialization vector registers (CRYP\_IV0...1(L/R)R) . . . . . . . . . 760 23.6.12 CRYP context swap registers (CRYP\_CSGCMCCM0..7R and CRYP\_CSGCM0..7R) for STM32F42xxx and STM32F43xxx . . . . . . . 762 23.6.13 CRYP register map . . 763 ## 24 Random number generator (RNG) . . . . . . . . 767 24.1 RNG introduction 767 24.2 RNG main features . 767 24.3 RNG functional description . . 767 24.3.1 Operation . . . . . 768 24.3.2 Error management . . 768 24.4 RNG registers . 768 24.4.1 RNG control register (RNG\_CR) . 769 24.4.2 RNG status register (RNG\_SR) . . . . 769 24.4.3 RNG data register (RNG\_DR) . . . . . . 770 24.4.4 RNG register map . . 771 ## 25 Hash processor (HASH) 772 25.1 HASH introduction 772 25.2 HASH main features . . 772 25.3 HASH functional description . 773 25.3.1 Duration of the processing . 775 25.3.2 Data type . . 775 25.3.3 Message digest computing . 777 25.3.4 Message padding . 778 25.3.5 Hash operation . 779 25.3.6 HMAC operation . 779 25.3.7 Context swapping . . 780 25.3.8 HASH interrupt . . . . 782 25.4 HASH registers . 782 25.4.1 HASH control register (HASH\_CR) for STM32F415/417xx . . . . . . . . . 782 25.4.2 HASH control register (HASH\_CR) for STM32F43xxx . . . 785 25.4.3 HASH data input register (HASH\_DIN) . . . 788 25.4.4 HASH start register (HASH\_STR) . . . . . 789 25.4.5 HASH digest registers (HASH\_HR0..4/5/6/7) . 790 25.4.6 HASH interrupt enable register (HASH\_IMR) . . . . . . 792 25.4.7 HASH status register (HASH\_SR) . . . . . . 793 25.4.8 HASH context swap registers (HASH\_CSRx) . 794 25.4.9 HASH register map . . 795 ## 26 Real-time clock (RTC) 798 26.1 Introduction 798 26.2 RTC main features 799 ## 26.3 RTC functional description 801 26.3.1 Clock and prescalers . . . 801 26.3.2 Real-time clock and calendar . . 802 26.3.3 Programmable alarms . . 802 26.3.4 Periodic auto-wakeup . . 802 26.3.5 RTC initialization and configuration . 803 26.3.6 Reading the calendar . . . . . 805 26.3.7 Resetting the RTC . . 806 26.3.8 RTC synchronization . . 806 26.3.9 RTC reference clock detection . . 807 26.3.10 RTC coarse digital calibration . 808 26.3.11 RTC smooth digital calibration . 809 26.3.12 Timestamp function . 811 26.3.13 Tamper detection . 811 26.3.14 Calibration clock output . . 813 26.3.15 Alarm output . . 813 ## 26.4 RTC and low-power modes 814 ## 26.5 RTC interrupts 814 ## 26.6 RTC registers 816 26.6.1 RTC time register (RTC\_TR) . . . . . . 816 26.6.2 RTC date register (RTC\_DR) . . . . . . 817 26.6.3 RTC control register (RTC\_CR) . . . . . . 818 26.6.4 RTC initialization and status register (RTC\_ISR) . . . . . . . 820 26.6.5 RTC prescaler register (RTC\_PRER) . . 823 26.6.6 RTC wakeup timer register (RTC\_WUTR) . . . . . . 823 26.6.7 RTC calibration register (RTC\_CALIBR) . . . . . . 824 26.6.8 RTC alarm A register (RTC\_ALRMAR) . . 825 26.6.9 RTC alarm B register (RTC\_ALRMBR) . . 826 26.6.10 RTC write protection register (RTC\_WPR) . . 827 26.6.11 RTC sub second register (RTC\_SSR) . . . . . . 827 26.6.12 RTC shift control register (RTC\_SHIFTR) . . . . . 828 26.6.13 RTC time stamp time register (RTC\_TSTR) . . . . . . . 828 26.6.14 RTC time stamp date register (RTC\_TSDR) . . 829 26.6.15 RTC timestamp sub second register (RTC\_TSSSR) . . . . . 830 26.6.16 RTC calibration register (RTC\_CALR) . . . . . . 830 26.6.17 RTC tamper and alternate function configuration register (RTC\_TAFCR) . . 832 26.6.18 RTC alarm A sub second register (RTC\_ALRMASSR) . . . . . . 834 26.6.19 RTC alarm B sub second register (RTC\_ALRMBSSR) . . . . . . 835 26.6.20 RTC backup registers (RTC\_BKPxR) . . 836 26.6.21 RTC register map . . . 836 ## 27 Inter-integrated circuit (I2C) interface . . . . . 839 27.1 I2C introduction . 839 27.2 I2C main features 839 27.3 I2C functional description 840 27.3.1 Mode selection . . . . . 840 27.3.2 I2C slave mode . 843 27.3.3 I2C master mode . . 846 27.3.4 Error conditions . . 851 27.3.5 Programmable noise filter . . 852 27.3.6 SDA/SCL line control . . 853 27.3.7 SMBus . . . . 853 27.3.8 DMA requests . . 856 27.3.9 Packet error checking . . 857 27.4 I2C interrupts 858 27.5 I2C debug mode 860 27.6 I2C registers 860 27.6.1 I2C Control register 1 (I2C\_CR1) . . . 860 27.6.2 I2C Control register 2 (I2C\_CR2) . . . . . . 862 27.6.3 I2C Own address register 1 (I2C\_OAR1) . . . . . 864 27.6.4 I2C Own address register 2 (I2C\_OAR2) . . . . . . 864 27.6.5 I2C Data register (I2C\_DR) . . 865 27.6.6 I2C Status register 1 (I2C\_SR1) . . 865 27.6.7 I2C Status register 2 (I2C\_SR2) . . 868 27.6.8 I2C Clock control register (I2C\_CCR) . . 870 27.6.9 I2C TRISE register (I2C\_TRISE) . . . . . 871 27.6.10 I2C FLTR register (I2C\_FLTR) . . . 871 27.6.11 I2C register map . . 872 ## 28 Serial peripheral interface (SPI) . . . . . 873 28.1 SPI introduction 873 28.2 SPI and I2S main features 874 28.2.1 SPI features . . . 874 28.2.2 I2S features . . 875 ## 28.3 SPI functional description 876 28.3.1 General description . . . . . 876 28.3.2 Configuring the SPI in slave mode . . 880 28.3.3 Configuring the SPI in master mode . . 882 28.3.4 Configuring the SPI for half-duplex communication . . . . . . . 884 28.3.5 Data transmission and reception procedures . . 885 28.3.6 CRC calculation . . 891 28.3.7 Status flags . . 893 28.3.8 Disabling the SPI . . 894 28.3.9 SPI communication using DMA (direct memory addressing) . . . . . . . . 895 28.3.10 Error flags . . . 897 28.3.11 SPI interrupts . . 898 ## 28.4 I2S functional description 899 28.4.1 I2S general description . . . 899 28.4.2 I2S full duplex . . 900 28.4.3 Supported audio protocols . . . . . 901 28.4.4 Clock generator . . 907 28.4.5 I2S master mode . . 909 28.4.6 I2S slave mode . 911 28.4.7 Status flags . . 913 28.4.8 Error flags . . 914 28.4.9 I2S interrupts . . . 915 28.4.10 DMA features . . . . . 915 ## 28.5 SPI and I2S registers 916 28.5.1 SPI control register 1 (SPI\_CR1) (not used in I2S mode) . . . . . . . . . 916 28.5.2 SPI control register 2 (SPI\_CR2) . . . . . . 918 28.5.3 SPI status register (SPI\_SR) . . . . . . 919 28.5.4 SPI data register (SPI\_DR) . . . . . 920 28.5.5 SPI CRC polynomial register (SPI\_CRCPR) (not used in I2S mode) . . . . . . 921 28.5.6 SPI RX CRC register (SPI\_RXCRCR) (not used in I2S mode) . . . . . . 921 28.5.7 SPI TX CRC register (SPI\_TXCRCR) (not used in I2S mode) . . . . . . . 922 28.5.8 SPI\_I2S configuration register (SPI\_I2SCFGR) . . . . . . 922 28.5.9 SPI\_I2S prescaler register (SPI\_I2SPR) . . 923 28.5.10 SPI register map . . 925 ## 29 Serial audio interface (SAI) . . . . 926 29.1 Introduction 926 29.2 Main features 927 29.3 Functional block diagram 928 29.4 Main SAI modes 929 29.5 SAI synchronization mode 930 29.6 Audio data size 930 29.7 Frame synchronization . 930 29.7.1 Frame length . . . 931 29.7.2 Frame synchronization polarity . . 931 29.7.3 Frame synchronization active level length . . . . 932 29.7.4 Frame synchronization offset . . . . 932 29.7.5 FS signal role . . . . 932 29.8 Slot configuration 933 29.9 SAI clock generator 935 29.10 Internal FIFOs 936 29.11 AC’97 link controller 939 29.12 Specific features . 940 29.12.1 Mute mode . 940 29.12.2 MONO/STEREO function . . . 940 29.12.3 Companding mode . 941 29.12.4 Output data line management on an inactive slot . 942 29.13 Error flags . 944 29.13.1 FIFO overrun/underrun (OVRUDR) . . . . . 944 29.13.2 Anticipated frame synchronisation detection (AFSDET) . . . . . . . . 946 29.13.3 Late frame synchronization detection . 946 29.13.4 Codec not ready (CNRDY AC’97) . . . . . 947 29.13.5 Wrong clock configuration in master mode (with NODIV = 0) . . . . . . . 947 29.14 Interrupt sources 948 29.15 Disabling the SAI 948 29.16 SAI DMA interface 949 29.17 SAI registers . 950 29.17.1 SAI xConfiguration register 1 (SAI\_xCR1) where x is A or B . . . . . . . . 950 29.17.2 SAI xConfiguration register 2 (SAI\_xCR2) where x is A or B . . . . . . . . 953 29.17.3 SAI xFrame configuration register (SAI\_XFRCR) where x is A or B . . 955 29.17.4 SAI xSlot register (SAI\_xSLOTR) where x is A or B . 957 29.17.5 SAI xInterrupt mask register (SAI\_xIM) where x is A or B . . 958 29.17.6 SAI xStatus register (SAI\_xSR) where x is A or B . . . . 960 29.17.7 SAI xClear flag register (SAI\_xCLRFR) where X is A or B . . . 962 29.17.8 SAI xData register (SAI\_xDR) where x is A or B . . . . . 963 29.17.9 SAI register map . . 963 ## 30 Universal synchronous asynchronous receiver transmitter (USART) . 965 30.1 USART introduction 965 30.2 USART main features 965 30.3 USART functional description 966 30.3.1 USART character description . . 969 30.3.2 Transmitter . . . . . 970 30.3.3 Receiver . . . 973 30.3.4 Fractional baud rate generation . . 978 30.3.5 USART receiver tolerance to clock deviation . . . . . . 988 30.3.6 Multiprocessor communication . . 989 30.3.7 Parity control . . . 991 30.3.8 LIN (local interconnection network) mode . . . . 992 30.3.9 USART synchronous mode . . . . 994 30.3.10 Single-wire half-duplex communication . 996 30.3.11 Smartcard . . 997 30.3.12 IrDA SIR ENDEC block . . . 999 30.3.13 Continuous communication using DMA . . . . . 1001 30.3.14 Hardware flow control . 1003 30.4 USART interrupts 1006 30.5 USART mode configuration 1007 30.6 USART registers 1007 30.6.1 Status register (USART\_SR) . . . . . 1007 30.6.2 Data register (USART\_DR) . . . . . 1010 30.6.3 Baud rate register (USART\_BRR) . . . . . . 1010 30.6.4 Control register 1 (USART\_CR1) . . . . . . . . 1010 30.6.5 Control register 2 (USART\_CR2) . . . . . . . . 1013 30.6.6 Control register 3 (USART\_CR3) . . . . . . . . 1014 30.6.7 Guard time and prescaler register (USART\_GTPR) . . 1017 30.6.8 USART register map . 1018 ## 31 Secure digital input/output interface (SDIO) . . . . . . 1019 31.1 SDIO main features 1019 31.2 SDIO bus topology 1020 31.3 SDIO functional description 1022 31.3.1 SDIO adapter . . 1023 31.3.2 SDIO APB2 interface . . 1033 31.4 Card functional description . 1034 31.4.1 Card identification mode . 1034 31.4.2 Card reset . 1034 31.4.3 Operating voltage range validation . . 1034 31.4.4 Card identification process . . 1035 31.4.5 Block write . 1036 31.4.6 Block read . 1037 31.4.7 Stream access, stream write and stream read (MultiMediaCard only) . . . 1037 31.4.8 Erase: group erase and sector erase . 1039 31.4.9 Wide bus selection or deselection . . 1039 31.4.10 Protection management . . . 1039 31.4.11 Card status register . 1042 31.4.12 SD status register . . 1045 31.4.13 SD I/O mode . 1049 31.4.14 Commands and responses . 1050 31.5 Response formats 1054 31.5.1 R1 (normal response command) . . 1054 31.5.2 R1b . 1054 31.5.3 R2 (CID, CSD register) . . 1054 31.5.4 R3 (OCR register) . . 1055 31.5.5 R4 (Fast I/O) . . 1055 31.5.6 R4b . 1056 31.5.7 R5 (interrupt request) . . . 1056 31.5.8 R6 . 1057 31.6 SDIO I/O card-specific operations 1057 31.6.1 SDIO I/O read wait operation by SDIO\_D2 signaling . . 1058 31.6.2 SDIO read wait operation by stopping SDIO\_CK . . 1058 31.6.3 SDIO suspend/resume operation . 1058 31.6.4 SDIO interrupts . . 1058 31.7 CE-ATA specific operations 1059 31.7.1 Command completion signal disable . . . . 1059 31.7.2 Command completion signal enable . . 1059 31.7.3 CE-ATA interrupt . . 1059 31.7.4 Aborting CMD61 . . 1059 31.8 HW flow control 1060 31.9 SDIO registers 1060 31.9.1 SDIO power control register (SDIO\_POWER) . . . . . . . 1060 31.9.2 SDI clock control register (SDIO\_CLKCR) . . 1061 31.9.3 SDIO argument register (SDIO\_ARG) . . . . . . . 1062 31.9.4 SDIO command register (SDIO\_CMD) . . . . . . 1062 31.9.5 SDIO command response register (SDIO\_RESPCMD) . . 1063 31.9.6 SDIO response 1..4 register (SDIO\_RESPx) . . 1064 31.9.7 SDIO data timer register (SDIO\_DTIMER) . . 1064 31.9.8 SDIO data length register (SDIO\_DLEN) . . 1065 31.9.9 SDIO data control register (SDIO\_DCTRL) . . . . . . . 1066 31.9.10 SDIO data counter register (SDIO\_DCOUNT) . . 1067 31.9.11 SDIO status register (SDIO\_STA) . . . . . . 1068 31.9.12 SDIO interrupt clear register (SDIO\_ICR) . . . . . 1069 31.9.13 SDIO mask register (SDIO\_MASK) . . . . . . . 1071 31.9.14 SDIO FIFO counter register (SDIO\_FIFOCNT) . . . . . . 1073 31.9.15 SDIO data FIFO register (SDIO\_FIFO) . . 1074 31.9.16 SDIO register map . 1074 ## 32 Controller area network (bxCAN) . . . . . . 1076 32.1 bxCAN introduction 1076 32.2 bxCAN main features 1076 32.3 bxCAN general description . . 1077 32.3.1 CAN 2.0B active core . 1077 32.3.2 Control, status and configuration registers . . 1078 32.3.3 Tx mailboxes . . 1078 32.3.4 Acceptance filters . 1078 32.4 bxCAN operating modes 1079 32.4.1 Initialization mode . 1080 32.4.2 Normal mode . . 1080 32.4.3 Sleep mode (low power) . . 1080 32.5 Test mode 1081 32.5.1 Silent mode . 1081 32.5.2 Loop back mode . . 1082 32.5.3 Loop back combined with silent mode . . . 1082 32.6 Debug mode . 1083 32.7 bxCAN functional description 1083 32.7.1 Transmission handling . . . . 1083 32.7.2 Time triggered communication mode . . . . . 1085 32.7.3 Reception handling . . 1085 32.7.4 Identifier filtering . . 1087 32.7.5 Message storage . . 1091 32.7.6 Error management . . 1093 32.7.7 Bit timing . 1093 32.8 bxCAN interrupts 1095 32.9 CAN registers 1097 32.9.1 Register access protection . 1097 32.9.2 CAN control and status registers . . . . . 1097 32.9.3 CAN mailbox registers . . . . 1107 32.9.4 CAN filter registers . . . 1114 32.9.5 bxCAN register map 1118 ## 33 Ethernet (ETH): media access control (MAC) with DMA controller . . . 1122 33.1 Ethernet introduction .1122 33.2 Ethernet main features . . .1122 33.2.1 MAC core features . . 1123 33.2.2 DMA features . . . 1124 33.2.3 PTP features . 1124 33.3 Ethernet pins .1125 33.4 Ethernet functional description: SMI, MII and RMII . .1126 33.4.1 Station management interface: SMI . 1126 33.4.2 Media-independent interface: MII . 1129 33.4.3 Reduced media-independent interface: RMII . 1131 33.4.4 MII/RMII selection . 1132 33.5 Ethernet functional description: MAC 802.3 . . . .1133 33.5.1 MAC 802.3 frame format . 1134 33.5.2 MAC frame transmission . 1137 33.5.3 MAC frame reception . . . . 1144 33.5.4 MAC interrupts . . . . 1149 33.5.5 MAC filtering . . 1150 33.5.6 MAC loopback mode . . . . 1153 33.5.7 MAC management counters: MMC . 1153 33.5.8 Power management: PMT . . . 1154 33.5.9 Precision time protocol (IEEE1588 PTP) . . . . . . 1157 33.6 Ethernet functional description: DMA controller operation . . . .1163 33.6.1 Initialization of a transfer using DMA . . 1164 33.6.2 Host bus burst access . 1164 33.6.3 Host data buffer alignment . . . . 1165 33.6.4 Buffer size calculations . 1165 33.6.5 DMA arbiter . 1166 33.6.6 Error response to DMA . 1166 33.6.7 Tx DMA configuration . 1166 33.6.8 Rx DMA configuration . 1178 33.6.9 DMA interrupts . . . 1189 33.7 Ethernet interrupts .1190 33.8 Ethernet register descriptions . . .1191 33.8.1 MAC register description . 1191 33.8.2 MMC register description . . 1210 33.8.3 IEEE 1588 time stamp registers . 1215 33.8.4 DMA register description . 1223 33.8.5 Ethernet register maps . . 1236 34 USB on-the-go full-speed (OTG\_FS) . . . . . . . 1240 34.1 OTG\_FS introduction 1240 34.2 OTG\_FS main features 1241 34.2.1 General features . 1241 34.2.2 Host-mode features . . 1242 34.2.3 Peripheral-mode features . . 1242 34.3 OTG\_FS functional description 1243 34.3.1 OTG pins . . . . . 1243 34.3.2 OTG full-speed core . . 1243 34.3.3 Full-speed OTG PHY . . . . 1244 34.4 OTG dual role device (DRD) 1245 34.4.1 ID line detection . 1245 34.4.2 HNP dual role device . . . . . 1245 34.4.3 SRP dual role device . . 1246 34.5 USB peripheral 1246 34.5.1 SRP-capable peripheral . . . . . 1247 34.5.2 Peripheral states . 1247 34.5.3 Peripheral endpoints . 1248 34.6 USB host 1250 34.6.1 SRP-capable host . . 1251 34.6.2 USB host states . . . . 1251 34.6.3 Host channels . 1253 34.6.4 Host scheduler . . . 1254 34.7 SOF trigger . 1255 34.7.1 Host SOFs . . 1255 34.7.2 Peripheral SOFs . 1256 34.8 OTG low-power modes 1256 34.9 Dynamic update of the OTG\_FS\_HFIR register . . 1257 34.10 USB data FIFOs 1258 34.11 Peripheral FIFO architecture 1259 34.11.1 Peripheral Rx FIFO . . 1259 34.11.2 Peripheral Tx FIFOs . 1260 34.12 Host FIFO architecture . 1260 34.12.1 Host Rx FIFO . . . . . 1260 34.12.2 Host Tx FIFOs . . . . . 1261 34.13 FIFO RAM allocation 1261 34.13.1 Device mode . 1261 34.13.2 Host mode . 1262 34.14 USB system performance 1262 34.15 OTG\_FS interrupts . . 1263 34.16 OTG\_FS control and status registers . . 1265 34.16.1 CSR memory map . 1266 34.16.2 OTG\_FS global registers . . . . . 1271 34.16.3 Host-mode registers . 1292 34.16.4 Device-mode registers . . . . 1302 34.16.5 OTG\_FS power and clock gating control register(OTG\_FS\_PCGCCTL) . . . . 1325 34.16.6 OTG\_FS register map . . 1326 ## 34.17 OTG\_FS programming model 1335 34.17.1 Core initialization . 1335 34.17.2 Host initialization . . 1336 34.17.3 Device initialization . . 1336 34.17.4 Host programming model . . 1337 34.17.5 Device programming model . . . 1353 34.17.6 Operational model . 1355 34.17.7 Worst case response time . . . 1372 34.17.8 OTG programming model . . 1374 ## 35 USB on-the-go high-speed (OTG\_HS) . . . . . . . 1381 35.1 OTG\_HS introduction 1381 35.2 OTG\_HS main features 1381 35.2.1 General features . 1382 35.2.2 Host-mode features . . . 1383 35.2.3 Peripheral-mode features . 1383 35.3 OTG\_HS functional description 1383 35.3.1 OTG pins . . . 1384 35.3.2 High-speed OTG PHY . 1384 35.3.3 Embedded Full-speed OTG PHY . . 1385 35.4 OTG dual-role device 1385 35.4.1 ID line detection . . . 1385 35.4.2 HNP dual role device . . . 1385 35.4.3 SRP dual-role device . . . . . 1386 35.5 USB functional description in peripheral mode 1386 35.5.1 SRP-capable peripheral . . 1386 35.5.2 Peripheral states . . 1387 35.5.3 Peripheral endpoints . . 1388 35.6 USB functional description on host mode 1391 35.6.1 SRP-capable host . . 1391 35.6.2 USB host states . . . . . 1392 35.6.3 Host channels . . 1393 35.6.4 Host scheduler . . . 1395 35.7 SOF trigger . 1396 35.7.1 Host SOFs . . 1396 35.7.2 Peripheral SOFs . . 1396 35.8 OTG\_HS low-power modes 1397 35.9 Dynamic update of the OTG\_HS\_HFIR register 1398 35.10 FIFO RAM allocation 1399 35.10.1 Peripheral mode . . 1399 35.10.2 Host mode . . 1399 35.11 OTG\_HS interrupts 1400 35.12 OTG\_HS control and status registers 1402 35.12.1 CSR memory map . 1402 35.12.2 OTG\_HS global registers . . . . 1407 35.12.3 Host-mode registers . 1430 35.12.4 Device-mode registers . . . . . 1443 35.12.5 OTG\_HS power and clock gating control register(OTG\_HS\_PCGCCTL) . . 1472 35.12.6 OTG\_HS register map . . . . 1472 35.13 OTG\_HS programming model 1487 35.13.1 Core initialization . . 1487 35.13.2 Host initialization . 1488 35.13.3 Device initialization . . 1489 35.13.4 DMA mode . . . . . 1489 35.13.5 Host programming model . . 1489 35.13.6 Device programming model . . . 1515 35.13.7 Operational model . . 1517 35.13.8 Worst case response time . . . 1536 35.13.9 OTG programming model . . 1538 ## 36 Flexible static memory controller (FSMC) . . . 1544 36.1 FSMC main features 1544 36.2 Block diagram . 1545 36.3 AHB interface 1545 36.3.1 Supported memories and transactions . . 1546 36.4 External device address mapping 1547 36.4.1 NOR/PSRAM address mapping . 1547 36.4.2 NAND/PC Card address mapping . . . 1548 36.5 NOR Flash/PSRAM controller 1549 36.5.1 External memory interface signals . . . . 1550 36.5.2 Supported memories and transactions . . 1552 36.5.3 General timing rules . . . . 1553 36.5.4 NOR Flash/PSRAM controller asynchronous transactions . . . . 1554 36.5.5 Synchronous transactions . 1571 36.5.6 NOR/PSRAM control registers . 1577 36.6 NAND Flash/PC Card controller . 1584 36.6.1 External memory interface signals . . . . 1585 36.6.2 NAND Flash / PC Card supported memories and transactions . . . . . 1587 36.6.3 Timing diagrams for NAND and PC Card . . 1587 36.6.4 NAND Flash operations . . . . 1588 36.6.5 NAND Flash prewait functionality . 1589 36.6.6 Computation of the error correction code (ECC) in NAND Flash memory . . . 1590 36.6.7 PC Card/CompactFlash operations . . . . . 1591 36.6.8 NAND Flash/PC Card control registers . . . . . 1593 36.6.9 FSMC register map . . . . . . 1600 ## 37 Flexible memory controller (FMC) 1602 37.1 FMC main features 1602 37.2 Block diagram 1603 37.3 AHB interface 1604 37.3.1 Supported memories and transactions . 1605 37.4 External device address mapping 1606 37.4.1 NOR/PSRAM address mapping . 1607 37.4.2 NAND Flash memory/PC Card address mapping . 1608 37.4.3 SDRAM address mapping . 1609 37.5 NOR Flash/PSRAM controller 1612 37.5.1 External memory interface signals . . . . . . 1613 37.5.2 Supported memories and transactions . 1615 37.5.3 General timing rules . . . . 1617 37.5.4 NOR Flash/PSRAM controller asynchronous transactions . . . . . . . . 1617 37.5.5 Synchronous transactions . 1634 37.5.6 NOR/PSRAM controller registers . 1640 37.6 NAND Flash/PC Card controller . 1647 37.6.1 External memory interface signals . . . . . . 1648 37.6.2 NAND Flash / PC Card supported memories and transactions . . . . . 1650 37.6.3 Timing diagrams for NAND Flash memory and PC Card . . 1650 37.6.4 NAND Flash operations . . 1651 37.6.5 NAND Flash prewait functionality . . 1652 37.6.6 Computation of the error correction code (ECC) in NAND Flash memory . . . 1653 37.6.7 PC Card/CompactFlash operations . . . . . 1654 37.6.8 NAND Flash/PC Card controller registers . . 1656 37.7 SDRAM controller . 1663 37.7.1 SDRAM controller main features . . 1663 37.7.2 SDRAM External memory interface signals . . . . 1663 37.7.3 SDRAM controller functional description . . . . . . 1664 37.7.4 Low power modes . 1671 37.7.5 SDRAM controller registers . . . . 1674 37.8 FMC register map . 1680 ## 38 Debug support (DBG) . . . . . 1683 38.1 Overview 1683 38.2 Reference Arm® documentation 1684 38.3 SWJ debug port (serial wire and JTAG) 1684 38.3.1 Mechanism to select the JTAG-DP or the SW-DP . . . . . 1685 38.4 Pinout and debug port pins 1685 38.4.1 SWJ debug port pins . . . . 1686 38.4.2 Flexible SWJ-DP pin assignment . . 1686 38.4.3 Internal pull-up and pull-down on JTAG pins . . . . 1687 38.4.4 Using serial wire and releasing the unused debug pins as GPIOs . . 1688 38.5 STM32F4xx JTAG TAP connection 1688 38.6 ID codes and locking mechanism . 1690 38.6.1 MCU device ID code . 1690 38.6.2 Boundary scan TAP . . 1691 38.6.3 Cortex®-M4 with FPU TAP . . 1691 38.6.4 Cortex®-M4 with FPU JEDEC-106 ID code . . . . 1691 38.7 JTAG debug port 1691 38.8 SW debug port 1693 38.8.1 SW protocol introduction . 1693 38.8.2 SW protocol sequence . . . 1693 38.8.3 SW-DP state machine (reset, idle states, ID code) . 1694 38.8.4 DP and AP read/write accesses . . 1694 38.8.5 SW-DP registers . 1695 38.8.6 SW-AP registers . . 1696 38.9 AHB-AP (AHB access port) - valid for both JTAG-DP and SW-DP 1696 38.10 Core debug 1697 38.11 Capability of the debugger host to connect under system reset . . . . . 1698 38.12 FPB (Flash patch breakpoint) . 1698 38.13 DWT (data watchpoint trigger) 1699 38.14 ITM (instrumentation trace macrocell) 1699 38.14.1 General description . . . . . 1699 38.14.2 Time stamp packets, synchronization and overflow packets . . . . . . . 1699 38.15 ETM (Embedded trace macrocell) 1701 38.15.1 ETM general description . . 1701 38.15.2 ETM signal protocol and packet types . . . . . 1701 38.15.3 Main ETM registers . 1702 38.15.4 ETM configuration example . . . 1702 38.16 MCU debug component (DBGMCU) 1702 38.16.1 Debug support for low-power modes . . . . 1702 38.16.2 Debug support for timers, watchdog, bxCAN and ${ \mathsf { I } } ^ { 2 } { \mathsf { C } }$ . . . 1703 38.16.3 Debug MCU configuration register . 1703 38.16.4 Debug MCU APB1 freeze register (DBGMCU\_APB1\_FZ) . . . . . . . . 1705 38.16.5 Debug MCU APB2 Freeze register (DBGMCU\_APB2\_FZ) . . . . . . . . 1706 38.17 TPIU (trace port interface unit) 1707 38.17.1 Introduction . . 1707 38.17.2 TRACE pin assignment . . 1708 38.17.3 TPUI formatter . . . . . 1709 38.17.4 TPUI frame synchronization packets . 1710 38.17.5 Transmission of the synchronization frame packet . 1710 38.17.6 Synchronous mode . . . . . 1710 38.17.7 Asynchronous mode . 1711 38.17.8 TRACECLKIN connection inside the STM32F4xx . . . . . 1711 38.17.9 TPIU registers . 1711 38.17.10 Example of configuration . 1712 38.18 DBG register map . . 1713 39 Device electronic signature . . 1714 39.1 Unique device ID register (96 bits) . . 1714 39.2 Flash size 1715 40 Revision history 1716 ## List of tables Table 1. STM32F4xx register boundary addresses . . 64 Table 2. Boot modes. . . 69 Table 3. Memory mapping vs. Boot mode/physical remap in STM32F405xx/07xx and STM32F415xx/17xx . Table 4. Memory mapping vs. Boot mode/physical remap in STM32F42xxx and STM32F43xxx 71 Table 5. Flash module organization (STM32F40x and STM32F41x) . . . 75 Table 6. Flash module - 2 Mbyte dual bank organization (STM32F42xxx and STM32F43xxx) . . . . 77 Table 7. 1 Mbyte Flash memory single bank vs dual bank organization (STM32F42xxx and STM32F43xxx) 78 Table 8. 1 Mbyte single bank Flash memory organization (STM32F42xxx and STM32F43xxx) . . 78 Table 9. 1 Mbyte dual bank Flash memory organization (STM32F42xxx and STM32F43xxx) . . . . 79 Table 10. Number of wait states according to CPU clock (HCLK) frequency (STM32F405xx/07xx and STM32F415xx/17xx) . 80 Table 11. Number of wait states according to CPU clock (HCLK) frequency (STM32F42xxx and STM32F43xxx) 81 Table 12. Program/erase parallelism . . 85 Table 13. Flash interrupt request . . 88 Table 14. Option byte organization. . . 88 Table 15. Description of the option bytes (STM32F405xx/07xx and STM32F415xx/17xx) . . . . . . . . 89 Table 16. Description of the option bytes (STM32F42xxx and STM32F43xxx) . . 90 Table 17. Access versus read protection level . . 94 Table 18. OTP area organization . . . 97 Table 19. Flash register map and reset values (STM32F405xx/07xx and STM32F415xx/17xx) . 111 Table 20. Flash register map and reset values (STM32F42xxx and STM32F43xxx). . . 111 Table 21. CRC calculation unit register map and reset values. . . 115 Table 22. Voltage regulator configuration mode versus device operating mode . 122 Table 23. Low-power mode summary 128 Table 24. Sleep-now entry and exit 129 Table 25. Sleep-on-exit entry and exit . 130 Table 26. Stop operating modes (STM32F405xx/07xx and STM32F415xx/17xx) . 131 Table 27. Stop mode entry and exit (for STM32F405xx/07xx and STM32F415xx/17xx) . . . . . . . . . 132 Table 28. Stop operating modes (STM32F42xxx and STM32F43xxx). . 134 Table 29. Stop mode entry and exit (STM32F42xxx and STM32F43xxx) . 136 Table 30. Standby mode entry and exit 137 Table 31. PWR - register map and reset values for STM32F405xx/07xx and STM32F415xx/17xx. 149 Table 32. PWR - register map and reset values for STM32F42xxx and STM32F43xxx . . 149 Table 33. RCC register map and reset values for STM32F42xxx and STM32F43xxx . . . . 210 Table 34. RCC register map and reset values . 265 Table 35. Port bit configuration table . 268 Table 36. Flexible SWJ-DP pin assignment . . 271 Table 37. RTC\_AF1 pin . 279 Table 38. RTC\_AF2 pin . . 280 Table 39. GPIO register map and reset values . 287 Table 40. SYSCFG register map and reset values (STM32F405xx/07xx and STM32F415xx/17xx) 294 Table 41. SYSCFG register map and reset values (STM32F42xxx and STM32F43xxx). . . . . . . . . 301 Table 42. DMA1 request mapping . 307 Table 43. DMA2 request mapping . 308 Table 44. Source and destination address . . 309 Table 45. Source and destination address registers in Double buffer mode (DBM=1). . . . 314 Table 46. Packing/unpacking & endian behavior (bit PINC = MINC = 1) . . . 315 Table 47. Restriction on NDT versus PSIZE and MSIZE . . 316 Table 48. FIFO threshold configurations . . 318 Table 49. Possible DMA configurations . 322 Table 50. DMA interrupt requests. . . 324 Table 51. DMA register map and reset values . . 335 Table 52. Supported color mode in input . . 342 Table 53. Data order in memory . . . 343 Table 54. Alpha mode configuration . . . 344 Table 55. Supported CLUT color mode . 345 Table 56. CLUT data order in memory . . 345 Table 57. Supported color mode in output . . . 346 Table 58. Data order in memory . . 346 Table 59. DMA2D interrupt requests . 351 Table 60. DMA2D register map and reset values. . 369 Table 61. Vector table for STM32F405xx/07xx and STM32F415xx/17xx. . . 372 Table 62. Vector table for STM32F42xxx and STM32F43xxx . . 375 Table 63. External interrupt/event controller register map and reset values. . 387 Table 64. External interrupt/event controller register map and reset values. . . 387 Table 65. ADC pins. . . . 390 Table 66. Analog watchdog channel selection . . . 393 Table 67. Configuring the trigger polarity . . 397 Table 68. External trigger for regular channels. . . 398 Table 69. External trigger for injected channels . . 399 Table 70. ADC interrupts . 414 Table 71. ADC global register map. . . 430 Table 72. ADC register map and reset values for each ADC . . 431 Table 73. ADC register map and reset values (common ADC registers) . . . 432 Table 74. DAC pins. . . 434 Table 75. External triggers . . . 437 Table 76. DAC register map . . . 453 Table 77. DCMI pins . . . 455 Table 78. DCMI signals . 457 Table 79. Positioning of captured data bytes in 32-bit words (8-bit width) . . . 458 Table 80. Positioning of captured data bytes in 32-bit words (10-bit width) . . 458 Table 81. Positioning of captured data bytes in 32-bit words (12-bit width) . . 459 Table 82. Positioning of captured data bytes in 32-bit words (14-bit width) . . 459 Table 83. Data storage in monochrome progressive video format . . . 466 Table 84. Data storage in RGB progressive video format . . 466 Table 85. Data storage in YCbCr progressive video format . . . 467 Table 86. DCMI interrupts. . 467 Table 87. DCMI register map and reset values . 478 Table 88. LTDC registers versus clock domain . . 482 Table 89. LCD-TFT pins and signal interface . . . 483 Table 90. Pixel Data mapping versus Color Format . . . . 487 Table 91. LTDC interrupt requests . . . 491 Table 92. LTDC register map and reset values . 512 Table 93. Counting direction versus encoder signals . . . 553 Table 94. TIMx Internal trigger connection . . 567 Table 95. Output control bits for complementary OCx and OCxN channels with break feature. . 579 Table 96. TIM1 and TIM8 register map and reset values . . 587 Table 97. Counting direction versus encoder signals . . 616 Table 98. TIMx internal trigger connection . . 632 Table 99. Output control bit for standard OCx channels. . 641 Table 100. TIM2 to TIM5 register map and reset values . 648 Table 101. TIMx internal trigger connection . . 674 Table 102. Output control bit for standard OCx channels. . . 682 Table 103. TIM9/12 register map and reset values . 684 Table 104. Output control bit for standard OCx channels. . 691 Table 105. TIM10/11/13/14 register map and reset values . 694 Table 106. TIM6 and TIM7 register map and reset values . . 707 Table 107. Min/max IWDG timeout period (in ms) at 32 kHz (LSI). . . 709 Table 108. IWDG register map and reset values . . 712 Table 109. Minimum and maximum timeout values at 30 MHz (fPCLK1). . . . 716 Table 110. WWDG register map and reset values . . 719 Table 111. Number of cycles required to process each 128-bit block (STM32F415/417xx) . . 720 Table 112. Number of cycles required to process each 128-bit block (STM32F43xxx) 720 Table 113. Data types. . . . 740 Table 114. CRYP register map and reset values for STM32F415/417xx. . . 763 Table 115. CRYP register map and reset values for STM32F43xxx . . 764 Table 116. RNG register map and reset map. . . 771 Table 117. HASH register map and reset values on STM32F415/417xx . . . 795 Table 118. HASH register map and reset values on STM32F43xxx . . 796 Table 119. Effect of low-power modes on RTC . 814 Table 120. Interrupt control bits . 815 Table 121. RTC register map and reset values . 836 Table 122. Maximum DNF[3:0] value to be compliant with Thd:dat(max) . 852 Table 123. SMBus vs. I2C . 854 Table 124. I2C Interrupt requests . . 858 Table 125. I2C register map and reset values . 872 Table 126. SPI interrupt requests . . 898 Table 127. Audio frequency precision (for PLLM VCO = 1 MHz or 2 MHz) . . 909 Table 128. I2S interrupt requests . 915 Table 129. SPI register map and reset values . . 925 Table 130. Example of possible audio frequency sampling range . . . 936 Table 131. Interrupt sources. . . 948 Table 132. SAI register map and reset values . . 963 Table 133. Noise detection from sampled data 977 Table 134. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 12 MHz, oversampling by 16. . 980 Table 135. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK =12 MHz, oversampling by 8. . 981 Table 136. Error calculation for programmed baud rates at fPCLK = 16 MHz or fPCLK = 24 MHz, oversampling by 16. . . 981 Table 137. Error calculation for programmed baud rates at fPCLK = 16 MHz or fPCLK = 24 MHz, oversampling by 8. . . . 982 Table 138. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 16 MHz, oversampling by 16. . . 983 Table 139. Error calculation for programmed baud rates at fPCLK = 8 MHz or fPCLK = 16 MHz, oversampling by 8. . . 983 Table 140. Error calculation for programmed baud rates at fPCLK = 30 MHz or fPCLK = 60 MHz, oversampling by 16. 984 Table 141. Error calculation for programmed baud rates at fPCLK = 30 MHz or fPCLK = 60 MHz, oversampling by 8 . 985 Table 142. Error calculation for programmed baud rates at fPCLK = 42 MHz or fPCLK = 84 Hz, oversampling by 16. . . 986 Table 143. Error calculation for programmed baud rates at fPCLK = 42 MHz or fPCLK = 84 MHz, oversampling by 8. . . 987 Table 144. USART receiver’s tolerance when DIV fraction is 0 . . 988 Table 145. USART receiver tolerance when DIV\_Fraction is different from 0 . . 989 Table 146. Frame formats . 991 Table 147. USART interrupt requests. . . 1006 Table 148. USART mode configuration . 1007 Table 149. USART register map and reset values . . 1018 Table 150. SDIO I/O definitions . 1023 Table 151. Command format . 1027 Table 152. Short response format . 1028 Table 153. Long response format. . . 1028 Table 154. Command path status flags . 1028 Table 155. Data token format . . . 1031 Table 156. Transmit FIFO status flags . 1032 Table 157. Receive FIFO status flags . 1033 Table 158. Card status . 1043 Table 159. SD status . 1046 Table 160. Speed class code field . 1047 Table 161. Performance move field . . 1047 Table 162. AU\_SIZE field . . 1048 Table 163. Maximum AU size. . . 1048 Table 164. Erase size field . . 1048 Table 165. Erase timeout field . 1049 Table 166. Erase offset field . . . 1049 Table 167. Block-oriented write commands . . 1051 Table 168. Block-oriented write protection commands. . 1052 Table 169. Erase commands . 1052 Table 170. I/O mode commands . 1053 Table 171. Lock card . 1053 Table 172. Application-specific commands . 1053 Table 173. R1 response . . . 1054 Table 174. R2 response . . . 1055 Table 175. R3 response . . . 1055 Table 176. R4 response . . . 1055 Table 177. R4b response . . 1056 Table 178. R5 response . . . 1056 Table 179. R6 response . . . 1057 Table 180. Response type and SDIO\_RESPx registers. . . 1064 Table 181. SDIO register map . 1074 Table 182. Transmit mailbox mapping . 1091 Table 183. Receive mailbox mapping. . . 1091 Table 184. bxCAN register map and reset values . . 1118 Table 185. Alternate function mapping . . . 1125 Table 186. Management frame format . . 1127 Table 187. Clock range. . . . 1129 Table 188. TX interface signal encoding . 1130 Table 189. RX interface signal encoding . 1131 Table 190. Frame statuses . . . 1146 Table 191. Destination address filtering . . . 1152 Table 192. Source address filtering . 1153 Table 193. Receive descriptor 0 - encoding for bits 7, 5 and 0 (normal descriptor format only, EDFE=0) . 1184 Table 194. Time stamp snapshot dependency on registers bits 1217 Table 195. Ethernet register map and reset values . 1236 Table 196. OTG\_FS input/output pins . 1243 Table 197. Compatibility of STM32 low power modes with the OTG . . 1256 Table 198. Core global control and status registers (CSRs). . . 1266 Table 199. Host-mode control and status registers (CSRs) . . 1267 Table 200. Device-mode control and status registers . 1268 Table 201. Data FIFO (DFIFO) access register map . . 1269 Table 202. Power and clock gating control and status registers . 1270 Table 203. TRDT values. . . 1276 Table 204. Minimum duration for soft disconnect . . 1304 Table 205. OTG\_FS register map and reset values . . . 1326 Table 206. OTG\_HS input/output pins . . . 1384 Table 207. Compatibility of STM32 low power modes with the OTG . . 1397 Table 208. Core global control and status registers (CSRs). . 1403 Table 209. Host-mode control and status registers (CSRs) . . 1404 Table 210. Device-mode control and status registers . 1405 Table 211. Data FIFO (DFIFO) access register map . . 1407 Table 212. Power and clock gating control and status registers . 1407 Table 213. TRDT values. . 1414 Table 214. Minimum duration for soft disconnect . . 1446 Table 215. OTG\_HS register map and reset values. . . 1472 Table 216. NOR/PSRAM bank selection . 1548 Table 217. External memory address. . 1548 Table 218. Memory mapping and timing registers . . 1548 Table 219. NAND bank selections . 1549 Table 220. Programmable NOR/PSRAM access parameters . 1550 Table 221. Nonmultiplexed I/O NOR Flash . 1550 Table 222. Multiplexed I/O NOR Flash . . 1551 Table 223. Nonmultiplexed I/Os PSRAM/SRAM . 1551 Table 224. Multiplexed I/O PSRAM . 1552 Table 225. NOR Flash/PSRAM controller: example of supported memories and transactions . . . . 1552 Table 226. FSMC\_BCRx bit fields . . 1555 Table 227. FSMC\_BTRx bit fields . . 1556 Table 228. FSMC\_BCRx bit fields . . 1557 Table 229. FSMC\_BTRx bit fields 1558 Table 230. FSMC\_BWTRx bit fields . . . 1558 Table 231. FSMC\_BCRx bit fields . . 1560 Table 232. FSMC\_BTRx bit fields . . 1561 Table 233. FSMC\_BWTRx bit fields . . . 1561 Table 234. FSMC\_BCRx bit fields . . 1563 Table 235. FSMC\_BTRx bit fields . . 1563 Table 236. FSMC\_BWTRx bit fields . . 1564 Table 237. FSMC\_BCRx bit fields . 1565 Table 238. FSMC\_BTRx bit fields . 1566 Table 239. FSMC\_BWTRx bit fields . . . 1566 Table 240. FSMC\_BCRx bit fields . 1568 Table 241. FSMC\_BTRx bit fields . 1568 Table 242. FSMC\_BCRx bit fields . . 1573 Table 243. FSMC\_BTRx bit fields . 1574 Table 244. FSMC\_BCRx bit fields . . 1575 Table 245. FSMC\_BTRx bit fields . 1576 Table 246. Programmable NAND/PC Card access parameters. . . 1585 Table 247. 8-bit NAND Flash . 1585 Table 248. 16-bit NAND Flash . . 1586 Table 249. 16-bit PC Card . 1586 Table 250. Supported memories and transactions . . 1587 Table 251. 16-bit PC-Card signals and access type. . . 1592 Table 252. ECC result relevant bits . 1599 Table 253. FSMC register map. . . 1600 Table 254. NOR/PSRAM bank selection . 1607 Table 255. NOR/PSRAM External memory address . 1608 Table 256. NAND/PC Card memory mapping and timing registers . 1608 Table 257. NAND bank selection . 1609 Table 258. SDRAM bank selection. . . 1609 Table 259. SDRAM address mapping . 1609 Table 260. SDRAM address mapping with 8-bit data bus width. . . 1610 Table 261. SDRAM address mapping with 16-bit data bus width. . . 1611 Table 262. SDRAM address mapping with 32-bit data bus width. . . 1611 Table 263. Programmable NOR/PSRAM access parameters . 1613 Table 264. Non-multiplexed I/O NOR Flash memory . . 1614 Table 265. 16-bit multiplexed I/O NOR Flash memory . . . 1614 Table 266. Non-multiplexed I/Os PSRAM/SRAM . . 1614 Table 267. 16-Bit multiplexed I/O PSRAM . . 1615 Table 268. NOR Flash/PSRAM: Example of supported memories and transactions . . . 1616 Table 269. FMC\_BCRx bit fields . 1619 Table 270. FMC\_BTRx bit fields. . . 1619 Table 271. FMC\_BCRx bit fields . 1621 Table 272. FMC\_BTRx bit fields. . . 1622 Table 273. FMC\_BWTRx bit fields . . 1622 Table 274. FMC\_BCRx bit fields . 1624 Table 275. FMC\_BTRx bit fields. . . 1625 Table 276. FMC\_BWTRx bit fields . . 1625 Table 277. FMC\_BCRx bit fields . 1627 Table 278. FMC\_BTRx bit fields. . . 1627 Table 279. FMC\_BWTRx bit fields . . 1628 Table 280. FMC\_BCRx bit fields . 1629 Table 281. FMC\_BTRx bit fields. . . 1630 Table 282. FMC\_BWTRx bit fields . . 1630 Table 283. FMC\_BCRx bit fields . 1632 Table 284. FMC\_BTRx bit fields. . . 1632 Table 285. FMC\_BCRx bit fields . 1637 Table 286. FMC\_BTRx bit fields. . . 1637 Table 287. FMC\_BCRx bit fields . 1638 Table 288. FMC\_BTRx bit fields. . . 1639 Table 289. Programmable NAND Flash/PC Card access parameters . . . 1648 Table 290. 8-bit NAND Flash . 1648 Table 291. 16-bit NAND Flash . . 1649 Table 292. 16-bit PC Card . 1649 Table 293. Supported memories and transactions . . 1650 Table 294. 16-bit PC-Card signals and access type. . . 1655 Table 295. ECC result relevant bits . 1662 Table 296. SDRAM signals. . . 1663 Table 297. FMC register map . . . 1680 Table 298. SWJ debug port pins . 1686 Table 299. Flexible SWJ-DP pin assignment . . 1686 Table 300. JTAG debug port data registers . . 1691 Table 301. 32-bit debug port registers addressed through the shifted value A[3:2] . 1692 Table 302. Packet request (8-bits) . . 1693 Table 303. ACK response (3 bits). . . 1694 Table 304. DATA transfer (33 bits) . . 1694 Table 305. SW-DP registers . . . 1695 Table 306. Cortex®-M4 with FPU AHB-AP registers . . 1696 Table 307. Core debug registers . 1697 Table 308. Main ITM registers . 1700 Table 309. Main ETM registers. . . 1702 Table 310. Asynchronous TRACE pin assignment. . 1708 Table 311. Synchronous TRACE pin assignment . 1708 Table 312. Flexible TRACE pin assignment . . . 1709 Table 313. Important TPIU registers. . 1711 Table 314. DBG register map and reset values . . 1713 Table 315. Document revision history . 1716 ## List of figures Figure 1. System architecture for STM32F405xx/07xx and STM32F415xx/17xx devices. . . . . . . . . 60 Figure 2. System architecture for STM32F42xxx and STM32F43xxx devices . 62 Figure 3. Flash memory interface connection inside system architecture (STM32F405xx/07xx and STM32F415xx/17xx) 73 Figure 4. Flash memory interface connection inside system architecture (STM32F42xxx and STM32F43xxx) . . 74 Figure 5. Sequential 32-bit instruction execution . . . 83 Figure 6. RDP levels . 94 Figure 7. PCROP levels. . . 96 Figure 8. CRC calculation unit block diagram . 113 Figure 9. Power supply overview for STM32F405xx/07xx and STM32F415xx/17xx. . . . 116 Figure 10. Power supply overview for STM32F42xxx and STM32F43xxx. . . 117 Figure 11. Backup domain . . . 120 Figure 12. Power-on reset/power-down reset waveform . . . 124 Figure 13. BOR thresholds . 125 Figure 14. PVD thresholds. . 126 Figure 15. Simplified diagram of the reset circuit . . . 151 Figure 16. Clock tree . . 152 Figure 17. HSE/ LSE clock sources. . . 154 Figure 18. Frequency measurement with TIM5 in Input capture mode . 159 Figure 19. Frequency measurement with TIM11 in Input capture mode . . 160 Figure 20. Simplified diagram of the reset circuit . . . 214 Figure 21. Clock tree . . 216 Figure 22. HSE/ LSE clock sources. . . 218 Figure 23. Frequency measurement with TIM5 in Input capture mode . . 223 Figure 24. Frequency measurement with TIM11 in Input capture mode . . 223 Figure 25. Basic structure of a five-volt tolerant I/O port bit . . . 268 Figure 26. Selecting an alternate function on STM32F405xx/07xx and STM32F415xx/17xx . . . . 272 Figure 27. Selecting an alternate function on STM32F42xxx and STM32F43xxx . 273 Figure 28. Input floating/pull up/pull down configurations . . 276 Figure 29. Output configuration . . . 277 Figure 30. Alternate function configuration . 277 Figure 31. High impedance-analog configuration . 278 Figure 32. DMA block diagram . 304 Figure 33. System implementation of the two DMA controllers (STM32F405xx/07xx and STM32F415xx/17xx) . . 305 Figure 34. System implementation of the two DMA controllers (STM32F42xxx and STM32F43xxx) 306 Figure 35. Channel selection . . . 307 Figure 36. Peripheral-to-memory mode . . . 310 Figure 37. Memory-to-peripheral mode . . 311 Figure 38. Memory-to-memory mode . 312 Figure 39. FIFO structure. . . 317 Figure 40. DMA2D block diagram . . 341 Figure 41. External interrupt/event controller block diagram . . . 380 Figure 42. External interrupt/event GPIO mapping (STM32F405xx/07xx and STM32F415xx/17xx). 382 Figure 43. External interrupt/event GPIO mapping (STM32F42xxx and STM32F43xxx) . 383 Figure 44. Single ADC block diagram . . . 389 Figure 45. Timing diagram . 392 Figure 46. Analog watchdog’s guarded area . . 393 Figure 47. Injected conversion latency . 394 Figure 48. Right alignment of 12-bit data . . . 396 Figure 49. Left alignment of 12-bit data . . . 396 Figure 50. Left alignment of 6-bit data . . . 396 Figure 51. Multi ADC block diagram(1). . 402 Figure 52. Injected simultaneous mode on 4 channels: dual ADC mode . 405 Figure 53. Injected simultaneous mode on 4 channels: triple ADC mode . . . 405 Figure 54. Regular simultaneous mode on 16 channels: dual ADC mode . 406 Figure 55. Regular simultaneous mode on 16 channels: triple ADC mode . . . 406 Figure 56. Interleaved mode on 1 channel in continuous conversion mode: dual ADC mode. . . . . . 407 Figure 57. Interleaved mode on 1 channel in continuous conversion mode: triple ADC mode . . . . . 408 Figure 58. Alternate trigger: injected group of each ADC . 409 Figure 59. Alternate trigger: 4 injected channels (each ADC) in discontinuous mode. . . 410 Figure 60. Alternate trigger: injected group of each ADC . 410 Figure 61. Alternate + regular simultaneous . . 411 Figure 62. Case of trigger occurring during injected conversion . . 412 Figure 63. Temperature sensor and VREFINT channel block diagram . 413 Figure 64. DAC channel block diagram . 434 Figure 65. Data registers in single DAC channel mode . . . 436 Figure 66. Data registers in dual DAC channel mode . . . 436 Figure 67. Timing diagram for conversion with trigger disabled TEN = 0 . 437 Figure 68. DAC LFSR register calculation algorithm . . . 439 Figure 69. DAC conversion (SW trigger enabled) with LFSR wave generation. . . 439 Figure 70. DAC triangle wave generation . . 440 Figure 71. DAC conversion (SW trigger enabled) with triangle wave generation . . 440 Figure 72. DCMI block diagram . . . 456 Figure 73. Top-level block diagram . . . 457 Figure 74. DCMI signal waveforms . . . 458 Figure 75. Timing diagram . . 460 Figure 76. Frame capture waveforms in Snapshot mode . 462 Figure 77. Frame capture waveforms in continuous grab mode . . 463 Figure 78. Coordinates and size of the window after cropping . 464 Figure 79. Data capture waveforms. . . 464 Figure 80. Pixel raster scan order . . 465 Figure 81. LTDC block diagram . . . 481 Figure 82. LCD-TFT Synchronous timings . 484 Figure 83. Layer window programmable parameters: . . 487 Figure 84. Blending two layers with background . . 490 Figure 85. Interrupt events. . 491 Figure 86. Advanced-control timer block diagram . . . 517 Figure 87. Counter timing diagram with prescaler division change from 1 to 2 . . 519 Figure 88. Counter timing diagram with prescaler division change from 1 to 4 . . . 519 Figure 89. Counter timing diagram, internal clock divided by 1 . . 520 Figure 90. Counter timing diagram, internal clock divided by 2 . . 521 Figure 91. Counter timing diagram, internal clock divided by 4 . . . 521 Figure 92. Counter timing diagram, internal clock divided by N. . . 521 Figure 93. Counter timing diagram, update event when ARPE=0 (TIMx\_ARR not preloaded) . . . . . 522 Figure 94. Counter timing diagram, update event when ARPE=1 (TIMx\_ARR preloaded) . . . . . . . . 522 Figure 95. Counter timing diagram, internal clock divided by 1 . . 524 Figure 96. Counter timing diagram, internal clock divided by 2 . . . 524 Figure 97. Counter timing diagram, internal clock divided by 4 . . . 525 Figure 98. Counter timing diagram, internal clock divided by N. . . 525 Figure 99. Counter timing diagram, update event when repetition counter is not used. . . 526 Figure 100. Counter timing diagram, internal clock divided by 1, TIMx\_ARR = 0x6 . 527 Figure 101. Counter timing diagram, internal clock divided by 2 . . . 527 Figure 102. Counter timing diagram, internal clock divided by 4, TIMx\_ARR=0x36 . 528 Figure 103. Counter timing diagram, internal clock divided by N. . . 528 Figure 104. Counter timing diagram, update event with ARPE=1 (counter underflow) . . . 529 Figure 105. Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . 529 Figure 106. Update rate examples depending on mode and TIMx\_RCR register settings . . . 531 Figure 107. Control circuit in normal mode, internal clock divided by 1. . 532 Figure 108. TI2 external clock connection example. . . 533 Figure 109. Control circuit in external clock mode 1 . . 534 Figure 110. External trigger input block . . 534 Figure 111. Control circuit in external clock mode 2 . . 535 Figure 112. Capture/compare channel (example: channel 1 input stage) . . 536 Figure 113. Capture/compare channel 1 main circuit . 536 Figure 114. Output stage of capture/compare channel (channel 1 to 3) . . 537 Figure 115. Output stage of capture/compare channel (channel 4). . . . 537 Figure 116. PWM input mode timing . . . 539 Figure 117. Output compare mode, toggle on OC1. . 541 Figure 118. Edge-aligned PWM waveforms (ARR=8) . . 542 Figure 119. Center-aligned PWM waveforms (ARR=8) . . 543 Figure 120. Complementary output with dead-time insertion. . . 545 Figure 121. Dead-time waveforms with delay greater than the negative pulse. . 545 Figure 122. Dead-time waveforms with delay greater than the positive pulse. . . 545 Figure 123. Output behavior in response to a break.. . 548 Figure 124. Clearing TIMx OCxREF . 549 Figure 125. 6-step generation, COM example (OSSR=1) . . . 550 Figure 126. Example of one pulse mode. . 551 Figure 127. Example of counter operation in encoder interface mode. . . 554 Figure 128. Example of encoder interface mode with TI1FP1 polarity inverted. . . 554 Figure 129. Example of Hall sensor interface . 556 Figure 130. Control circuit in reset mode . . . 557 Figure 131. Control circuit in gated mode . 558 Figure 132. Control circuit in trigger mode . . . 559 Figure 133. Control circuit in external clock mode 2 + trigger mode . . 560 Figure 134. General-purpose timer block diagram . 590 Figure 135. Counter timing diagram with prescaler division change from 1 to 2 . . 592 Figure 136. Counter timing diagram with prescaler division change from 1 to 4 . . . 592 Figure 137. Counter timing diagram, internal clock divided by 1 . . 593 Figure 138. Counter timing diagram, internal clock divided by 2 . . 593 Figure 139. Counter timing diagram, internal clock divided by 4 . . . 594 Figure 140. Counter timing diagram, internal clock divided by N. . . 594 Figure 141. Counter timing diagram, Update event when ARPE=0 (TIMx\_ARR not preloaded). . . . . 595 Figure 142. Counter timing diagram, Update event when ARPE=1 (TIMx\_ARR preloaded). . . . . . . . 595 Figure 143. Counter timing diagram, internal clock divided by 1 . . 596 Figure 144. Counter timing diagram, internal clock divided by 2 . . 597 Figure 145. Counter timing diagram, internal clock divided by 4 . . . 597 Figure 146. Counter timing diagram, internal clock divided by N. . 597 Figure 147. Counter timing diagram, Update event . . 598 Figure 148. Counter timing diagram, internal clock divided by 1, TIMx\_ARR=0x6 . . 599 Figure 149. Counter timing diagram, internal clock divided by 2 . . 599 Figure 150. Counter timing diagram, internal clock divided by 4, TIMx\_ARR=0x36 . . 600 Figure 151. Counter timing diagram, internal clock divided by N. . . 600 Figure 152. Counter timing diagram, Update event with ARPE=1 (counter underflow). . . 601 Figure 153. Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . 601 Figure 154. Control circuit in normal mode, internal clock divided by 1. . . 602 Figure 155. TI2 external clock connection example. . . 603 Figure 156. Control circuit in external clock mode 1 . . 604 Figure 157. External trigger input block . . . 604 Figure 158. Control circuit in external clock mode 2 . . 605 Figure 159. Capture/compare channel (example: channel 1 input stage) . . 605 Figure 160. Capture/compare channel 1 main circuit . 606 Figure 161. Output stage of capture/compare channel (channel 1). . . 606 Figure 162. PWM input mode timing . . 608 Figure 163. Output compare mode, toggle on OC1. . 610 Figure 164. Edge-aligned PWM waveforms (ARR=8) . . 611 Figure 165. Center-aligned PWM waveforms (ARR=8) . . 612 Figure 166. Example of one-pulse mode . . . 613 Figure 167. Clearing TIMx OCxREF . 615 Figure 168. Example of counter operation in encoder interface mode . 617 Figure 169. Example of encoder interface mode with TI1FP1 polarity inverted . 617 Figure 170. Control circuit in reset mode . . 618 Figure 171. Control circuit in gated mode . 619 Figure 172. Control circuit in trigger mode . . . . 620 Figure 173. Control circuit in external clock mode 2 + trigger mode . . 621 Figure 174. Master/Slave timer example . . 621 Figure 175. Gating timer 2 with OC1REF of timer 1 622 Figure 176. Gating timer 2 with Enable of timer 1 . . 623 Figure 177. Triggering timer 2 with update of timer 1 . 624 Figure 178. Triggering timer 2 with Enable of timer 1 . 625 Figure 179. Triggering timer 1 and 2 with timer 1 TI1 input . . 626 Figure 180. General-purpose timer block diagram (TIM9 and TIM12) . 651 Figure 181. General-purpose timer block diagram (TIM10/11/13/14) . 652 Figure 182. Counter timing diagram with prescaler division change from 1 to 2 . . 654 Figure 183. Counter timing diagram with prescaler division change from 1 to 4 . . 654 Figure 184. Counter timing diagram, internal clock divided by 1 . . 655 Figure 185. Counter timing diagram, internal clock divided by 2 . . 656 Figure 186. Counter timing diagram, internal clock divided by 4 . . 656 Figure 187. Counter timing diagram, internal clock divided by N. . . 656 Figure 188. Counter timing diagram, update event when ARPE=0 (TIMx\_ARR not preloaded) . . . . . 657 Figure 189. Counter timing diagram, update event when ARPE=1 (TIMx\_ARR preloaded) . . . . . . . . 657 Figure 190. Control circuit in normal mode, internal clock divided by 1. . 658 Figure 191. TI2 external clock connection example. . . 659 Figure 192. Control circuit in external clock mode 1 . . 659 Figure 193. Capture/compare channel (example: channel 1 input stage) . . 660 Figure 194. Capture/compare channel 1 main circuit . 661 Figure 195. Output stage of capture/compare channel (channel 1). . . 661 Figure 196. PWM input mode timing . 663 Figure 197. Output compare mode, toggle on OC1. . 665 Figure 198. Edge-aligned PWM waveforms (ARR=8) . . 666 Figure 199. Example of one pulse mode. . 667 Figure 200. Control circuit in reset mode . . . 669 Figure 201. Control circuit in gated mode . 670 Figure 202. Control circuit in trigger mode . . . 670 Figure 203. Basic timer block diagram. . . . 696 Figure 204. Counter timing diagram with prescaler division change from 1 to 2 . . 698 Figure 205. Counter timing diagram with prescaler division change from 1 to 4 . . 698 Figure 206. Counter timing diagram, internal clock divided by 1 . . 699 Figure 207. Counter timing diagram, internal clock divided by 2 . . 700 Figure 208. Counter timing diagram, internal clock divided by 4 . . 700 Figure 209. Counter timing diagram, internal clock divided by N. . . 700 Figure 210. Counter timing diagram, update event when ARPE=0 (TIMx\_ARR not preloaded). . 701 Figure 211. Counter timing diagram, update event when ARPE=1 (TIMx\_ARR preloaded). . 701 Figure 212. Control circuit in normal mode, internal clock divided by 1. . . 702 Figure 213. Independent watchdog block diagram . . 709 Figure 214. Watchdog block diagram . 714 Figure 215. Window watchdog timing diagram . . 715 Figure 216. Block diagram (STM32F415/417xx) . 722 Figure 217. Block diagram (STM32F43xxx) . 723 Figure 218. DES/TDES-ECB mode encryption . . . 725 Figure 219. DES/TDES-ECB mode decryption . . . 725 Figure 220. DES/TDES-CBC mode encryption . . 727 Figure 221. DES/TDES-CBC mode decryption . . . 728 Figure 222. AES-ECB mode encryption . 729 Figure 223. AES-ECB mode decryption . 730 Figure 224. AES-CBC mode encryption . 731 Figure 225. AES-CBC mode decryption . 732 Figure 226. AES-CTR mode encryption . 733 Figure 227. AES-CTR mode decryption . 734 Figure 228. Initial counter block structure for the Counter mode . . . 734 Figure 229. 64-bit block construction according to DATATYPE . 741 Figure 230. Initialization vectors use in the TDES-CBC encryption. . . 743 Figure 231. CRYP interrupt mapping diagram. . . . 748 Figure 232. Block diagram . . . 767 Figure 233. Block diagram for STM32F415/417xx . 773 Figure 234. Block diagram for STM32F43xxx . . 774 Figure 235. Bit, byte and half-word swapping . 776 Figure 236. HASH interrupt mapping diagram. . . . 782 Figure 237. RTC block diagram . 800 Figure 238. I2C bus protocol . . 841 Figure 239. I2C block diagram for STM32F40x/41x . 842 Figure 240. I2C block diagram for STM32F42x/43x . 843 Figure 241. Transfer sequence diagram for slave transmitter . . 845 Figure 242. Transfer sequence diagram for slave receiver . . . 846 Figure 243. Transfer sequence diagram for master transmitter. . . 849 Figure 244. Transfer sequence diagram for master receiver . 850 Figure 245. I2C interrupt mapping diagram . 859 Figure 246. SPI block diagram. . . . 876 Figure 247. Single master/ single slave application. . . 877 Figure 248. Data clock timing diagram . 879 Figure 249. TI mode - Slave mode, single transfer . . 881 Figure 250. TI mode - Slave mode, continuous transfer . . 882 Figure 251. TI mode - master mode, single transfer . . 883 Figure 252. TI mode - master mode, continuous transfer . . 884 Figure 253. TXE/RXNE/BSY behavior in Master / full-duplex mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . 887 Figure 254. TXE/RXNE/BSY behavior in Slave / full-duplex mode (BIDIMODE=0, RXONLY=0) in case of continuous transfers 888 Figure 255. TXE/BSY behavior in Master transmit-only mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . 889 Figure 256. TXE/BSY in Slave transmit-only mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . 889 Figure 257. RXNE behavior in receive-only mode (BIDIRMODE=0 and RXONLY=1) in case of continuous transfers . 890 Figure 258. TXE/BSY behavior when transmitting (BIDIRMODE=0 and RXONLY=0) in case of discontinuous transfers 891 Figure 259. Transmission using DMA . . 896 Figure 260. Reception using DMA . . 896 Figure 261. TI mode frame format error detection . . . 898 Figure 262. I2S block diagram . . 899 Figure 263. I2S full duplex block diagram . 900 Figure 264. I2S Philips protocol waveforms (16/32-bit full accuracy, ${ \mathsf { C P O L } } = 0 )$ . . . 902 Figure 265. I2S Philips standard waveforms (24-bit frame with CPOL = 0) . . . 902 Figure 266. Transmitting 0x8EAA33 . 902 Figure 267. Receiving 0x8EAA33 . 903 Figure 268. I2S Philips standard (16-bit extended to 32-bit packet frame with ${ \mathsf { C P O L } } = 0 )$ . . . . . . . . . 903 Figure 269. Example . . 903 Figure 270. MSB justified 16-bit or 32-bit full-accuracy length with CPOL = 0 . 904 Figure 271. MSB justified 24-bit frame length with CPOL = 0 . . 904 Figure 272. MSB justified 16-bit extended to 32-bit packet frame with CPOL = 0 . . 904 Figure 273. LSB justified 16-bit or 32-bit full-accuracy with CPOL = 0 . 905 Figure 274. LSB justified 24-bit frame length with CPOL = 0. . . 905 Figure 275. Operations required to transmit 0x3478AE. . . 905 Figure 276. Operations required to receive 0x3478AE . . 906 Figure 277. LSB justified 16-bit extended to 32-bit packet frame with CPOL = 0 . . 906 Figure 278. Example of LSB justified 16-bit extended to 32-bit packet frame . . . 906 Figure 279. PCM standard waveforms (16-bit) . 907 Figure 280. PCM standard waveforms (16-bit extended to 32-bit packet frame). . . 907 Figure 281. Audio sampling frequency definition . . . . 908 Figure 282. I2S clock generator architecture . . . 908 Figure 283. Functional block diagram . . 928 Figure 284. Audio frame . 930 Figure 285. FS role is start of frame + channel side identification $( \mathsf { F S D E F } = \mathsf { T R I S } = 1 )$ . . . 933 Figure 286. FS role is start of frame (FSDEF = 0) . . 933 Figure 287. Slot size configuration with FBOFF = 0 in SAI\_xSLOTR . . 934 Figure 288. First bit offset 934 Figure 289. Audio block clock generator overview . 935 Figure 290. AC’97 audio frame . 939 Figure 291. Data companding hardware in an audio block in the SAI . . 941 Figure 292. Tristate strategy on SD output line on an inactive slot . . . 943 Figure 293. Tristate on output data line in a protocol like I2S . 944 Figure 294. Overrun detection error. . . 945 Figure 295. FIFO underrun event . 946 Figure 296. USART block diagram . . 968 Figure 297. Word length programming . 969 Figure 298. Configurable stop bits . . . 971 Figure 299. TC/TXE behavior when transmitting . . . . 972 Figure 300. Start bit detection when oversampling by 16 or 8. . . 973 Figure 301. Data sampling when oversampling by 16 . . 976 Figure 302. Data sampling when oversampling by 8 . . . 977 Figure 303. Mute mode using Idle line detection . . . 990 Figure 304. Mute mode using address mark detection . . . 990 Figure 305. Break detection in LIN mode (11-bit break length - LBDL bit is set). . . 993 Figure 306. Break detection in LIN mode vs. Framing error detection. . . . 994 Figure 307. USART example of synchronous transmission. . . 995 Figure 308. USART data clock timing diagram (M=0) . . 995 Figure 309. USART data clock timing diagram (M=1) . . 996 Figure 310. RX data setup/hold time . . . 996 Figure 311. ISO 7816-3 asynchronous protocol . 997 Figure 312. Parity error detection using the 1.5 stop bits . 998 Figure 313. IrDA SIR ENDEC- block diagram . . 1000 Figure 314. IrDA data modulation (3/16) -Normal mode . . 1000 Figure 315. Transmission using DMA . . 1002 Figure 316. Reception using DMA . . 1003 Figure 317. Hardware flow control between 2 USARTs . 1003 Figure 318. RTS flow control . . 1004 Figure 319. CTS flow control . . 1005 Figure 320. USART interrupt mapping diagram . 1006 Figure 321. SDIO “no response” and “no data” operations . . . 1020 Figure 322. SDIO (multiple) block read operation . . 1020 Figure 323. SDIO (multiple) block write operation . . . 1021 Figure 324. SDIO sequential read operation . . 1021 Figure 325. SDIO sequential write operation . . . 1021 Figure 326. SDIO block diagram . . . 1022 Figure 327. SDIO adapter . . 1023 Figure 328. Control unit . . . 1024 Figure 329. SDIO adapter command path . . 1025 Figure 330. Command path state machine (CPSM) . 1026 Figure 331. SDIO command transfer . . . 1027 Figure 332. Data path . 1029 Figure 333. Data path state machine (DPSM) . . 1030 Figure 334. CAN network topology . . 1077 Figure 335. Dual CAN block diagram . 1079 Figure 336. bxCAN operating modes. . . 1081 Figure 337. bxCAN in silent mode . . 1082 Figure 338. bxCAN in loop back mode . 1082 Figure 339. bxCAN in combined mode . 1083 Figure 340. Transmit mailbox states . 1085 Figure 341. Receive FIFO states . . . 1086 Figure 342. Filter bank scale configuration - register organization . 1088 Figure 343. Example of filter numbering . 1089 Figure 344. Filtering mechanism - Example . 1090 Figure 345. CAN error state diagram. . . 1092 Figure 346. Bit timing . . . 1094 Figure 347. CAN frames . 1095 Figure 348. Event flags and interrupt generation. . . . 1096 Figure 349. RX and TX mailboxes . . . 1107 Figure 350. ETH block diagram . . 1126 Figure 351. SMI interface signals . 1127 Figure 352. MDIO timing and frame structure - Write cycle . . . 1128 Figure 353. MDIO timing and frame structure - Read cycle. . . 1129 Figure 354. Media independent interface signals . 1129 Figure 355. MII clock sources . 1131 Figure 356. Reduced media-independent interface signals. . 1132 Figure 357. RMII clock sources . . 1132 Figure 358. Clock scheme . . 1133 Figure 359. Address field format . . 1135 Figure 360. MAC frame format . . 1136 Figure 361. Tagged MAC frame format . . . 1137 Figure 362. Transmission bit order . . . 1143 Figure 363. Transmission with no collision . 1143 Figure 364. Transmission with collision . . . 1144 Figure 365. Frame transmission in MMI and RMII modes . . 1144 Figure 366. Receive bit order. . . 1148 Figure 367. Reception with no error. . . 1149 Figure 368. Reception with errors . 1149 Figure 369. Reception with false carrier indication . 1149 Figure 370. MAC core interrupt masking scheme . . 1150 Figure 371. Wakeup frame filter register . . 1154 Figure 372. Networked time synchronization. . . 1158 Figure 373. System time update using the Fine correction method. . . 1160 Figure 374. PTP trigger output to TIM2 ITR1 connection . 1162 Figure 375. PPS output . . . 1163 Figure 376. Descriptor ring and chain structure. . . 1164 Figure 377. TxDMA operation in Default mode . . 1168 Figure 378. TxDMA operation in OSF mode . . 1170 Figure 379. Normal transmit descriptor . . . 1171 Figure 380. Enhanced transmit descriptor . . . 1177 Figure 381. Receive DMA operation . 1179 Figure 382. Normal Rx DMA descriptor structure . 1181 Figure 383. Enhanced receive descriptor field format with IEEE1588 time stamp enabled. . . . . . . . 1187 Figure 384. Interrupt scheme. . . 1190 Figure 385. Ethernet MAC remote wakeup frame filter register (ETH\_MACRWUFFR). . . 1200 Figure 386. OTG full-speed block diagram . . . 1243 Figure 387. OTG A-B device connection . . 1245 Figure 388. USB peripheral-only connection . . . 1247 Figure 389. USB host-only connection . 1251 Figure 390. SOF connectivity. . . 1255 Figure 391. Updating OTG\_FS\_HFIR dynamically 1258 Figure 392. Device-mode FIFO address mapping and AHB FIFO access mapping . . 1259 Figure 393. Host-mode FIFO address mapping and AHB FIFO access mapping. . . . 1260 Figure 394. Interrupt hierarchy. . 1264 Figure 395. CSR memory map . 1266 Figure 396. Transmit FIFO write task . 1338 Figure 397. Receive FIFO read task . . 1339 Figure 398. Normal bulk/control OUT/SETUP and bulk/control IN transactions . . 1340 Figure 399. Bulk/control IN transactions . 1343 Figure 400. Normal interrupt OUT/IN transactions . 1345 Figure 401. Normal isochronous OUT/IN transactions . . 1350 Figure 402. Receive FIFO packet read . 1356 Figure 403. Processing a SETUP packet . 1358 Figure 404. Bulk OUT transaction . . 1365 Figure 405. TRDT max timing case . . 1374 Figure 406. A-device SRP . . 1375 Figure 407. B-device SRP . . 1376 Figure 408. A-device HNP . . 1377 Figure 409. B-device HNP . . 1379 Figure 410. USB OTG interface block diagram . . 1384 Figure 411. USB host-only connection . 1391 Figure 412. SOF trigger output to TIM2 ITR1 connection . . 1396 Figure 413. Updating OTG\_HS\_HFIR dynamically . . 1398 Figure 414. Interrupt hierarchy. . . . 1401 Figure 415. CSR memory map . 1403 Figure 416. Transmit FIFO write task . 1492 Figure 417. Receive FIFO read task . . 1493 Figure 418. Normal bulk/control OUT/SETUP and bulk/control IN transactions - DMA mode. 1494 Figure 419. Normal bulk/control OUT/SETUP and bulk/control IN transactions - Slave mode. 1495 Figure 420. Bulk/control IN transactions - DMA mode. . . 1498 Figure 421. Bulk/control IN transactions - Slave mode . . 1499 Figure 422. Normal interrupt OUT/IN transactions - DMA mode . . 1501 Figure 423. Normal interrupt OUT/IN transactions - Slave mode . 1502 Figure 424. Normal isochronous OUT/IN transactions - DMA mode . . . 1507 Figure 425. Normal isochronous OUT/IN transactions - Slave mode . . 1508 Figure 426. Receive FIFO packet read in slave mode. . . 1519 Figure 427. Processing a SETUP packet . 1521 Figure 428. Slave mode bulk OUT transaction . . 1528 Figure 429. TRDT max timing case . . 1537 Figure 430. A-device SRP . . 1538 Figure 431. B-device SRP . . 1539 Figure 432. A-device HNP . . 1540 Figure 433. B-device HNP . . 1542 Figure 434. FSMC block diagram . 1545 Figure 435. FSMC memory banks . 1547 Figure 436. Mode1 read accesses. . . 1554 Figure 437. Mode1 write accesses . 1555 Figure 438. ModeA read accesses . 1556 Figure 439. ModeA write accesses . 1557 Figure 440. Mode2 and mode B read accesses . 1559 Figure 441. Mode2 write accesses . 1559 Figure 442. Mode B write accesses. . 1560 Figure 443. Mode C read accesses . 1562 Figure 444. Mode C write accesses . 1562 Figure 445. Mode D read accesses . . 1564 Figure 446. Mode D write accesses. . 1565 Figure 447. Multiplexed read accesses . . 1567 Figure 448. Multiplexed write accesses . . 1567 Figure 449. Asynchronous wait during a read access . 1570 Figure 450. Asynchronous wait during a write access. . . 1570 Figure 451. Wait configurations . . 1572 Figure 452. Synchronous multiplexed read mode - NOR, PSRAM (CRAM) . . 1573 Figure 453. Synchronous multiplexed write mode - PSRAM (CRAM) . . 1575 Figure 454. NAND/PC Card controller timing for common memory access . 1588 Figure 455. Access to non ‘CE don’t care’ NAND-Flash . . 1589 Figure 456. FMC block diagram. . . . 1604 Figure 457. FMC memory banks . 1607 Figure 458. Mode1 read access waveforms . 1618 Figure 459. Mode1 write access waveforms . . 1618 Figure 460. ModeA read access waveforms . . 1620 Figure 461. ModeA write access waveforms . . . 1621 Figure 462. Mode2 and mode B read access waveforms . . 1623 Figure 463. Mode2 write access waveforms . . . 1623 Figure 464. ModeB write access waveforms . . . 1624 Figure 465. ModeC read access waveforms . . 1626 Figure 466. ModeC write access waveforms . . . 1626 Figure 467. ModeD read access waveforms . . 1628 Figure 468. ModeD write access waveforms . . . 1629 Figure 469. Muxed read access waveforms . 1631 Figure 470. Muxed write access waveforms . . 1631 Figure 471. Asynchronous wait during a read access waveforms. . 1633 Figure 472. Asynchronous wait during a write access waveforms. . . 1634 Figure 473. Wait configuration waveforms. . . . 1636 Figure 474. Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM) . . . . 1636 Figure 475. Synchronous multiplexed write mode waveforms - PSRAM (CRAM). . 1638 Figure 476. NAND Flash/PC Card controller waveforms for common memory access. . . . 1651 Figure 477. Access to non ‘CE don’t care’ NAND-Flash . . 1652 Figure 478. Burst write SDRAM access waveforms . 1665 Figure 479. Burst read SDRAM access . . 1666 Figure 480. Logic diagram of Read access with RBURST bit set (CAS=2, RPIPE=0) . . 1667 Figure 481. Read access crossing row boundary . . 1669 Figure 482. Write access crossing row boundary . 1669 Figure 483. Self-refresh mode . . . 1672 Figure 484. Power-down mode . . 1673 Figure 485. Block diagram of STM32 MCU and Cortex®-M4 with FPU-level debug support . . . . . . 1683 Figure 486. SWJ debug port . . 1685 Figure 487. JTAG TAP connections . 1689 Figure 488. TPIU block diagram . 1707 ## 1 Documentation conventions The STM32F401xx devices have an Arm®(a) Cortex®-M4 with FPU. arm ## 1.1 List of abbreviations for registers The following abbreviations are used in register descriptions:
| read/write (rw) | Software can read and write to these bits. |
| read-only (r) | Software can only read these bits. |
| write-only (w) | Software can only write to this bit. Reading the bit returns the reset value. |
| read/clear (rc_w1) | Software can read as well as clear this bit by writing 1. Writing ‘0’ has no effect on the bit value. |
| read/clear (rc_w0) | Software can read as well as clear this bit by writing 0. Writing ‘1’ has no effect on the bit value. |
| read/clear by read (rc_r) | Software can read this bit. Reading this bit automatically clears it to ‘0’. Writing ‘0’ has no effect on the bit value. |
| read/set (rs) | Software can read as well as set this bit. Writing ‘0’ has no effect on the bit value. |
| read-only write trigger (rt_w) | Software can read this bit. Writing ‘0’ or ‘1’ triggers an event but has no effect on the bit value. |
| toggle (t) | Software can only toggle this bit by writing ‘1’. Writing ‘0’ has no effect. |
| Reserved (Res.) | Reserved bit, must be kept at reset value. |
| Boundary address | Peripheral | Bus | Register map |
| 0xA000 0000 - 0xA000 0FFF | FSMC control register (STM32F405xx/07xx and STM32F415xx/17xx)/ FMC control register (STM32F42xxx and STM32F43xxx) | AHB3 | Section 36.6.9: FSMC register map on page 1600Section 37.8: FMC register map on page 1680 |
| 0x5006 0800 - 0x5006 0BFF | RNG | AHB2 | Section 24.4.4: RNG register map on page 771 |
| 0x5006 0400 - 0x5006 07FF | HASH | Section 25.4.9: HASH register map on page 795 | |
| 0x5006 0000 - 0x5006 03FF | CRYP | Section 23.6.13: CRYP register map on page 763 | |
| 0x5005 0000 - 0x5005 03FF | DCMI | Section 15.8.12: DCMI register map on page 478 | |
| 0x5000 0000 - 0x5003 FFFF | USB OTG FS | Section 34.16.6: OTG_FS register map on page 1326 | |
| 0x4004 0000 - 0x4007 FFFF | USB OTG HS | AHB1 | Section 35.12.6: OTG_HS register map on page 1472 |
| 0x4002 B000 - 0x4002 BBFF | DMA2D | Section 11.5: DMA2D registers on page 352 | |
| 0x4002 8000 - 0x4002 93FF | ETHERNET MAC | Section 33.8.5: Ethernet register maps on page 1236 | |
| 0x4002 6400 - 0x4002 67FF | DMA2 | Section 10.5.11: DMA register map on page 335 | |
| 0x4002 6000 - 0x4002 63FF | DMA1 | ||
| 0x4002 4000 - 0x4002 4FFF | BKPSRAM | Section 3.9: Flash interface registers | |
| 0x4002 3C00 - 0x4002 3FFF | Flash interface register | ||
| 0x4002 3800 - 0x4002 3BFF | RCC | Section 7.3.24: RCC register map on page 265 | |
| 0x4002 3000 - 0x4002 33FF | CRC | Section 4.4.4: CRC register map on page 115 | |
| 0x4002 2800 - 0x4002 2BFF | GPIOK | Section 8.4.11: GPIO register map on page 287 | |
| 0x4002 2400 - 0x4002 27FF | GPIOJ | ||
| 0x4002 2000 - 0x4002 23FF | GPIOI | Section 8.4.11: GPIO register map on page 287 | |
| 0x4002 1C00 - 0x4002 1FFF | GPIOH | ||
| 0x4002 1800 - 0x4002 1BFF | GPIOG | ||
| 0x4002 1400 - 0x4002 17FF | GPIOF | ||
| 0x4002 1000 - 0x4002 13FF | GPIOE | ||
| 0x4002 0C00 - 0x4002 0FFF | GPIOD | ||
| 0x4002 0800 - 0x4002 0BFF | GPIOC | ||
| 0x4002 0400 - 0x4002 07FF | GPIOB | ||
| 0x4002 0000 - 0x4002 03FF | GPIOA | ||
| 0x4001 6800 - 0x4001 6BFF | LCD-TFT | APB2 | Section 16.7.26: LTDC register map on page 512 |
| 0x4001 5800 - 0x4001 5BFF | SAI1 | Section 29.17.9: SAI register map on page 963 | |
| 0x4001 5400 - 0x4001 57FF | SPI6 | APB2 | Section 28.5.10: SPI register map on page 925 |
| 0x4001 5000 - 0x4001 53FF | SPI5 | ||
| 0x4001 4800 - 0x4001 4BFF | TIM11 | APB2 | Section 19.5.12: TIM10/11/13/14 register map on page 694 |
| 0x4001 4400 - 0x4001 47FF | TIM10 | ||
| 0x4001 4000 - 0x4001 43FF | TIM9 | Section 19.4.13: TIM9/12 register map on page 684 | |
| 0x4001 3C00 - 0x4001 3FFF | EXTI | Section 12.3.7: EXTI register map on page 387 | |
| 0x4001 3800 - 0x4001 3BFF | SYSCFG | Section 9.2.8: SYSCFG register maps for STM32F405xx/07xx and STM32F415xx/17xx on page 294 and Section 9.3.8: SYSCFG register maps for STM32F42xxx and STM32F43xxx on page 301 | |
| 0x4001 3400 - 0x4001 37FF | SPI4 | APB2 | Section 28.5.10: SPI register map on page 925 |
| 0x4001 3000 - 0x4001 33FF | SPI1 | APB2 | Section 28.5.10: SPI register map on page 925 |
| 0x4001 2C00 - 0x4001 2FFF | SDIO | Section 31.9.16: SDIO register map on page 1074 | |
| 0x4001 2000 - 0x4001 23FF | ADC1 - ADC2 - ADC3 | Section 13.13.18: ADC register map on page 430 | |
| 0x4001 1400 - 0x4001 17FF | USART6 | Section 30.6.8: USART register map on page 1018 | |
| 0x4001 1000 - 0x4001 13FF | USART1 | ||
| 0x4001 0400 - 0x4001 07FF | TIM8 | Section 17.4.21: TIM1 and TIM8 register map on page 587 | |
| 0x4001 0000 - 0x4001 03FF | TIM1 | ||
| 0x4000 7C00 - 0x4000 7FFF | UART8 | APB1 | Section 30.6.8: USART register map on page 1018 |
| 0x4000 7800 - 0x4000 7BFF | UART7 | ||
| 0x4000 7400 - 0x4000 77FF | DAC | APB1 | Section 14.5.15: DAC register map on page 453 |
| 0x4000 7000 - 0x4000 73FF | PWR | Section 5.6: PWR register map on page 149 | |
| 0x4000 6800 - 0x4000 6BFF | CAN2 | Section 32.9.5: bxCAN register map on page 1118 | |
| 0x4000 6400 - 0x4000 67FF | CAN1 | ||
| 0x4000 5C00 - 0x4000 5FFF | I2C3 | Section 27.6.11: I2C register map on page 872 | |
| 0x4000 5800 - 0x4000 5BFF | I2C2 | ||
| 0x4000 5400 - 0x4000 57FF | I2C1 | ||
| 0x4000 5000 - 0x4000 53FF | UART5 | Section 30.6.8: USART register map on page 1018 | |
| 0x4000 4C00 - 0x4000 4FFF | UART4 | ||
| 0x4000 4800 - 0x4000 4BFF | USART3 | ||
| 0x4000 4400 - 0x4000 47FF | USART2 | ||
| 0x4000 4000 - 0x4000 43FF | I2S3ext | Section 28.5.10: SPI register map on page 925 | |
| 0x4000 3C00 - 0x4000 3FFF | SPI3 / I2S3 | ||
| 0x4000 3800 - 0x4000 3BFF | SPI2 / I2S2 | ||
| 0x4000 3400 - 0x4000 37FF | I2S2ext | ||
| 0x4000 3000 - 0x4000 33FF | IWDG | Section 21.4.5: IWDG register map on page 712 | |
| 0x4000 2C00 - 0x4000 2FFF | WWDG | Section 22.6.4: WWDG register map on page 719 | |
| 0x4000 2800 - 0x4000 2BFF | RTC & BKP Registers | Section 26.6.21: RTC register map on page 836 | |
| 0x4000 2000 - 0x4000 23FF | TIM14 | Section 19.5.12: TIM10/11/13/14 register map on page 694 | |
| 0x4000 1C00 - 0x4000 1FFF | TIM13 | ||
| 0x4000 1800 - 0x4000 1BFF | TIM12 | Section 19.4.13: TIM9/12 register map on page 684 | |
| 0x4000 1400 - 0x4000 17FF | TIM7 | Section 20.4.9: TIM6 and TIM7 register map on page 707 | |
| 0x4000 1000 - 0x4000 13FF | TIM6 | ||
| 0x4000 0C00 - 0x4000 0FFF | TIM5 | Section 18.4.21: TIMx register map on page 648 | |
| 0x4000 0800 - 0x4000 0BFF | TIM4 | ||
| 0x4000 0400 - 0x4000 07FF | TIM3 | ||
| 0x4000 0000 - 0x4000 03FF | TIM2 |
| Boot mode selection pins | Boot mode | Aliasing | |
| BOOT1 | BOOT0 | ||
| x | 0 | Main Flash memory | Main Flash memory is selected as the boot space |
| 0 | 1 | System memory | System memory is selected as the boot space |
| 1 | 1 | Embedded SRAM | Embedded SRAM is selected as the boot space |
| Addresses | Boot/Remap in main Flash memory | Boot/Remap in embedded SRAM | Boot/Remap in System memory | Remap in FSMC |
| 0x2001 C000 - 0x2001 FFFF | SRAM2 (16 KB) | SRAM2 (16 KB) | SRAM2 (16 KB) | SRAM2 (16 KB) |
| 0x2000 0000 - 0x2001 BFFF | SRAM1 (112 KB) | SRAM1 (112 KB) | SRAM1 (112 KB) | SRAM1 (112 KB) |
| 0x1FFF 0000 - 0x1FFF 77FF | System memory | System memory | System memory | System memory |
| 0x0810 0000 - 0x0FFF FFFF | Reserved | Reserved | Reserved | Reserved |
| 0x0800 0000 - 0x080F FFFF | Flash memory | Flash memory | Flash memory | Flash memory |
| 0x0400 0000 - 0x07FF FFFF | Reserved | Reserved | Reserved | FSMC bank 1 NOR/PSRAM 2 (128 MB Aliased) |
| 0x0000 0000 - 0x000F FFFF(1)(2) | Flash (1 MB) Aliased | SRAM1 (112 KB) Aliased | System memory (30 KB) Aliased | FSMC bank 1 NOR/PSRAM 1 (128 MB Aliased) |
| Addresses | Boot/Remap in main Flash memory | Boot/Remap in embedded SRAM | Boot/Remap in System memory | Remap in FMC |
| 0x2002 0000 - 0x2002 FFFF | SRAM3 (64 KB) | SRAM3 (64 KB) | SRAM3 (64 KB) | SRAM3 (64 KB) |
| 0x2001 C000 - 0x2001 FFFF | SRAM2 (16 KB) | SRAM2 (16 KB) | SRAM2 (16 KB) | SRAM2 (16 KB) |
| 0x2000 0000 - 0x2001 BFFF | SRAM1 (112 KB) | SRAM1 (112 KB) | SRAM1 (112 KB) | SRAM1 (112 KB) |
| 0x1FFF 0000 - 0x1FFF 77FF | System memory | System memory | System memory | System memory |
| 0x0810 0000 - 0x0FFF FFFF | Reserved | Reserved | Reserved | Reserved |
| 0x0800 0000 - 0x081F FFFF | Flash memory | Flash memory | Flash memory | Flash memory |
| 0x0400 0000 - 0x07FF FFFF | Reserved | Reserved | Reserved | FMC bank 1 NOR/PSRAM 2 (128 MB Aliased) |
| 0x0000 0000 - 0x001F FFFF(1)(2) | Flash (2 MB) Aliased | SRAM1 (112 KB) Aliased | System memory (30 KB) Aliased | FMC bank 1 NOR/PSRAM 1 (128 MB Aliased) or FMC SDRAM bank 1 (128 MB Aliased) |
| Block | Name | Block base addresses | Size |
| Main memory | Sector 0 | 0x0800 0000 - 0x0800 3FFF | 16 Kbytes |
| Sector 1 | 0x0800 4000 - 0x0800 7FFF | 16 Kbytes | |
| Sector 2 | 0x0800 8000 - 0x0800 BFFF | 16 Kbytes | |
| Sector 3 | 0x0800 C000 - 0x0800 FFFF | 16 Kbytes | |
| Sector 4 | 0x0801 0000 - 0x0801 FFFF | 64 Kbytes | |
| Sector 5 | 0x0802 0000 - 0x0803 FFFF | 128 Kbytes | |
| Sector 6 | 0x0804 0000 - 0x0805 FFFF | 128 Kbytes | |
| . | . | . | |
| . | . | . | |
| . | . | . | |
| Sector 11 | 0x080E 0000 - 0x080F FFFF | 128 Kbytes | |
| System memory | 0x1FFF 0000 - 0x1FFF 77FF | 30 Kbytes | |
| OTP area | 0x1FFF 7800 - 0x1FFF 7A0F | 528 bytes | |
| Option bytes | 0x1FFF C000 - 0x1FFF C00F | 16 bytes | |
| Block | Bank | Name | Block base addresses | Size |
| Main memory | Bank 1 | Sector 0 | 0x0800 0000 - 0x0800 3FFF | 16 Kbytes |
| Sector 1 | 0x0800 4000 - 0x0800 7FFF | 16 Kbytes | ||
| Sector 2 | 0x0800 8000 - 0x0800 BFFF | 16 Kbytes | ||
| Sector 3 | 0x0800 C000 - 0x0800 FFFF | 16 Kbyte | ||
| Sector 4 | 0x0801 0000 - 0x0801 FFFF | 64 Kbytes | ||
| Sector 5 | 0x0802 0000 - 0x0803 FFFF | 128 Kbytes | ||
| Sector 6 | 0x0804 0000 - 0x0805 FFFF | 128 Kbytes | ||
| - | - | - | ||
| - | - | - | ||
| - | - | - | ||
| Sector 11 | 0x080E 0000 - 0x080F FFFF | 128 Kbytes | ||
| Bank 2 | Sector 12 | 0x0810 0000 - 0x0810 3FFF | 16 Kbytes | |
| Sector 13 | 0x0810 4000 - 0x0810 7FFF | 16 Kbytes | ||
| Sector 14 | 0x0810 8000 - 0x0810 BFFF | 16 Kbytes | ||
| Sector 15 | 0x0810 C000 - 0x0810 FFFF | 16 Kbytes | ||
| Sector 16 | 0x0811 0000 - 0x0811 FFFF | 64 Kbytes | ||
| Sector 17 | 0x0812 0000 - 0x0813 FFFF | 128 Kbytes | ||
| Sector 18 | 0x0814 0000 - 0x0815 FFFF | 128 Kbytes | ||
| - | - | |||
| - | - | |||
| - | - | |||
| Sector 23 | 0x081E 0000 - 0x081F FFFF | 128 Kbytes | ||
| System memory | 0x1FFF 0000 - 0x1FFF 77FF | 30 Kbytes | ||
| OTP | 0x1FFF 7800 - 0x1FFF 7A0F | 528 bytes | ||
| Option bytes | Bank 1 | 0x1FFF C000 - 0x1FFF C00F | 16 bytes | |
| Bank 2 | 0x1FFE C000 - 0x1FFE C00F | 16 bytes | ||
| 1 Mbyte single bank Flash memory (default) | 1 Mbyte dual bank Flash memory | ||||
| DB1M=0 | DB1M=1 | ||||
| Main memory | Sector number | Sector size | Main memory | Sector number | Sector size |
| 1MB | Sector 0 | 16 Kbytes | Bank 1 512KB | Sector 0 | 16 Kbytes |
| Sector 1 | 16 Kbytes | Sector 1 | 16 Kbytes | ||
| Sector 2 | 16 Kbytes | Sector 2 | 16 Kbytes | ||
| Sector 3 | 16 Kbytes | Sector 3 | 16 Kbytes | ||
| Sector 4 | 64 Kbytes | Sector 4 | 64 Kbytes | ||
| Sector 5 | 128 Kbytes | Sector 5 | 128 Kbytes | ||
| Sector 6 | 128 Kbytes | Sector 6 | 128 Kbytes | ||
| Sector 7 | 128 Kbytes | Sector 7 | 128 Kbytes | ||
| Sector 8 | 128 Kbytes | Bank 2 512KB | Sector 12 | 16 Kbytes | |
| Sector 9 | 128 Kbytes | Sector 13 | 16 Kbytes | ||
| Sector 10 | 128 Kbytes | Sector 14 | 16 Kbytes | ||
| Sector 11 | 128 Kbytes | Sector 15 | 16 Kbytes | ||
| - | - | Sector 16 | 64 Kbytes | ||
| - | - | Sector 17 | 128 Kbytes | ||
| - | - | Sector 18 | 128 Kbytes | ||
| - | - | Sector 19 | 128 Kbytes | ||
| Block | Bank | Name | Block base addresses | Size |
| Main memory | Single bank | Sector 0 | 0x0800 0000 - 0x0800 3FFF | 16 Kbytes |
| Sector 1 | 0x0800 4000 - 0x0800 7FFF | 16 Kbytes | ||
| Sector 2 | 0x0800 8000 - 0x0800 BFFF | 16 Kbytes | ||
| Sector 3 | 0x0800 C000 - 0x0800 FFFF | 16 Kbytes | ||
| Sector 4 | 0x0801 0000 - 0x0801 FFFF | 64 Kbytes | ||
| Sector 5 | 0x0802 0000 - 0x0803 FFFF | 128 Kbytes | ||
| Sector 6 | 0x0804 0000 - 0x0805 FFFF | 128 Kbytes | ||
| Sector 7 | 0x0806 0000 - 0x0807 FFFF | 128 Kbytes | ||
| Sector 8 | 0x0808 0000 - 0x0809 FFFF | 128 Kbytes | ||
| Sector 9 | 0x080A 0000 - 0x080B FFFF | 128 Kbytes | ||
| Sector 10 | 0x080C 0000 - 0x080D FFFF | 128 Kbytes | ||
| Sector 11 | 0x080E 0000 - 0x080F FFFF | 128 Kbytes | ||
| System memory | 0x1FFF 0000 - 0x1FFFF 77FF | 30 Kbytes | ||
| OTP | 0x1FFF 7800 - 0x1FFF 7A0F | 528 bytes | ||
| Option bytes | 0x1FFF C000 - 0x1FFF C00F | 16 bytes | ||
| 0x1FFE C000 - 0x1FFE C00F | 16 bytes | |||
| Block | Name | Block base addresses | Size | |
| Main memory | Bank 1 | Sector 0 | 0x0800 0000 - 0x0800 3FFF | 16 Kbytes |
| Sector 1 | 0x0800 4000 - 0x0800 7FFF | 16 Kbytes | ||
| Sector 2 | 0x0800 8000 - 0x0800 BFFF | 16 Kbytes | ||
| Sector 3 | 0x0800 C000 - 0x0800 FFFF | 16 Kbyte | ||
| Sector 4 | 0x0801 0000 - 0x0801 FFFF | 64 Kbytes | ||
| Sector 5 | 0x0802 0000 - 0x0803 FFFF | 128 Kbytes | ||
| Sector 6 | 0x0804 0000 - 0x0805 FFFF | 128 Kbytes | ||
| Sector 7 | 0x0806 0000 - 0x0807 FFFF | 128 Kbytes | ||
| Bank 2 | Sector 12 | 0x0808 0000 - 0x0808 3FFF | 16 Kbytes | |
| Sector 13 | 0x0808 4000 - 0x0808 7FFF | 16 Kbytes | ||
| Sector 14 | 0x0808 0000 - 0x0808 BFFF | 16 Kbytes | ||
| Sector 15 | 0x0808 C000 - 0x0808 FFFF | 16 Kbytes | ||
| Sector 16 | 0x0809 0000 - 0x0809 FFFF | 64 Kbytes | ||
| Sector 17 | 0x080A 0000 - 0x080B FFFF | 128 Kbytes | ||
| Sector 18 | 0x080C 0000 - 0x080D FFFF | 128 Kbytes | ||
| Sector 19 | 0x080E 0000 - 0x080F FFFF | 128 Kbytes | ||
| System memory | 0x1FFF 0000 - 0x1FFF 77FF | 30 Kbytes | ||
| OTP | 0x1FFF 7800 - 0x1FFF 7A0F | 528 bytes | ||
| Option bytes | Bank 1 | 0x1FFF C000 - 0x1FFF C00F | 16 bytes | |
| Bank 2 | 0x1FFE C000 - 0x1FFE C00F | 16 bytes | ||
| Wait states (WS)(LATENCY) | HCLK (MHz) | |||
| Voltage range2.7 V - 3.6 V | Voltage range2.4 V - 2.7 V | Voltage range2.1 V - 2.4 V | Voltage range1.8 V - 2.1 VPrefetch OFF | |
| 0 WS (1 CPU cycle) | 0 < HCLK ≤30 | 0 < HCLK ≤24 | 0 < HCLK ≤22 | 0 < HCLK ≤20 |
| 1 WS (2 CPU cycles) | 30 < HCLK ≤60 | 24 < HCLK ≤48 | 22 < HCLK ≤44 | 20 < HCLK ≤40 |
| 2 WS (3 CPU cycles) | 60 < HCLK ≤90 | 48 < HCLK ≤72 | 44 < HCLK ≤66 | 40 < HCLK ≤60 |
| 3 WS (4 CPU cycles) | 90 < HCLK ≤120 | 72 < HCLK ≤96 | 66 < HCLK ≤88 | 60 < HCLK ≤80 |
| 4 WS (5 CPU cycles) | 120 < HCLK ≤150 | 96 < HCLK ≤120 | 88 < HCLK ≤110 | 80 < HCLK ≤100 |
| 5 WS (6 CPU cycles) | 150 < HCLK ≤168 | 120 < HCLK ≤144 | 110 < HCLK ≤132 | 100 < HCLK ≤120 |
| 6 WS (7 CPU cycles) | 144 < HCLK ≤168 | 132 < HCLK ≤154 | 120 < HCLK ≤140 | |
| 7 WS (8 CPU cycles) | 154 < HCLK ≤168 | 140 < HCLK ≤160 | ||
| Wait states (WS)(LATENCY) | HCLK (MHz) | |||
| Voltage range2.7 V - 3.6 V | Voltage range2.4 V - 2.7 V | Voltage range2.1 V - 2.4 V | Voltage range1.8 V - 2.1 VPrefetch OFF | |
| 0 WS (1 CPU cycle) | 0 < HCLK ≤30 | 0 < HCLK ≤24 | 0 < HCLK ≤22 | 0 < HCLK ≤20 |
| 1 WS (2 CPU cycles) | 30 < HCLK ≤60 | 24 < HCLK ≤48 | 22 < HCLK ≤44 | 20 < HCLK ≤40 |
| 2 WS (3 CPU cycles) | 60 < HCLK ≤90 | 48 < HCLK ≤72 | 44 < HCLK ≤66 | 40 < HCLK ≤60 |
| 3 WS (4 CPU cycles) | 90 < HCLK ≤120 | 72 < HCLK ≤96 | 66 < HCLK ≤88 | 60 < HCLK ≤80 |
| 4 WS (5 CPU cycles) | 120 < HCLK ≤150 | 96 < HCLK ≤120 | 88 < HCLK ≤110 | 80 < HCLK ≤100 |
| 5 WS (6 CPU cycles) | 150 < HCLK ≤180 | 120 < HCLK ≤144 | 110 < HCLK ≤132 | 100 < HCLK ≤120 |
| 6 WS (7 CPU cycles) | 144 < HCLK ≤168 | 132 < HCLK ≤154 | 120 < HCLK ≤140 | |
| 7 WS (8 CPU cycles) | 168 < HCLK ≤180 | 154 < HCLK ≤176 | 140 < HCLK ≤160 | |
| 8 WS (9 CPU cycles) | 176 < HCLK ≤180 | 160 < HCLK ≤168 | ||
| Voltage range 2.7 - 3.6 V with External VPP | Voltage range 2.7 - 3.6 V | Voltage range 2.4 - 2.7 V | Voltage range 2.1 - 2.4 V | Voltage range 1.8 V - 2.1 V | |
| Parallelism size | x64 | x32 | x16 | x8 | |
| PSIZE(1:0) | 11 | 10 | 01 | 00 | |
| Interrupt event | Event flag | Enable control bit |
| End of operation | EOP | EOPIE |
| Write protection error | WRPERR | ERRIE |
| Programming error | PGAERR, PGPERR, PGSERR | ERRIE |
| Read protection error | RDERR | ERRIE |
| Address | [63:16] | [15:0] |
| 0x1FFF C000 | Reserved | ROP & user option bytes (RDP & USER) |
| 0x1FFF C008 | Reserved | SPRMOD and Write protection nWRP bits for sectors 0 to 11 |
| 0x1FFE C000 | Reserved | Reserved |
| 0x1FFE C008 | Reserved | SPRMOD and Write protection nWRP bits for sectors 12 to 23 |
| Option bytes (word, address 0x1FFF C000) | |
| RDP: Read protection option byte.The read protection is used to protect the software code stored in Flash memory. | |
| Bits 15:8 | 0xAA: Level 0, no protection0xCC: Level 2, chip protection (debug and boot from RAM features disabled)Others: Level 1, read protection of memories (debug features limited) |
| USER: User option byteThis byte is used to configure the following features:- Select the watchdog event: Hardware or software- Reset event when entering the Stop mode- Reset event when entering the Standby mode | |
| Bit 7 | nRST_STDBY0: Reset generated when entering the Standby mode1: No reset generated |
| Bit 6 | nRST_STOP0: Reset generated when entering the Stop mode1: No reset generated |
| Bit 5 | WDG_SW0: Hardware independent watchdog1: Software independent watchdog |
| Bit 4 | 0x1: Not used |
| Bits 3:2 | BOR_LEV: BOR reset LevelThese bits contain the supply level threshold that activates/releases the reset.They can be written to program a new BOR level value into Flash memory.00: BOR Level 3 (VBOR3), brownout threshold level 301: BOR Level 2 (VBOR2), brownout threshold level 210: BOR Level 1 (VBOR1), brownout threshold level 111: BOR off, POR/PDR reset threshold level is appliedNote: For full details on BOR characteristics, refer to the “Electrical characteristics” section of the product datasheet. |
| Bits 1:0 | 0x1: Not used |
| Option bytes (word, address 0x1FFF C008) | |
| Bits 15:12 | 0xF: Not used |
| nWRP: Flash memory write protection option bytesSectors 0 to 11 can be write protected. | |
| Bits 11:0 | nWRPi0: Write protection active on selected sector1: Write protection not active on selected sector |
| Option bytes (word, address 0x1FFF C000) | |
| RDP: Read protection option byte.The read protection is used to protect the software code stored in Flash memory. | |
| Bit 15:8 | 0xAA: Level 0, no protection0xCC: Level 2, chip protection (debug and boot from RAM features disabled)Others: Level 1, read protection of memories (debug features limited) |
| USER: User option byteThis byte is used to configure the following features:Select the watchdog event: Hardware or softwareReset event when entering the Stop modeReset event when entering the Standby mode | |
| Bit 7 | nRST_STDBY0: Reset generated when entering the Standby mode1: No reset generated |
| Bit 6 | nRST_STOP0: Reset generated when entering the Stop mode1: No reset generated |
| Bit 5 | WDG_SW0: Hardware independent watchdog1: Software independent watchdog |
| Bit 4 | BFB2: Dual bank boot0: Boot from Flash memory bank 1 or system memory depending on boot pin state (Default).1: Boot always from system memory (Dual bank boot mode). |
| Bits 3:2 | BOR_LEV: BOR reset LevelThese bits contain the supply level threshold that activates/releases the reset.They can be written to program a new BOR level value into Flash memory.00: BOR Level 3 (VBOR3), brownout threshold level 301: BOR Level 2 (VBOR2), brownout threshold level 210: BOR Level 1 (VBOR1), brownout threshold level 111: BOR off, POR/PDR reset threshold level is appliedNote: For full details on BOR characteristics, refer to the “Electrical characteristics” section of the product datasheet. |
| Bits 1:0 | 0x1: Not used |
| Option bytes (word, address 0x1FFF C008) | |
| Bit 15 | SPRMOD: Selection of protection mode of nWPRi bits0: nWPRi bits used for sector i write protection (Default)1: nWPRi bits used for sector i PCROP protection (Sector) |
| Bit 14 | DB1M: Dual bank 1 Mbyte Flash memory devices0: 1 Mbyte single Flash memory (contiguous addresses in bank 1)1: 1 Mbyte dual bank Flash memory. The Flash memory is organized as two banks of 512 Kbytes each (see Table 7: 1 Mbyte Flash memory single bank vs dual bank organization (STM32F42xxx and STM32F43xxx) and Table 9: 1 Mbyte dual bank Flash memory organization (STM32F42xxx and STM32F43xxx)). To perform an erase operation, the right sector must be programmed (see Table 7 for information on the sector numbering scheme). |
| Bits 13:12 | 0x2: not used |
| nWRP: Flash memory write protection option bytes for bank 1. Sectors 0 to 11 can be write protected. | |
| Bits 11:0 | nWRPi:If SPRMOD is reset (default value):0: Write protection active on sector i.1: Write protection not active on sector i.If SPRMOD is set (active):0: PCROP protection not active on sector i.1: PCROP protection active on sector i. |
| Option bytes (word, address 0x1FFE C000) | |
| Bit 15:0 | 0xFFFF: not used |
| Option bytes (word, address 0x1FFE C008) | |
| Bit 15:12 | 0xF: not used |
| nWRP: Flash memory write protection option bytes for bank 2. Sectors 12 to 23 can be write protected. | |
| Bits 11: 0 | nWRPi:If SPRMOD is reset (default value):0: Write protection active on sector i.1: Write protection not active on sector i.If SPRMOD is set (active):0: PCROP protection not active on sector i.1: PCROP protection active on sector i. |
| Memory area | Protection Level | Debug features, Boot from RAM or from System memory bootloader | Booting from Flash memory | ||||
| Read | Write | Erase | Read | Write | Erase | ||
| Main Flash Memory and Backup SRAM | Level 1 | NO | NO(1) | YES | |||
| Level 2 | NO | YES | |||||
| Option Bytes | Level 1 | YES | YES | ||||
| Level 2 | NO | NO | |||||
| OTP | Level 1 | NO | NA | YES | NA | ||
| Level 2 | NO | NA | YES | NA | |||
| Block | [128:96] | [95:64] | [63:32] | [31:0] | Address byte 0 |
| 0 | OTP0 | OTP0 | OTP0 | OTP0 | 0x1FFF 7800 |
| OTP0 | OTP0 | OTP0 | OTP0 | 0x1FFF 7810 | |
| 1 | OTP1 | OTP1 | OTP1 | OTP1 | 0x1FFF 7820 |
| OTP1 | OTP1 | OTP1 | OTP1 | 0x1FFF 7830 | |
| ···· | ···· | ···· | |||
| 15 | OTP15 | OTP15 | OTP15 | OTP15 | 0x1FFF 79E0 |
| OTP15 | OTP15 | OTP15 | OTP15 | 0x1FFF 79F0 | |
| Lock block | LOCKB15 ... LOCKB12 | LOCKB11 ... LOCKB8 | LOCKB7 ... LOCKB4 | LOCKB3 ... LOCKB0 | 0x1FFF 7A00 |
| Reserved | ||||||||||||||
| Reserved | DCRST | ICRST | DCEN | ICEN | PRFTEN | Reserved | LATENCY[2:0] | |||||||
| rw | w | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | ||||||||||||||
| Reserved | DCRST | ICRST | DCEN | ICEN | PRFTEN | Reserved | LATENCY[3:0] | |||||||
| rw | w | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY[31:16] | |||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| KEY[15:0] | |||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| OPTKEYR[31:16 | |||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OPTKEYR[15:0] | |||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| Reserved | BSY | |||||||||||||
| r | ||||||||||||||
| Reserved | PGSERR | PGPERR | PGAERR | WRPERR | Reserved | OPERR | EOP | |||||||
| rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | |||||||||
| Reserved | BSY | |||||||||||||
| r | ||||||||||||||
| Reserved | RDERR | PGSERR | PGPERR | PGAERR | WRPERR | Reserved | OPERR | EOP | ||||||
| rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | ||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| LOCK | Reserved | ERRIE | EOPIE | Reserved | STRT | ||||||||||
| rs | rw | rw | rs | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | PSIZE[1:0] | Res. | SNB[3:0] | MER | SER | PG | |||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| LOCK | Reserved | ERRIE | EOPIE | Reserved | STRT | ||||||||||
| rs | rw | rw | rs | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MER1 | Reserved | PSIZE[1:0] | SNB[4:0] | MER | SER | PG | |||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 0000: sector 0 |
| 0001: sector 1 |
| ... |
| 01011: sector 11 |
| 01100: not allowed |
| 01101: not allowed |
| 01110: not allowed |
| 01111: not allowed |
| 10000: section 12 |
| 10001: section 13 |
| ... |
| 11011 sector 23 |
| 11100: not allowed |
| 11101: not allowed |
| 11110: not allowed |
| 11111: not allowed |
| Reserved | nWRP[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RDP[7:0] | nRST_STDBY | nRST_STOP | WDG_SW | Reserved | BOR_LEV | OPTST RT | OPTLO CK | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rs | rs | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SPR MOD | DB1M | Reserved | nWRP[11:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RDP[7:0] | nRST_STDBY | nRST_STOP | WDG_SW | BFB2 | BOR_LEV | OPTST RT | OPTLO CK | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rs | rs |
| Reserved | nWRP[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | |||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | FLASH_ACR | Reserved | DCRST | ICRST | DCEN | ICEN | PRFTEN | Reserved | LATENCY[2:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x04 | FLASH_KEYR | KEY[31:16] | KEY[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x08 | FLASH_OPTKEYR | OPTKEYR[31:16] | OPTKEYR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0C | FLASH_SR | Reserved | BSY | Reserved | PGSERR | PGPERR | PGAERR | WRPERR | Reserved | OPERR | EOP | ||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||
| 0x10 | FLASH_CR | LOCK | Reserved | EOPIE | Reserved | STRT | Reserved | PSIZE[1:0] | Reserved | SNB[3:0] | MER | SER | PG | ||||||||||||||||||||
| Reset value | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||
| 0x14 | FLASH_OPTCR | Reserved | nWRP[11:0] | RDP[7:0] | nRST_STDBY | nRST_STOP | WDG_SW | Reserved | BOR_LEV[1:0] | OPTSTRT | OPTLOCK | ||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | ||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | FLASH_ACR | Reserved | DCRST | ICRST | DCEN | ICEN | PRFTEN | Reserved | LATENCY[3:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 0x04 | FLASH_KEYR | KEY[31:16] | KEY[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x08 | FLASH_OPTKEYR | OPTKEYR[31:16] | OPTKEYR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0C | FLASH_SR | Reserved | BSY | Reserved | RDERR | PGSERR | PGPERR | PGAERR | WRPERR | Reserved | OPERR | EOP | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x10 | FLASH_CR | LOCK | Reserved | EOPIE | Reserved | STRT | MER1 | Reserved | PSIZE[1:0] | SNB[4:0] | MER | SER | PG | ||||||||||||||||||||
| Reset value | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 0x14 | FLASH_OPTCR | SPRMOD | DB1M | Reserved | nWRP[11:0] | RDP[7:0] | nRST_STDBY | nRST_STOP | WDG_SW | BFB2 | BOR_LEV[1:0] | OPTSTRT | OPTLOCK | ||||||||||||||||||||
| Reset value | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | |||
| 0x18 | FLASH_OPTCR1 | Reserved | nWRP[11:0] | Reserved | |||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DR [31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DR [15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | IDR[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | RESET | ||||||||||||||
| w | |||||||||||||||
| Offset | Register | 31-24 | 23-16 | 15-8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | CRC_DR | Data register | ||||||||||
| Reset value | 0xFFFF FFFF | |||||||||||
| 0x04 | CRC_IDR | Reserved | Independent data register | |||||||||
| Reset value | 0x00 | |||||||||||
| 0x08 | CRC_CR | Reserved | RESET | |||||||||
| Reset value | 0 | |||||||||||
| Warning: | During $t_{RSTTEMPO}$ (temporization at $V_{DD}$ startup) or after a PDR is detected, the power switch between $V_{BAT}$ and $V_{DD}$ remains connected to $V_{BAT}$ .During the startup phase, if $V_{DD}$ is established in less than $t_{RSTTEMPO}$ (Refer to the datasheet for the value of $t_{RSTTEMPO}$ ) and $V_{DD} > V_{BAT} + 0.6$ V, a current may be injected into $V_{BAT}$ through an internal diode connected between $V_{DD}$ and the power switch ( $V_{BAT}$ ).If the power supply/battery connected to the $V_{BAT}$ pin cannot support this current injection, it is strongly recommended to connect an external low-drop diode between this power supply and the $V_{BAT}$ pin. |
| Voltage regulator configuration | Run mode | Sleep mode | Stop mode | Standby mode |
| Normal mode | MR | MR | MR or LPR | - |
| Over-drive mode(2) | MR | MR | - | - |
| Under-drive mode | - | - | MR or LPR | - |
| Power-down mode | - | - | - | Yes |
| Mode name | Entry | Wakeup | Effect on 1.2 V domain clocks | Effect on VDD domain clocks | Voltage regulator |
| Sleep (Sleep now or Sleep-on-exit) | WFI or Return from ISR | Any interrupt | CPU CLK OFF no effect on other clocks or analog clock sources | None | ON |
| WFE | Wakeup event | ||||
| Stop | PDDS and LPDS bits + SLEEPDEEP bit + WFI, Return from ISR or WFE | Any EXTI line (configured in the EXTI registers, internal and external lines) | All 1.2 V domain clocks OFF | HSI and HSE oscillator s OFF | ON or in low- power mode (depends on PWR power control register (PWR_CR) for STM32F405xx/07x x and STM32F415xx/17x x and PWR power control register (PWR_CR) for STM32F405xx/07x x and STM32F415xx/17x xPWR power control register (PWR_CR) for STM32F42xxx and STM32F43xxx |
| Standby | PDDS bit + SLEEPDEEP bit + WFI, Return from ISR or WFE | WKUP pin rising edge, RTC alarm (Alarm A or Alarm B), RTC Wakeup event, RTC tamper events, RTC time stamp event, external reset in NRST pin, IWDG reset | OFF |
| Sleep-now mode | Description |
| Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while:– SLEEPDEEP = 0, and– No interrupt (for WFI) or event (for WFE) is pending.Refer to the Cortex®-M4 with FPU System Control register. |
| On Return from ISR while:– SLEEPDEEP = 0 and– SLEEPONEXIT = 1,– No interrupt is pending.Refer to the Cortex®-M4 with FPU System Control register. | |
| Mode exit | If WFI or Return from ISR was used for entry:Interrupt: Refer to Table 61: Vector table for STM32F405xx/07xx and STM32F415xx/17xx and Table 62: Vector table for STM32F42xxx and STM32F43xxxIf WFE was used for entry and SEVONPEND = 0Wakeup event: Refer to Section 12.2.3: Wakeup event managementf WFE was used for entry and SEVONPEND = 1Interrupt even when disabled in NVIC: refer to Table 61: Vector table for STM32F405xx/07xx and STM32F415xx/17xx and Table 62: Vector table for STM32F42xxx and STM32F43xxx or Wakeup event (see Section 12.2.3: Wakeup event management). |
| Wakeup latency | None |
| Sleep-on-exit | Description |
| Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while:– SLEEPDEEP = 0, and– No interrupt (for WFI) or event (for WFE) is pending.Refer to the Cortex®-M4 with FPU System Control register. |
| On Return from ISR while:– SLEEPDEEP = 0, and– SLEEPONEXIT = 1, and– No interrupt is pending.Refer to the Cortex®-M4 with FPU System Control register. | |
| Mode exit | Interrupt: refer toTable 61: Vector table for STM32F405xx/07xx and STM32F415xx/17xx andTable 62: Vector table for STM32F42xxx and STM32F43xxx |
| Wakeup latency | None |
| Stop mode | LPDS bit | FPDS bit | Wake-up latency |
| STOP MR(Main regulator) | 0 | 0 | HSI RC startup time |
| STOP MR-FPD | 0 | 1 | HSI RC startup time + Flash wakeup time from Power Down mode |
| STOP LP | 1 | 0 | HSI RC startup time + regulator wakeup time from LP mode |
| STOP LP-FPD | 1 | 1 | HSI RC startup time + Flash wakeup time from Power Down mode + regulator wakeup time from LP mode |
| Stop mode | Description |
| Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while:– No interrupt (for WFI) or event (for WFE) is pending,– SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register,– PDDS bit is cleared in Power Control register (PWR_CR),– Select the voltage regulator mode by configuring LPDS bit in PWR_CR. |
| On Return from ISR:– No interrupt is pending,– SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register,– SLEEPONEXIT = 1,– PDDS bit is cleared in Power Control register (PWR_CR). | |
| Note: To enter Stop mode, all EXTI Line pending bits (in Pending register (EXTI_PR)), all peripheral interrupts pending bits, the RTC Alarm (Alarm A and Alarm B), RTC wakeup, RTC tamper, and RTC time stamp flags, must be reset. Otherwise, the Stop mode entry procedure is ignored and program execution continues. |
| Stop mode | Description |
| Mode exit | If WFI or Return from ISR was used for entry:Any EXTI lines configured in Interrupt mode (the corresponding EXTI Interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer to Table 61: Vector table for STM32F405xx/07xx and STM32F415xx/17xx on page 372 and Table 62: Vector table for STM32F42xxx and STM32F43xxx.If WFE was used for entry and SEVONPEND = 0Any EXTI lines configured in event mode. Refer to Section 12.2.3: Wakeup event management on page 380.If WFE was used for entry and SEVONPEND = 1:- Any EXTI lines configured in Interrupt mode (even if the corresponding EXTI Interrupt vector is disabled in the NVIC). The interrupt source can be an external interrupt or a peripheral with wakeup capability. Refer to Table 61: Vector table for STM32F405xx/07xx and STM32F415xx/17xx on page 372 and Table 62: Vector table for STM32F42xxx and STM32F43xxx.- Wakeup event: refer to Section 12.2.3: Wakeup event management on page 380. |
| Wakeup latency | Table 26: Stop operating modes (STM32F405xx/07xx and STM32F415xx/17xx) |
| Voltage Regulator Mode | UDEN[1:0] bits | MRUDS bit | LPUDS bit | LPDS bit | FPDS bit | Wakeup latency | |
| Normal mode | STOP MR (Main Regulator) | - | 0 | - | 0 | 0 | HSI RC startup time |
| STOP MR- FPD | - | 0 | - | 0 | 1 | HSI RC startup time + Flash wakeup time from power-down mode | |
| STOP LP | - | 0 | 0 | 1 | 0 | HSI RC startup time + regulator wakeup time from LP mode | |
| STOP LP-FPD | - | - | 0 | 1 | 1 | HSI RC startup time + Flash wakeup time from power-down mode + regulator wakeup time from LP mode | |
| Under-drive Mode | STOP UMR-FPD | 3 | 1 | - | 0 | - | HSI RC startup time + Flash wakeup time from power-down mode + Main regulator wakeup time from under-drive mode + Core logic to nominal mode |
| STOP ULP-FPD | 3 | - | 1 | 1 | - | HSI RC startup time + Flash wakeup time from power-down mode + regulator wakeup time from LP under-drive mode + Core logic to nominal mode | |
| Stop mode | Description |
| Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while:– No interrupt or event is pending,– SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register,– PDDS bit is cleared in Power Control register (PWR_CR),– Select the voltage regulator mode by configuring LPDS, MRUDS, LPUDS and UDEN bits in PWR_CR (seeTable 28: Stop operating modes (STM32F42xxx and STM32F43xxx)). |
| On Return from ISR while:– No interrupt is pending,– SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register, and– SLEEPONEXIT = 1, and– PDDS is cleared in PWR_CR1. | |
| Note:To enter Stop mode, all EXTI Line pending bits (inPending register (EXTI_PR)), all peripheral interrupts pending bits, the RTC Alarm (Alarm A and Alarm B), RTC wakeup, RTC tamper, and RTC time stamp flags, must be reset. Otherwise, the Stop mode entry procedure is ignored and program execution continues. | |
| Mode exit | If WFI or Return from ISR was used for entry:All EXTI lines configured in Interrupt mode (the corresponding EXTI Interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer toTable 61:Vector table for STM32F405xx/07xx and STM32F415xx/17xx on page 372.If WFE was used for entry and SEVONPEND = 0:All EXTI Lines configured in event mode. Refer toSection 12.2.3: Wakeup event management on page 380If WFE was used for entry and SEVONPEND = 1:– Any EXTI lines configured in Interrupt mode (even if the corresponding EXTI Interrupt vector is disabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer toTable 61:Vector table for STM32F405xx/07xx and STM32F415xx/17xx on page 372 andTable 62:Vector table for STM32F42xxx and STM32F43xxx.– Wakeup event: refer toSection 12.2.3: Wakeup event management on page 380. |
| Wakeup latency | Refer toTable 28: Stop operating modes (STM32F42xxx and STM32F43xxx) |
| Standby mode | Description |
| Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while:– SLEEPDEEP is set in Cortex®-M4 with FPU System Control register,– PDDS bit is set in Power Control register (PWR_CR),– No interrupt (for WFI) or event (for WFE) is pending,– WUF bit is cleared in Power Control register (PWR_CR),– the RTC flag corresponding to the chosen wakeup source (RTC Alarm A, RTC Alarm B, RTC wakeup, Tamper or Timestamp flags) is cleared |
| On return from ISR while:– SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register, and– SLEEPONEXIT = 1, and– PDDS bit is set in Power Control register (PWR_CR), and– No interrupt is pending,– WUF bit is cleared in Power Control/Status register (PWR_SR),– The RTC flag corresponding to the chosen wakeup source (RTC Alarm A, RTC Alarm B, RTC wakeup, Tamper or Timestamp flags) is cleared. | |
| Mode exit | WKUP pin rising edge, RTC alarm (Alarm A and Alarm B), RTC wakeup, tamper event, time stamp event, external reset in NRST pin, IWDG reset. |
| Wakeup latency | Reset phase. |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | VOS | Reserved | FPDS | DBP | PLS[2:0] | PVDE | CSBF | CWUF | PDDS | LPDS | |||||
| rw | rw | rw | rw | rw | rw | rw | w | w | rw | rw | |||||
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res | VOS RDY | Reserved | BRE | EWUP | Reserved | BRR | PVDO | SBF | WUF | ||||||
| r | rw | rw | r | r | r | r | |||||||||
| Reserved | UDEN[1:0] | ODSWEN | ODEN | |||||||||||||
| rw | rw | rw | rw | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| VOS[1:0] | ADCDC1 | Res. | MRUDS | LPUDS | FPDS | DBP | PLS[2:0] | PVDE | CSBF | CWUF | PDDS | LPDS | ||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rc_w1 | rc_w1 | rw | rw | ||
| 000: 2.0 V |
| 001: 2.1 V |
| 010: 2.3 V |
| 011: 2.5 V |
| 100: 2.6 V |
| 101: 2.7 V |
| 110: 2.8 V |
| 111: 2.9 V |
| 0: PVD disabled |
| 1: PVD enabled |
| This bit is always read as 0. |
| 0: No effect |
| 1: Clear the SBF Standby Flag (write). |
| This bit is always read as 0. |
| 0: No effect |
| 1: Clear the WUF Wakeup Flag after 2 System clock cycles |
| This bit is set and cleared by software. It works together with the LPDS bit. |
| 0: Enter Stop mode when the CPU enters deepsleep. The regulator status depends on the LPDS bit. |
| 1: Enter Standby mode when the CPU enters deepsleep. |
| This bit is set and cleared by software. It works together with the PDDS bit. |
| 0:Main voltage regulator ON during Stop mode |
| 1: Low-power voltage regulator ON during Stop mode |
| Reserved | UDRDY[1:0] | ODSWRDY | ODRDY | ||||||||||||
| rc_w1 | rc_w1 | r | r | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res | VOS RDY | Reserved | BRE | EWUP | Reserved. | BRR | PVDO | SBF | WUF | ||||||
| r | rw | rw | r | r | r | r | |||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x000 | PWR_CRReset value | Reserved | VOS | Reserved | FPDS | DBP | PLS[2:0] | PVDE | CSBF | CWUF | PDDS | LPDS | |||||||||||||||||||||
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x004 | PWR_CSRReset value | Reserved | VOSRDY | Reserved | BRE | EWUP | Reserved | BRR | PVDO | SBF | WUF | ||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x000 | PWR_CRReset value | Reserved | UDEN[1:0] | ODSWEN | ODEN | VOS[1:0] | ADCDC1 | Reserved | MRUDS | LPUDS | FPDS | DBP | PLS[2:0] | PVDE | CSBF | CWUF | PDDS | LPDS | |||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| 0x004 | PWR_CSRReset value | Reserved | UDRDY[1:0] | ODSWRDY | ODRDY | Reserved | VOSRDY | Reserved | BRE | EWUP | Reserved | BRR | PVDO | SBF | WUF | ||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||
| Hardware configuration | |
| External clock | External source |
| Crystal/ceramic resonators | ![]() |
| Reserved | PLLSAI RDY | PLLSAI ON | PLLI2S RDY | PLLI2S ON | PLLRD Y | PLLON | Reserved | CSS ON | HSE BYP | HSE RDY | HSE ON | ||||
| r | rw | r | rw | r | rw | rw | rw | r | rw | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| HSICAL[7:0] | HSITRIM[4:0] | Res. | HSI RDY | HSION | |||||||||||
| r | r | r | r | r | r | r | r | rw | rw | rw | rw | rw | r | rw | |
| Reserved | PLLQ3 | PLLQ2 | PLLQ1 | PLLQ0 | Reserved | PLLSRC | Reserved | PLLP1 | PLLP0 | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| Reserved | PLLN | PLLM5 | PLLM4 | PLLM3 | PLLM2 | PLLM1 | PLLM0 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MCO2 | MCO2 PRE[2:0] | MCO1 PRE[2:0] | I2SSC R | MCO1 | RTCPRE[4:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PPRE2[2:0] | PPRE1[2:0] | Reserved | HPRE[3:0] | SWS1 | SWS0 | SW1 | SW0 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | r | r | rw | rw | ||
| Reserved | CSSC | PLLSAIRDYC | PLLI2SRDYC | PLLRDYC | HSERDYC | HSIRDYC | LSERDYC | LSIRDYC | |||||||
| w | w | w | w | w | w | w | w | ||||||||
| Reserved | PLLSAIRDYIE | PLLI2SRDYIE | PLL RDYIE | HSE RDYIE | HSIRDYIE | LSE RDYIE | LSIRDYIE | CSSF | PLLSAIRDYF | PLLI2SRDYF | PLL RDYF | HSE RDYF | HSIRDYF | LSE RDYF | LSIRDYF |
| rw | rw | rw | rw | rw | rw | rw | r | r | r | r | r | r | r | r | |
| Reserved | OTGHS RST | Reserved | ETHMAC RST | Res. | DMA2DRST | DMA2RST | DMA1RST | Reserved | ||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| CRCRST | Res. | GPIOK RST | GPIOJ RST | GPIOI RST | GPIOH RST | GPIOGG RST | GPIOF RST | GPIOE RST | GPIOD RST | GPIOC RST | ||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | ||||||||||||||
| Reserved | OTGFS RST | RNG RST | HASH RST | CRYP RST | Reserved | DCMI RST | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FMCRST | ||||||||||||||
| rw | |||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8RST | UART7RST | DACRST | PWRRST | Reser-ved | CAN2RST | CAN1RST | Reser-ved | I2C3RST | I2C2RST | I2C1RST | UART5RST | UART4RST | UART3RST | UART2RST | Reser-ved |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3RST | SPI2RST | Reserved | WWDG RST | Reserved | TIM14RST | TIM13RST | TIM12RST | TIM7RST | TIM6RST | TIM5RST | TIM4RST | TIM3RST | TIM2RST | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | LTD CRST | Reserved | SAI1 RST | SPI6 RST | SPI5 RST | Res. | TIM11 RST | TIM10 RST | TIM9 RST | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | SYSCF G RST | SPI4 RST | SPI1 RST | SDIO RST | Reserved | ADC RST | Reserved | USART 6 RST | USART 1 RST | Reserved | TIM8 RST | TIM1 RST | |||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| OTGHSULPIEN | OTGHSEN | ETHMACPTPEN | ETHMACRXEN | ETHMACTXEN | ETHMACEN | Res. | DMA2DEN | DMA2EN | DMA1EN | CCMDATARAMEN | Res. | BKPSRAMEN | Reserved | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | CRCEN | Res. | GPIOKEN | GPIOJEN | GPIOIEN | GPIOHEN | GPIOGEN | GPIOFEN | GPIOEEN | GPIODEN | GPIOCEN | GPIOBEN | GPIOAEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | ||||||||||||||
| Reserved | OTGFS EN | RNG EN | HASH EN | CRYP EN | Reserved | DCMI EN | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FMCEN | ||||||||||||||
| rw | |||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8 EN | UART7 EN | DAC EN | PWR EN | Reser-ved | CAN2 EN | CAN1 EN | Reser-ved | I2C3 EN | I2C2 EN | I2C1 EN | UART5 EN | UART4 EN | USART 3 EN | USART 2 EN | Reser-ved |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3 EN | SPI2 EN | Reserved | WWDG EN | Reserved | TIM14 EN | TIM13 EN | TIM12 EN | TIM7 EN | TIM6 EN | TIM5 EN | TIM4 EN | TIM3 EN | TIM2 EN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | LTDC EN | Reserved | SAI1EN | SPI6EN | SPI5EN | Res. | TIM11 EN | TIM10 EN | TIM9 EN | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | SYSCF G EN | SPI4E N | SPI1 EN | SDIO EN | ADC3 EN | ADC2 EN | ADC1 EN | Reserved | USART 6 EN | USART 1 EN | Reserved | TIM8 EN | TIM1 EN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Res. | OTGHS ULPILPEN | OTGHS LPEN | ETHPT P LPEN | ETHRX LPEN | ETHTX LPEN | ETHMA C LPEN | Res. | DMA2D LPEN | DMA2 LPEN | DMA1 LPEN | Res. | SRAM3 LPEN | BKPSRA M LPEN | SRAM 2 LPEN | SRAM 1 LPEN |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FLITF LPEN | Reserved | CRC LPEN | Res. | GPIOK LPEN | GPIOIJ LPEN | GPIOI LPEN | GPIOH LPEN | GPIOG G LPEN | GPIO F LPEN | GPIOE LPEN | GPIOD LPEN | GPIOCL LPEN | GPIOBL LPEN | GPIOA LPEN | |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| Reserved | ||||||||||||||
| Reserved | OTGFS LPEN | RNG LPEN | HASH LPEN | CRYP LPEN | Reserved | DCMI LPEN | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FMC LPEN | ||||||||||||||
| rw | |||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8 LPEN | UART7 LPEN | DAC LPEN | PWR LPEN | RESER VED | CAN2 LPEN | CAN1 LPEN | Reser- ved | I2C3 LPEN | I2C2 LPEN | I2C1 LPEN | UART5 LPEN | UART4 LPEN | USART 3 LPEN | USART 2 LPEN | Reser- ved |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3 LPEN | SPI2 LPEN | Reserved | WWDG LPEN | Reserved | TIM14 LPEN | TIM13 LPEN | TIM12 LPEN | TIM7 LPEN | TIM6 LPEN | TIM5 LPEN | TIM4 LPEN | TIM3 LPEN | TIM2 LPEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | LTDC LPEN | Reserved | SAI1 LPEN | SPI6 LPEN | SPI5 LPEN | Reserved | TIM11 LPEN | TIM10 LPEN | TIM9 LPEN | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | SYSC FG LPEN | SPI4 LPEN | SPI1 LPEN | SDIO LPEN | ADC3 LPEN | ADC2 LPEN | ADC1 LPEN | Reserved | USART 6 LPEN | USART 1 LPEN | Reserved | TIM8 LPEN | TIM1 LPEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | BDRST | ||||||||||||||
| rw | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RTCEN | Reserved | RTCSEL[1:0] | Reserved | LSEBY P | LSERD Y | LSEON | |||||||||
| rw | rw | rw | rw | r | rw | ||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| LPWR RSTF | WWDG RSTF | IWDG RSTF | SFT RSTF | POR RSTF | PIN RSTF | BORRS TF | RMVF | Reserved | |||||||
| r | r | r | r | r | r | r | rt_w | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | LSIRDY | LSION |
| r | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SSCG EN | SPR EAD SEL | Reserved | INCSTEP | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| INCSTEP | MODPER | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PLLI2SR2 | PLLI2SR1 | PLLI2SR0 | PLLI2SQ | Reserved | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| Reserved | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PLLI2SN8 | PLLI2SN7 | PLLI2SN6 | PLLI2SN5 | PLLI2SN4 | PLLI2SN3 | PLLI2SN2 | PLLI2SN1 | PLLI2SN0 | Reserved | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | PLLSAIR | PLLSAIQ | Reserved | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| Reserved | PLLSAIN | Reserved | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | TIMPRE | SAI1BSRC | SAI1ASRC | Reserved | PLLSAIDIVR | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | PLLSAIDIVQ | Reserved | PLLS2DIVQ | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| Addr. offset | Register name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Addr.offset | Register name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Addr. offset | Register name | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x88 | RCC_PLLSAI CFGR | PLLSAIR | PLLSAIQ | Reserved | PLLSAIN | Reserved | |||||||||||||||||||||||||||
| 0x8C | RCC_DCKCF GR | Reserved | TIMPRE | SAI1BSCR | SAI1ASCR | Reserved | PLLSAIDIVR | Reserved | PLLSAIDIVQ | Reserved | PLLI2SDIVQ | ||||||||||||||||||||||
| Hardware configuration | |
| External clock | Externalsource |
| Crystal/ceramic resonators | ![]() |
| Reserved | PLLI2S RDY | PLLI2S ON | PLLRD Y | PLLON | Reserved | CSS ON | HSE BYP | HSE RDY | HSE ON | ||||||
| r | rw | r | rw | rw | rw | r | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| HSICAL[7:0] | HSITRIM[4:0] | Res. | HSI RDY | HSION | |||||||||||
| r | r | r | r | r | r | r | r | rw | rw | rw | rw | rw | r | rw | |
| Reserved | PLLQ3 | PLLQ2 | PLLQ1 | PLLQ0 | Reserved | PLLSRC | Reserved | PLLP1 | PLLP0 | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| Reserved | PLLN | PLLM5 | PLLM4 | PLLM3 | PLLM2 | PLLM1 | PLLM0 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MCO2 | MCO2 PRE[2:0] | MCO1 PRE[2:0] | I2SSC R | MCO1 | RTCPRE[4:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PPRE2[2:0] | PPRE1[2:0] | Reserved | HPRE[3:0] | SWS1 | SWS0 | SW1 | SW0 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | r | r | rw | rw | ||
| Reserved | CSSC | Reserved | PLLI2S RDYC | PLL RDYC | HSE RDYC | HSI RDYC | LSE RDYC | LSI RDYC | |||||||
| w | w | w | w | w | w | w | |||||||||
| Reserved | PLL12S RDYIE | PLL RDYIE | HSE RDYIE | HSI RDYIE | LSE RDYIE | LSI RDYIE | CSSF | Reserved | Reserved | PLL12S RDYF | PLL RDYF | HSE RDYF | HSI RDYF | LSE RDYF | LSI RDYF |
| rw | rw | rw | rw | rw | rw | r | r | r | r | r | r | r | |||
| Reserved | OTGHS RST | Reserved | ETHMAC RST | Reserved | DMA2 RST | DMA1 RST | Reserved | ||||||
| rw | rw | rw | rw | ||||||||||
| Reserved | CRCR ST | Reserved | GPIOI RST | GPIOH RST | GPIOGG RST | GPIOF RST | GPIOE RST | GPIOD RST | GPIOC RST | GPIOB RST | GPIOA RST | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | ||||||||||||||
| Reserved | OTGFS RST | RNG RST | HASH RST | CRYP RST | Reserved | DCMI RST | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FSMCRST | ||||||||||||||
| rw | |||||||||||||||
| Reserved | DACRST | PWR RST | Reserved | CAN2 RST | CAN1 RST | Reserved | I2C3 RST | I2C2 RST | I2C1 RST | UART5 RST | UART4 RST | UART3 RST | UART2 RST | Reserved | |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3 RST | SPI2 RST | Reserved | WWDG RST | Reserved | TIM14 RST | TIM13 RST | TIM12 RST | TIM7 RST | TIM6 RST | TIM5 RST | TIM4 RST | TIM3 RST | TIM2 RST | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | TIM11RST | TIM10RST | TIM9RST | |||||||||||
| rw | rw | rw | ||||||||||||
| Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved |
| rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | Reserved | ||||||||||||||
| Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | |||||||||
| Reserved | |||||||||||||||
| Reserved | ||||||||||||||
| Reserved | OTGFS EN | RNG EN | HASH EN | CRYP EN | Reserved | DCMI EN | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FSMCEN | ||||||||||||||
| rw | |||||||||||||||
| Reserved | DAC EN | PWR EN | Reserved | CAN2 EN | CAN1 EN | Reserved | I2C3 EN | I2C2 EN | I2C1 EN | UART5 EN | UART4 EN | USART 3 EN | USART 2 EN | Reserved | |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3 EN | SPI2 EN | Reserved | WWDG EN | Reserved | TIM14 EN | TIM13 EN | TIM12 EN | TIM7 EN | TIM6 EN | TIM5 EN | TIM4 EN | TIM3 EN | TIM2 EN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | TIM11 EN | TIM10 EN | TIM9 EN | ||||||||||||
| rw | rw | rw | |||||||||||||
| Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved | Reserved |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reser -ved | OTGHS ULPILPE N | OTGHS LPEN | ETHPT P LPEN | ETHRX LPEN | ETHTX LPEN | ETHMA C LPEN | Reserved | DMA2 LPEN | DMA1 LPEN | Reserved | BKPSRA M LPEN | SRAM 2 LPEN | SRAM 1 LPEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FLITF LPEN | Reserved | CRC LPEN | Reserved | GPIOI LPEN | GPIOH LPEN | GPIOG G LPEN | GPIO F LPEN | GPIOE LPEN | GPIOD LPEN | GPIOC LPEN | GPIOB LPEN | GPIOA LPEN | |||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | ||||||||||||||
| Reserved | OTGFS LPEN | RNG LPEN | HASH LPEN | CRYP LPEN | Reserved | DCMI LPEN | ||||||||
| rw | rw | rw | rw | rw | ||||||||||
| Reserved | |||||||||||||||
| Reserved | FSMC LPEN | ||||||||||||||
| rw | |||||||||||||||
| Reserved | DAC LPEN | PWR LPEN | RESERVED | CAN2 LPEN | CAN1 LPEN | Reserved | I2C3 LPEN | I2C2 LPEN | I2C1 LPEN | UART5 LPEN | UART4 LPEN | USART 3 LPEN | USART 2 LPEN | Reserved | |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3 LPEN | SPI2 LPEN | Reserved | WWDG LPEN | Reserved | TIM14 LPEN | TIM13 LPEN | TIM12 LPEN | TIM7 LPEN | TIM6 LPEN | TIM5 LPEN | TIM4 LPEN | TIM3 LPEN | TIM2 LPEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | TIM11 LPEN | TIM10 LPEN | TIM9 LPEN |
| rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | SYSC FG LPEN | Reserved | SPI1 LPEN | SDIO LPEN | ADC3 LPEN | ADC2 LPEN | ADC1 LPEN | Reserved | USART 6 LPEN | USART 1 LPEN | Reserved | TIM8 LPEN | TIM1 LPEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | BDRST | ||||||||||||||
| rw | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RTCEN | Reserved | RTCSEL[1:0] | Reserved | LSEBY P | LSERD Y | LSEON | |||||||||
| rw | rw | rw | rw | r | rw | ||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| LPWR RSTF | WWDG RSTF | IWDG RSTF | SFT RSTF | POR RSTF | PIN RSTF | BORRS TF | RMVF | Reserved | |||||||
| r | r | r | r | r | r | r | r_t_w | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | LSIRDY | LSION | |||||||||||||
| r | rw | ||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SSCG EN | SPR EAD SEL | Reserved | INCSTEP | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| INCSTEP | MODPER | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PLLI2SR2 | PLLI2SR1 | PLLI2SR0 | Reserved | ||||||||||||
| rw | rw | rw | |||||||||||||
| Reserved | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PLLI2SN8 | PLLI2SN7 | PLLI2SN6 | PLLI2SN5 | PLLI2SN4 | PLLI2SN3 | PLLI2SN2 | PLLI2SN1 | PLLI2SN0 | Reserved | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Addr.offset | Register name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Addr. offset | Register name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MODER(i)[1:0] | OTYPER(i) | OSPEEDR(i)[B:A] | PUPDR(i)[1:0] | I/O configuration | ||
| 01 | 0 | SPEED[B:A] | 0 | 0 | GP output | PP |
| 0 | 0 | 1 | GP output | PP + PU | ||
| 0 | 1 | 0 | GP output | PP + PD | ||
| 0 | 1 | 1 | Reserved | |||
| 1 | 0 | 0 | GP output | OD | ||
| 1 | 0 | 1 | GP output | OD + PU | ||
| 1 | 1 | 0 | GP output | OD + PD | ||
| 1 | 1 | 1 | Reserved (GP output OD) | |||
| MODER(i)[1:0] | OTYPER(i) | OSPEEDR(i)[B:A] | PUPDR(i)[1:0] | I/O configuration | |||
| 10 | 0 | SPEED[B:A] | 0 | 0 | AF | PP | |
| 0 | 0 | 1 | AF | PP + PU | |||
| 0 | 1 | 0 | AF | PP + PD | |||
| 0 | 1 | 1 | Reserved | ||||
| 1 | 0 | 0 | AF | OD | |||
| 1 | 0 | 1 | AF | OD + PU | |||
| 1 | 1 | 0 | AF | OD + PD | |||
| 1 | 1 | 1 | Reserved | ||||
| 00 | x | x | x | 0 | 0 | Input | Floating |
| x | x | x | 0 | 1 | Input | PU | |
| x | x | x | 1 | 0 | Input | PD | |
| x | x | x | 1 | 1 | Reserved (input floating) | ||
| 11 | x | x | x | 0 | 0 | Input/output | Analog |
| x | x | x | 0 | 1 | Reserved | ||
| x | x | x | 1 | 0 | |||
| x | x | x | 1 | 1 | |||
| Available debug ports | SWJ I/O pin assigned | ||||
| PA13 / JTMS/ SWDIO | PA14 / JTCK/ SWCLK | PA15 / JTDI | PB3 / JTDO | PB4/ NJTRST | |
| Full SWJ (JTAG-DP + SW-DP) - Reset state | X | X | X | X | X |
| Full SWJ (JTAG-DP + SW-DP) but without NJTRST | X | X | X | X | |
| JTAG-DP Disabled and SW-DP Enabled | X | X | Released | ||
| JTAG-DP Disabled and SW-DP Disabled | Released | ||||
| Pin configuration and function | RTC_ALARM enabled | RTC_CALIB enabled | Tamper enabled | Time stamp enabled | TAMP1INSEL TAMPER1 pin selection | TSINSEL TIMESTAMP pin selection | ALARMOUTTYPE RTC_ALARM configuration |
| Alarm out output OD | 1 | Don’t care | Don’t care | Don’t care | Don’t care | Don’t care | 0 |
| Alarm out output PP | 1 | Don’t care | Don’t care | Don’t care | Don’t care | Don’t care | 1 |
| Calibration out output PP | 0 | 1 | Don’t care | Don’t care | Don’t care | Don’t care | Don’t care |
| TAMPER1 input floating | 0 | 0 | 1 | 0 | 0 | Don’t care | Don’t care |
| TIMESTAMP and TAMPER1 input floating | 0 | 0 | 1 | 1 | 0 | 0 | Don’t care |
| TIMESTAMP input floating | 0 | 0 | 0 | 1 | Don’t care | 0 | Don’t care |
| Standard GPIO | 0 | 0 | 0 | 0 | Don’t care | Don’t care | Don’t care |
| Pin configuration and function | Tamper enabled | Time stamp enabled | TAMP1INSEL TAMPER1 pin selection | TSINSEL TIMESTAMP pin selection | ALARMOUTTYPE RTC_ALARM configuration |
| TAMPER1 input floating | 1 | 0 | 1 | Don’t care | Don’t care |
| TIMESTAMP and TAMPER1 input floating | 1 | 1 | 1 | 1 | Don’t care |
| TIMESTAMP input floating | 0 | 1 | Don’t care | 1 | Don’t care |
| Standard GPIO | 0 | 0 | Don’t care | Don’t care | Don’t care |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MODER15[1:0] | MODER14[1:0] | MODER13[1:0] | MODER12[1:0] | MODER11[1:0] | MODER10[1:0] | MODER9[1:0] | MODER8[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MODER7[1:0] | MODER6[1:0] | MODER5[1:0] | MODER4[1:0] | MODER3[1:0] | MODER2[1:0] | MODER1[1:0] | MODER0[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| Reserved |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| OSPEEDR15[1:0] | OSPEEDR14[1:0] | OSPEEDR13[1:0] | OSPEEDR12[1:0] | OSPEEDR11[1:0] | OSPEEDR10[1:0] | OSPEEDR9[1:0] | OSPEEDR8[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OSPEEDR7[1:0] | OSPEEDR6[1:0] | OSPEEDR5[1:0] | OSPEEDR4[1:0] | OSPEEDR3[1:0] | OSPEEDR2[1:0] | OSPEEDR1[1:0] | OSPEEDR0[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PUPDR15[1:0] | PUPDR14[1:0] | PUPDR13[1:0] | PUPDR12[1:0] | PUPDR11[1:0] | PUPDR10[1:0] | PUPDR9[1:0] | PUPDR8[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PUPDR7[1:0] | PUPDR6[1:0] | PUPDR5[1:0] | PUPDR4[1:0] | PUPDR3[1:0] | PUPDR2[1:0] | PUPDR1[1:0] | PUPDR0[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IDR15 | IDR14 | IDR13 | IDR12 | IDR11 | IDR10 | IDR9 | IDR8 | IDR7 | IDR6 | IDR5 | IDR4 | IDR3 | IDR2 | IDR1 | IDR0 |
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ODR15 | ODR14 | ODR13 | ODR12 | ODR11 | ODR10 | ODR9 | ODR8 | ODR7 | ODR6 | ODR5 | ODR4 | ODR3 | ODR2 | ODR1 | ODR0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| BR15 | BR14 | BR13 | BR12 | BR11 | BR10 | BR9 | BR8 | BR7 | BR6 | BR5 | BR4 | BR3 | BR2 | BR1 | BR0 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BS15 | BS14 | BS13 | BS12 | BS11 | BS10 | BS9 | BS8 | BS7 | BS6 | BS5 | BS4 | BS3 | BS2 | BS1 | BS0 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| Reserved | LCKK | ||||||||||||||
| rw | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| LCK15 | LCK14 | LCK13 | LCK12 | LCK11 | LCK10 | LCK9 | LCK8 | LCK7 | LCK6 | LCK5 | LCK4 | LCK3 | LCK2 | LCK1 | LCK0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| AFRL7[3:0] | AFRL6[3:0] | AFRL5[3:0] | AFRL4[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| AFRL3[3:0] | AFRL2[3:0] | AFRL1[3:0] | AFRL0[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 0000: AF0 | 1000: AF8 |
| 0001: AF1 | 1001: AF9 |
| 0010: AF2 | 1010: AF10 |
| 0011: AF3 | 1011: AF11 |
| 0100: AF4 | 1100: AF12 |
| 0101: AF5 | 1101: AF13 |
| 0110: AF6 | 1110: AF14 |
| 0111: AF7 | 1111: AF15 |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| AFRH15[3:0] | AFRH14[3:0] | AFRH13[3:0] | AFRH12[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| AFRH11[3:0] | AFRH10[3:0] | AFRH9[3:0] | AFRH8[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 0000: AF0 | 1000: AF8 |
| 0001: AF1 | 1001: AF9 |
| 0010: AF2 | 1010: AF10 |
| 0011: AF3 | 1011: AF11 |
| 0100: AF4 | 1100: AF12 |
| 0101: AF5 | 1101: AF13 |
| 0110: AF6 | 1110: AF14 |
| 0111: AF7 | 1111: AF15 |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | GPIOA_MODER | MODER15[1:0] | MODER14[1:0] | MODER13[1:0] | MODER12[1:0] | MODER11[1:0] | MODER10[1:0] | MODER9[1:0] | MODER8[1:0] | MODER7[1:0] | MODER6[1:0] | MODER5[1:0] | MODER4[1:0] | MODER3[1:0] | MODER2[1:0] | MODER1[1:0] | MODER0[1:0] | ||||||||||||||||
| Reset value | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00 | GPIOB_MODER | MODER15[1:0] | MODER14[1:0] | MODER13[1:0] | MODER12[1:0] | MODER11[1:0] | MODER10[1:0] | MODER9[1:0] | MODER8[1:0] | MODER7[1:0] | MODER6[1:0] | MODER5[1:0] | MODER4[1:0] | MODER3[1:0] | MODER2[1:0] | MODER1[1:0] | MODER0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00 | GPIOx_MODER(where x = C..I/J/K) | MODER15[1:0] | MODER14[1:0] | MODER13[1:0] | MODER12[1:0] | MODER11[1:0] | MODER10[1:0] | MODER9[1:0] | MODER8[1:0] | MODER7[1:0] | MODER6[1:0] | MODER5[1:0] | MODER4[1:0] | MODER3[1:0] | MODER2[1:0] | MODER1[1:0] | MODER0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x04 | GPIOx_OTYPER(where x = A..I/J/K) | Reserved | MODER7[1:0] | MODER6[1:0] | MODER5[1:0] | MODER4[1:0] | MODER3[1:0] | MODER2[1:0] | MODER1[1:0] | MODER0[1:0] | |||||||||||||||||||||||
| Reset value | OT15 | OT14 | OT13 | OT12 | OT11 | OT10 | OT9 | OT8 | OT7 | OT6 | OT5 | OT4 | OT3 | OT2 | OT1 | OT0 | |||||||||||||||||
| 0x08 | GPIOx_OSPEEDR(where x = A..I/J/K except B) | OSPEEDR15[1:0] | OSPEEDR14[1:0] | OSPEEDR13[1:0] | OSPEEDR12[1:0] | OSPEEDR11[1:0] | OSPEEDR10[1:0] | OSPEEDR9[1:0] | OSPEEDR8[1:0] | OSPEEDR7[1:0] | OSPEEDR6[1:0] | OSPEEDR5[1:0] | OSPEEDR4[1:0] | OSPEEDR3[1:0] | OSPEEDR2[1:0] | OSPEEDR1[1:0] | OSPEEDR0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x08 | GPIOB_OSPEEDR | OSPEEDR15[1:0] | OSPEEDR14[1:0] | OSPEEDR13[1:0] | OSPEEDR12[1:0] | OSPEEDR11[1:0] | OSPEEDR10[1:0] | OSPEEDR9[1:0] | OSPEEDR8[1:0] | OSPEEDR7[1:0] | OSPEEDR6[1:0] | OSPEEDR5[1:0] | OSPEEDR4[1:0] | OSPEEDR3[1:0] | OSPEEDR2[1:0] | OSPEEDR1[1:0] | OSPEEDR0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0C | GPIOA_PUPDR | PUPDR15[1:0] | PUPDR14[1:0] | PUPDR13[1:0] | PUPDR12[1:0] | PUPDR11[1:0] | PUPDR10[1:0] | PUPDR9[1:0] | PUPDR8[1:0] | OSPEEDR7[1:0] | OSPEEDR6[1:0] | OSPEEDR5[1:0] | OSPEEDR4[1:0] | OSPEEDR3[1:0] | OSPEEDR2[1:0] | OSPEEDR1[1:0] | OSPEEDR0[1:0] | ||||||||||||||||
| Reset value | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0C | GPIOB_PUPDR | PUPDR15[1:0] | PUPDR14[1:0] | PUPDR13[1:0] | PUPDR12[1:0] | PUPDR11[1:0] | PUPDR10[1:0] | PUPDR9[1:0] | PUPDR8[1:0] | PUPDR7[1:0] | PUPDR6[1:0] | PUPDR5[1:0] | PUPDR4[1:0] | PUPDR3[1:0] | PUPDR2[1:0] | PUPDR1[1:0] | PUPDR0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0C | GPIOx_PUPDR(where x = C..I/J/K) | PUPDR15[1:0] | PUPDR14[1:0] | PUPDR13[1:0] | PUPDR12[1:0] | PUPDR11[1:0] | PUPDR10[1:0] | PUPDR9[1:0] | PUPDR8[1:0] | PUPDR7[1:0] | PUPDR6[1:0] | PUPDR5[1:0] | PUPDR4[1:0] | PUPDR3[1:0] | PUPDR2[1:0] | PUPDR1[1:0] | PUPDR0[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x10 | GPIOx_IDR(where x = A..I/J/K) | Reserved | IDR15 | IDR14 | IDR13 | IDR12 | IDR11 | IDR10 | IDR9 | IDR8 | IDR7 | IDR6 | IDR5 | IDR4 | IDR3 | IDR2 | IDR1 | IDR0 | |||||||||||||||
| Reset value | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | |||||||||||||||||
| 0x14 | GPIOx_ODR(where x = A..I/J/K) | Reserved | ODR15 | ODR14 | ODR13 | ODR12 | ODR11 | ODR10 | ODR9 | ODR8 | ODR7 | ODR6 | ODR5 | ODR4 | ODR3 | ODR2 | ODR1 | ODR0 | |||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x18 | GPIOx_BSRR(where x = A..I/J/K) | BR15 | BR14 | BR13 | BR12 | BR11 | BR10 | BR9 | BR8 | BR7 | BR6 | BR5 | BR4 | BR3 | BR2 | BR1 | BR0 | BS15 | BS14 | BS13 | BS12 | BS11 | BS10 | BS9 | BS8 | BS7 | BS6 | BS5 | BS4 | BS3 | BS2 | BS1 | BS0 |
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x1C | GPIOx_LCKR(where x = A..I/J/K) | Reserved | LCKK | LCK15 | LCK14 | LCK13 | LCK12 | LCK11 | LCK10 | LCK9 | LCK8 | LCK7 | LCK6 | LCK5 | LCK4 | LCK3 | LCK2 | LCK1 | LCK0 | ||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x20 | GPIOx_AFRL(where x = A..I/J/K) | AFRL7[3:0] | AFRL6[3:0] | AFRL5[3:0] | AFRL4[3:0] | AFRL3[3:0] | AFRL2[3:0] | AFRL1[3:0] | AFRL0[3:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x24 | GPIOx_AFRH(where x = A..I/J) | AFRH15[3:0] | AFRH14[3:0] | AFRH13[3:0] | AFRH12[3:0] | AFRH11[3:0] | AFRH10[3:0] | AFRH9[3:0] | AFRH8[3:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Reserved | |||||||||||||||
| Reserved | MEM_MODE | ||||||||||||||
| rw | rw | ||||||||||||||
| Reserved | MII_RMII_SEL | Reserved | |||||||||||||
| rw | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | |||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI3[3:0] | EXTI2[3:0] | EXTI1[3:0] | EXTI0[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ||||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| EXTI7[3:0] | EXTI6[3:0] | EXTI5[3:0] | EXTI4[3:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI11[3:0] | EXTI10[3:0] | EXTI9[3:0] | EXTI8[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI15[3:0] | EXTI14[3:0] | EXTI13[3:0] | EXTI12[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | READY | Reserved | CMP_PD | ||||||||||||
| r | rw | ||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x00 | SYSCFG_MEMRMP | Reserved | MEM_MODE | |||||||||||||||||||||||||||||||
| Reset value | x | x | ||||||||||||||||||||||||||||||||
| 0x04 | SYSCFG_PMCReset value | Reserved | MII_RMII_SEL | Reserved | Reserved | |||||||||||||||||||||||||||||
| 0 | ||||||||||||||||||||||||||||||||||
| 0x08 | SYSCFG_EXTICR1Reset value | Reserved | EXTI3[3:0]0 | 0 | 0 | 0 | EXTI2[3:0]0 | 0 | 0 | 0 | EXTI1[3:0]0 | 0 | 0 | 0 | EXTI0[3:0]0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x0C | SYSCFG_EXTICR2Reset value | Reserved | EXTI7[3:0]0 | 0 | 0 | 0 | EXTI6[3:0]0 | 0 | 0 | 0 | EXTI5[3:0]0 | 0 | 0 | 0 | EXTI4[3:0]0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x10 | SYSCFG_EXTICR3Reset value | Reserved | EXTI11[3:0]0 | 0 | 0 | 0 | EXTI10[3:0]0 | 0 | 0 | 0 | EXTI9[3:0]0 | 0 | 0 | 0 | EXTI8[3:0]0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x14 | SYSCFG_EXTICR4Reset value | Reserved | EXTI15[3:0]0 | 0 | 0 | 0 | EXTI14[3:0]0 | 0 | 0 | 0 | EXTI13[3:0]0 | 0 | 0 | 0 | EXTI12[3:0]0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x20 | SYSCFG_CMPCRReset value | Reserved | READY | Reserved | CMP_PD | |||||||||||||||||||||||||||||
| 0 | 0 | |||||||||||||||||||||||||||||||||
| Reserved | |||||||||||||||
| Reserved | SWP_FMC | Res. | FB_MODE | Reserved | MEM_MODE[2:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | ||||||||||
| Reserved | MII_RMII_SEL | Reserved | ADCxDC2 | ||||||||||||
| rw | rw | rw | rw | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | |||||||||||||||
| Reserved | ||||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| EXTI3[3:0] | EXTI2[3:0] | EXTI1[3:0] | EXTI0[3:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI7[3:0] | EXTI6[3:0] | EXTI5[3:0] | EXTI4[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ||||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| EXTI11[3:0] | EXTI10[3:0] | EXTI9[3:0] | EXTI8[3:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| EXTI15[3:0] | EXTI14[3:0] | EXTI13[3:0] | EXTI12[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | READY | Reserved | CMP_PD | ||||||||||||
| r | rw | ||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | SYSCFG_MEMRMP | Reserved | SWP_FMC | Reserved | FB_MODE | Reserved | MEM_MODE | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | x | x | x | |||||||||||||||||||||||||||
| 0x04 | SYSCFG_PMC | Reserved | MII_RMII_SEL | Reserved | ADC3DC2 | ADC2DC2 | ADC1DC2 | Reserved | |||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||
| 0x08 | SYSCFG_EXTICR1Reset value | Reserved | EXTI3[3:0] | EXTI2[3:0] | EXTI1[3:0] | EXTI0[3:0] | |||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x0C | SYSCFG_EXTICR2Reset value | Reserved | EXTI7[3:0] | EXTI6[3:0] | EXTI5[3:0] | EXTI4[3:0] | |||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x10 | SYSCFG_EXTICR3Reset value | Reserved | EXTI11[3:0] | EXTI10[3:0] | EXTI9[3:0] | EXTI8[3:0] | |||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x14 | SYSCFG_EXTICR4Reset value | Reserved | EXTI15[3:0] | EXTI14[3:0] | EXTI13[3:0] | EXTI12[3:0] | |||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x20 | SYSCFG_CMPCRReset value | Reserved | READY | Reserved | CMP_PD | ||||||||||||||||||||||||||||
| 0 | 0 | ||||||||||||||||||||||||||||||||
| Peripheral requests | Stream 0 | Stream 1 | Stream 2 | Stream 3 | Stream 4 | Stream 5 | Stream 6 | Stream 7 |
| Channel 0 | SPI3_RX | - | SPI3_RX | SPI2_RX | SPI2_TX | SPI3_TX | - | SPI3_TX |
| Channel 1 | I2C1_RX | - | TIM7_UP | - | TIM7_UP | I2C1_RX | I2C1_TX | I2C1_TX |
| Channel 2 | TIM4_CH1 | - | I2S3_EXT_RX | TIM4_CH2 | I2S2_EXT_TX | I2S3_EXT_TX | TIM4_UP | TIM4_CH3 |
| Channel 3 | I2S3_EXT_RX | TIM2_UP TIM2_CH3 | I2C3_RX | I2S2_EXT_RX | I2C3_TX | TIM2_CH1 | TIM2_CH2 TIM2_CH4 | TIM2_UP TIM2_CH4 |
| Channel 4 | UART5_RX | USART3_RX | UART4_RX | USART3_TX | UART4_TX | USART2_RX | USART2_TX | UART5_TX |
| Channel 5 | UART8_TX(1) | UART7_TX(1) | TIM3_CH4 TIM3_UP | UART7_RX(1) | TIM3_CH1 TIM3_TRIG | TIM3_CH2 | UART8_RX(1) | TIM3_CH3 |
| Channel 6 | TIM5_CH3 TIM5_UP | TIM5_CH4 TIM5_TRIG | TIM5_CH1 | TIM5_CH4 TIM5_TRIG | TIM5_CH2 | - | TIM5_UP | - |
| Channel 7 | - | TIM6_UP | I2C2_RX | I2C2_RX | USART3_TX | DAC1 | DAC2 | I2C2_TX |
| Peripheral requests | Stream 0 | Stream 1 | Stream 2 | Stream 3 | Stream 4 | Stream 5 | Stream 6 | Stream 7 |
| Channel 0 | ADC1 | SAI1_A(1) | TIM8_CH1 TIM8_CH2 TIM8_CH3 | SAI1_A(1) | ADC1 | SAI1_B(1) | TIM1_CH1 TIM1_CH2 TIM1_CH3 | - |
| Channel 1 | - | DCMI | ADC2 | ADC2 | SAI1_B(1) | SPI6_TX(1) | SPI6_RX(1) | DCMI |
| Channel 2 | ADC3 | ADC3 | - | SPI5_RX(1) | SPI5_TX(1) | CRYP_OUT | CRYP_IN | HASH_IN |
| Channel 3 | SPI1_RX | - | SPI1_RX | SPI1_TX | - | SPI1_TX | - | - |
| Channel 4 | SPI4_RX(1) | SPI4_TX(1) | USART1_RX | SDIO | - | USART1_RX | SDIO | USART1_TX |
| Channel 5 | - | USART6_RX | USART6_RX | SPI4_RX(1) | SPI4_TX(1) | - | USART6_TX | USART6_TX |
| Channel 6 | TIM1_TRIG | TIM1_CH1 | TIM1_CH2 | TIM1_CH1 | TIM1_CH4 TIM1_TRIG TIM1_COM | TIM1_UP | TIM1_CH3 | - |
| Channel 7 | - | TIM8_UP | TIM8_CH1 | TIM8_CH2 | TIM8_CH3 | SPI5_RX(1) | SPI5_TX(1) | TIM8_CH4 TIM8_TRIG TIM8_COM |
| Bits DIR[1:0] of the DMA_SxCR register | Direction | Source address | Destination address |
| 00 | Peripheral-to-memory | DMA_SxPAR | DMA_SxM0AR |
| 01 | Memory-to-peripheral | DMA_SxM0AR | DMA_SxPAR |
| 10 | Memory-to-memory | DMA_SxPAR | DMA_SxM0AR |
| 11 | reserved | - | - |
| Bits DIR[1:0] of the DMA_SxCR register | Direction | Source address | Destination address |
| 00 | Peripheral-to-memory | DMA_SxPAR | DMA_SxM0AR / DMA_SxM1AR |
| 01 | Memory-to-peripheral | DMA_SxM0AR / DMA_SxM1AR | DMA_SxPAR |
| 10 | Not allowed(1) | ||
| 11 | Reserved | - | - |
| AHB memory port width | AHB peripheral port width | Number of data items to transfer (NDT) | Memory transfer number | Memory port address / byte lane | Peripher al transfer number | Peripheral port address / byte lane | |
| PINCOS = 1 | PINCOS = 0 | ||||||
| 8 | 8 | 4 | 1 | 0x0 / B0[7:0] | 1 | 0x0 / B0[7:0] | 0x0 / B0[7:0] |
| 2 | 0x1 / B1[7:0] | 2 | 0x4 / B1[7:0] | 0x1 / B1[7:0] | |||
| 3 | 0x2 / B2[7:0] | 3 | 0x8 / B2[7:0] | 0x2 / B2[7:0] | |||
| 4 | 0x3 / B3[7:0] | 4 | 0xC / B3[7:0] | 0x3 / B3[7:0] | |||
| 8 | 16 | 2 | 1 | 0x0 / B0[7:0] | 1 | 0x0 / B1|B0[15:0] | 0x0 / B1|B0[15:0] |
| 2 | 0x1 / B1[7:0] | 2 | 0x4 / B3|B2[15:0] | 0x2 / B3|B2[15:0] | |||
| 3 | 0x2 / B2[7:0] | 2 | 0x4 / B3|B2[15:0] | 0x2 / B3|B2[15:0] | |||
| 4 | 0x3 / B3[7:0] | 2 | 0x4 / B3|B2[15:0] | 0x2 / B3|B2[15:0] | |||
| 8 | 32 | 1 | 1 | 0x0 / B0[7:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] |
| 2 | 0x1 / B1[7:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] | |||
| 3 | 0x2 / B2[7:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] | |||
| 4 | 0x3 / B3[7:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] | |||
| 16 | 8 | 4 | 1 | 0x0 / B1|B0[15:0] | 1 | 0x0 / B0[7:0] | 0x0 / B0[7:0] |
| 2 | 0x2 / B3|B2[15:0] | 2 | 0x4 / B1[7:0] | 0x1 / B1[7:0] | |||
| 3 | 0x2 / B3|B2[15:0] | 3 | 0x8 / B2[7:0] | 0x2 / B2[7:0] | |||
| 4 | 0x3 / B3[7:0] | 4 | 0xC / B3[7:0] | 0x3 / B3[7:0] | |||
| 16 | 16 | 2 | 1 | 0x0 / B1|B0[15:0] | 1 | 0x0 / B1|B0[15:0] | 0x0 / B1|B0[15:0] |
| 2 | 0x2 / B1|B0[15:0] | 2 | 0x4 / B3|B2[15:0] | 0x2 / B3|B2[15:0] | |||
| 16 | 32 | 1 | 1 | 0x0 / B1|B0[15:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] |
| 2 | 0x2 / B3|B2[15:0] | 2 | 0x4 / B3|B2|B1|B0[31:0] | 0x2 / B3|B2|B1|B0[31:0] | |||
| 32 | 8 | 4 | 1 | 0x0 / B3|B2|B1|B0[31:0] | 1 | 0x0 / B0[7:0] | 0x0 / B0[7:0] |
| 2 | 0x2 / B3|B2|B1|B0[31:0] | 2 | 0x4 / B1[7:0] | 0x1 / B1[7:0] | |||
| 3 | 0x2 / B3|B2|B1|B0[31:0] | 3 | 0x8 / B2[7:0] | 0x2 / B2[7:0] | |||
| 4 | 0x3 / B3[7:0] | 4 | 0xC / B3[7:0] | 0x3 / B3[7:0] | |||
| 32 | 16 | 2 | 1 | 0x0 / B3|B2|B1|B0[31:0] | 1 | 0x0 / B1|B0[15:0] | 0x0 / B1|B0[15:0] |
| 2 | 0x2 / B3|B2|B1|B0[31:0] | 2 | 0x4 / B3|B2|B1|B0[31:0] | 0x2 / B3|B2|B1|B0[31:0] | |||
| 32 | 32 | 1 | 1 | 0x0 / B3|B2|B1|B0[31:0] | 1 | 0x0 / B3|B2|B1|B0[31:0] | 0x0 / B3|B2|B1|B0[31:0] |
| PSIZE[1:0] of DMA_SxCR | MSIZE[1:0] of DMA_SxCR | NDT[15:0] of DMA_SxNDTR |
| 00 (8-bit) | 01 (16-bit) | must be a multiple of 2 |
| 00 (8-bit) | 10 (32-bit) | must be a multiple of 4 |
| 01 (16-bit) | 10 (32-bit) | must be a multiple of 2 |
| MSIZE | FIFO level | MBURST = INCR4 | MBURST = INCR8 | MBURST = INCR16 |
| Byte | 1/4 | 1 burst of 4 beats | forbidden | forbidden |
| 1/2 | 2 bursts of 4 beats | 1 burst of 8 beats | ||
| 3/4 | 3 bursts of 4 beats | forbidden | ||
| Full | 4 bursts of 4 beats | 2 bursts of 8 beats | 1 burst of 16 beats | |
| Half-word | 1/4 | forbidden | forbidden | forbidden |
| 1/2 | 1 burst of 4 beats | |||
| 3/4 | forbidden | |||
| Full | 2 bursts of 4 beats | 1 burst of 8 beats | ||
| Word | 1/4 | forbidden | forbidden | |
| 1/2 | ||||
| 3/4 | ||||
| Full | 1 burst of 4 beats |
| DMA transfer mode | Source | Destination | Flow controller | Circular mode | Transfer type | Direct mode | Double buffer mode |
| Peripheral-to-memory | AHB peripheral port | AHB memory port | DMA | possible | single | possible | possible |
| burst | forbidden | ||||||
| Peripheral | forbidden | single | possible | forbidden | |||
| burst | forbidden | ||||||
| Memory-to-peripheral | AHB memory port | AHB peripheral port | DMA | possible | single | possible | possible |
| burst | forbidden | ||||||
| Peripheral | forbidden | single | possible | forbidden | |||
| burst | forbidden | ||||||
| Memory-to-memory | AHB peripheral port | AHB memory port | DMA only | forbidden | single | forbidden | forbidden |
| burst |
| Interrupt event | Event flag | Enable control bit |
| Half-transfer | HTIF | HTIE |
| Transfer complete | TCIF | TCIE |
| Transfer error | TEIF | TEIE |
| FIFO overrun/underrun | FEIF | FEIE |
| Direct mode error | DMEIF | DMEIE |
| Reserved | TCIF3 | HTIF3 | TEIF3 | DMEIF3 | Reserved | FEIF3 | TCIF2 | HTIF2 | TEIF2 | DMEIF2 | Reserved | FEIF2 | |||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | TCIF1 | HTIF1 | TEIF1 | DMEIF1 | Reserved | FEIF1 | TCIF0 | HTIF0 | TEIF0 | DMEIF0 | Reserved | FEIF0 | |||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | ||
| Reserved | TCIF7 | HTIF7 | TEIF7 | DMEIF7 | Reserved | FEIF7 | TCIF6 | HTIF6 | TEIF6 | DMEIF6 | Reserved | FEIF6 | |||
| r | r | r | r | r | r | r | r | r | r | ||||||
| Reserved | TCIF5 | HTIF5 | TEIF5 | DMEIF5 | Reserved | FEIF5 | TCIF4 | HTIF4 | TEIF4 | DMEIF4 | Reserved | FEIF4 | |||
| r | r | r | r | r | r | r | r | r | r | ||||||
| Reserved | CTCIF3 | CHTIF3 | CTEIF3 | CDMEIF3 | Reserved | CFEIF3 | CTCIF2 | CHTIF2 | CTEIF2 | CDMEIF2 | Reserved | CFEIF2 | |||
| w | w | w | w | w | w | w | w | w | w | ||||||
| Reserved | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
| Reserved | CTCIF1 | CHTIF1 | CTEIF1 | CDMEIF1 | Reserved | CFEIF1 | CTCIF0 | CHTIF0 | CTEIF0 | CDMEIF0 | Reserved | CFEIF0 | |||
| w | w | w | w | w | w | w | w | w | w | ||||||
| Reserved | CTCIF7 | CHTIF7 | CTEIF7 | CDMEIF7 | Reserved | CFEIF7 | CTCIF6 | CHTIF6 | CTEIF6 | CDMEIF6 | Reserved | CFEIF6 | |||
| w | w | w | w | w | w | w | w | w | w | ||||||
| Reserved | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
| Reserved | CTCIF5 | CHTIF5 | CTEIF5 | CDMEIF5 | Reserved | CFEIF5 | CTCIF4 | CHTIF4 | CTEIF4 | CDMEIF4 | Reserved | CFEIF4 | |||
| w | w | w | w | w | w | w | w | w | w | ||||||
| Reserved | CHSEL[2:0] | MBURST [1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | TCIE | HTIE | TEIE | DMEIE | EN | |||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| NDT[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| PAR[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PAR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| M0A[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| M0A[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| M1A[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| M1A[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ||||||||||||||
| Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||
| rw | r | r | r | rw | rw | rw | ||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x0000 | DMA_LISR | Reserved | TCIF3 | 0 | HTIF3 | 26 | 25 | 24 | 23 | 0 | 0 | DMEIF3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0004 | DMA_HISR | Reserved | TCIF7 | 0 | HTIF7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0008 | DMA_LIFCR | Reserved | CTCIF3 | 0 | HTIF3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x000C | DMA_HIFCR | Reserved | CTCIF7 | 0 | HTIF7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0010 | DMA_S0CR | Reserved | CHSEL[2:0] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | MBURST[1:0] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x0014 | DMA_S0NDTR | Reserved | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x0018 | DMA_S0PAR | PA[31:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x001C | DMA_S0M0AR | M0A[31:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0020 | DMA_S0M1AR | M1A[31:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0024 | DMA_S0FCR | Reserved | |||||||||||||||||||||||||||||||
| Reset value | |||||||||||||||||||||||||||||||||
| 0x0028 | DMA_S1CR | Reserved | CHSEL[2:0] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Reset value | MBURST[1:] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x002C | DMA_S1NDTR | Reserved | |||||||||||||||||||||||||||||||
| Reset value | MBURST[1:0] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x0030 | DMA_S1PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0034 | DMA_S1M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0038 | DMA_S1M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x003C | DMA_S1FCR | Reserved | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | FS[2:0] | DMDIS | FTH[1:0] | ||||||||||||||||||
| Reset value | 0 | Reserved | 1 | 0 | 0 | 0 | 0 | 1 | ||||||||||||||||||||||||||
| 0x0040 | DMA_S2CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | HTIE | TEIE | DMEIE | EN | |||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x0044 | DMA_S2NDTR | Reserved | NDT[15..] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x0048 | DMA_S2PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x004C | DMA_S2M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0050 | DMA_S2M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0054 | DMA_S2FCR | Reserved | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| 0x0058 | DMA_S3CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | HTIE | TEIE | DMEIE | EN | |||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x005C | DMA_S3NDTR | Reserved | NDT[15..] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x0060 | DMA_S3PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0064 | DMA_S3M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0068 | DMA_S3M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x006C | DMA_S3FCR | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| 0x0070 | DMA_S4CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | TCIE | HTIE | TEIE | DMEIE | EN | ||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x0074 | DMA_S4NDTR | Reserved | NDT[15:] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x0078 | DMA_S4PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x007C | DMA_S4M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0080 | DMA_S4M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0084 | DMA_S4FCR | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| 0x0088 | DMA_S5CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | TCIE | HTIE | TEIE | DMEIE | EN | ||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x008C | DMA_S5NDTR | Reserved | NDT[15:] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x0090 | DMA_S5PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0094 | DMA_S5M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x0098 | DMA_S5M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x009C | DMA_S5FCR | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| 0x00A0 | DMA_S6CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | TCIE | HTIE | TEIE | DMEIE | EN | ||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x00A4 | DMA_S6NDTR | Reserved | NDT[15:] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x00A8 | DMA_S6PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00AC | DMA_S6M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x00B0 | DMA_S6M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x00B4 | DMA_S6FCR | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| 0x00B8 | DMA_S7CR | Reserved | CHSEL[2:0] | MBURST[1:0] | PBURST[1:0] | Reserved | CT | DBM | PL[1:0] | PINCOS | MSIZE[1:0] | PSIZE[1:0] | MINC | PINC | CIRC | DIR[1:0] | PFCTRL | TCIE | HTIE | TEIE | DMEIE | EN | ||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x00BC | DMA_S7NDTR | Reserved | NDT[15:.] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x00C0 | DMA_S7PAR | PA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00C4 | DMA_S7M0AR | M0A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00C8 | DMA_S7M1AR | M1A[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x00CC | DMA_S7FCR | Reserved | FEIE | Reserved | FS[2:0] | DMDIS | FTH[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||
| CM[3:0] | Color mode |
| 0000 | ARGB8888 |
| 0001 | RGB888 |
| 0010 | RGB565 |
| 0011 | ARGB1555 |
| 0100 | ARGB4444 |
| 0101 | L8 |
| 0110 | AL44 |
| 0111 | AL88 |
| 1000 | L4 |
| 1001 | A8 |
| 1010 | A4 |
| Color Mode | @ + 3 | @ + 2 | @ + 1 | @ + 0 |
| ARGB8888 | A0[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| RGB888 | B1[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| G2[7:0] | B2[7:0] | R1[7:0] | G1[7:0] | |
| R3[7:0] | G3[7:0] | B3[7:0] | R2[7:0] | |
| RGB565 | R1[4:0]G1[5:3] | G1[2:0]B1[4:0] | R0[4:0]G0[5:3] | G0[2:0]B0[4:0] |
| ARGB1555 | A1[0]R1[4:0]G1[4:3] | G1[2:0]B1[4:0] | A0[0]R0[4:0]G0[4:3] | G0[2:0]B0[4:0] |
| ARGB4444 | A1[3:0]R1[3:0] | G1[3:0]B1[3:0] | A0[3:0]R0[3:0] | G0[3:0]B0[3:0] |
| L8 | L3[7:0] | L2[7:0] | L1[7:0] | L0[7:0] |
| AL44 | A3[3:0]L3[3:0] | A2[3:0]L2[3:0] | A1[3:0]L1[3:0] | A0[3:0]L0[3:0] |
| AL88 | A1[7:0] | L1[7:0] | A0[7:0] | L0[7:0] |
| L4 | L7[3:0]L6[3:0] | L5[3:0]L4[3:0] | L3[3:0]L2[3:0] | L1[3:0]L0[3:0] |
| A8 | A3[7:0] | A2[7:0] | A1[7:0] | A0[7:0] |
| A4 | A7[3:0]A6[3:0] | A5[3:0]A4[3:0] | A3[3:0]A2[3:0] | A1[3:0]A0[3:0] |
| AM[1:0] | Alpha mode |
| 00 | No modification |
| 01 | Replaced by value in DMA2D_xxPFCCR |
| 10 | Replaced by original value multiplied by the value in DMA2D_xxPFCCR / 255 |
| 11 | Reserved |
| CCM | CLUT color mode |
| 0 | 32-bit ARGB8888 |
| 1 | 24-bit RGB888 |
| CLUT Color Mode | @ + 3 | @ + 2 | @ + 1 | @ + 0 |
| ARGB8888 | A0[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| RGB888 | B1[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| G2[7:0] | B2[7:0] | R1[7:0] | G1[7:0] | |
| R3[7:0] | G3[7:0] | B3[7:0] | R2[7:0] |
| CM[2:0] | Color mode |
| 000 | ARGB8888 |
| 001 | RGB888 |
| 010 | RGB565 |
| 011 | ARGB1555 |
| 100 | ARGB4444 |
| Color Mode | @ + 3 | @ + 2 | @ + 1 | @ + 0 |
| ARGB8888 | A0[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| RGB888 | B1[7:0] | R0[7:0] | G0[7:0] | B0[7:0] |
| G2[7:0] | B2[7:0] | R1[7:0] | G1[7:0] | |
| R3[7:0] | G3[7:0] | B3[7:0] | R2[7:0] | |
| RGB565 | R1[4:0]G1[5:3] | G1[2:0]B1[4:0] | R0[4:0]G0[5:3] | G0[2:0]B0[4:0] |
| ARGB1555 | A1[0]R1[4:0]G1[4:3] | G1[2:0]B1[4:0] | A0[0]R0[4:0]G0[4:3] | G0[2:0]B0[4:0] |
| ARGB4444 | A1[3:0]R1[3:0] | G1[3:0]B1[3:0] | A0[3:0]R0[3:0] | G0[3:0]B0[3:0] |
| Interrupt event | Event flag | Enable control bit |
| Configuration error | CEIF | CEIE |
| CLUT transfer complete | CTCIF | CTCIE |
| CLUT access error | CAEIF | CAEIE |
| Transfer watermark | TWF | TWIE |
| Transfer complete | TCIF | TCIE |
| Transfer error | TEIF | TEIE |
| Reserved | MODE | |||||||||||||
| Reserved | CEIE | CTCIE | CAEIE | TWIE | TCIE | TEIE | Reserved | ABORT | SUSP | START | ||||
| rw | rw | rw | rw | rw | rw | rs | rw | rs | ||||||
| Reserved | ||||||||||||||
| Reserved | CEIF | CTCIF | CAEIF | TWIF | TCIF | TEIF | ||||||||
| r | r | r | r | r | r | |||||||||
| Reserved | ||||||||||||||
| Reserved | CCEIF | CCTCIF | CAECIF | CTWIF | CTCIF | CTEIF | ||||||||
| rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | |||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | LO[13:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | LO[13:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ALPHA[7:0] | Reserved | AM[1:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CS[7:0] | Reserved | START | CCM | CM[3:0] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rs | rw | rw | rw | rw | rw | rw | |
| Reserved | RED[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GREEN[7:0] | BLUE[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ALPHA[7:0] | Reserved | AM[1:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CS[7:0] | Reserved | START | CCM | CM[3:0] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rs | rw | rw | rw | rw | rw | rw | |
| Reserved | RED[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GREEN[7:0] | BLUE[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | CM[2:0] | ||||||||||||||
| rw | rw | rw | |||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ALPHA[7:0] | RED[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GREEN[7:0] | BLUE[7:0] | ||||||||||||||
| RED[4:0] | GREEN[5:0] | BLUE[4:0] | |||||||||||||
| A | RED[4:0] | GREEN[4:0] | BLUE[4:0] | ||||||||||||
| ALPHA[3:0] | RED[3:0] | GREEN[3:0] | BLUE[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | LO[13:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | PL[13:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| NL[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| LW[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DT[7:0] | Reserved | EN | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x0000 | DMA2D_CRReset value | Reserved | MODE[1:0] | Reserved | CEIE | CTCIE | CAEIE | TWIE | TCIE | TEIE | Reserved | ABORT | SUSP | START | ||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 0x0004 | DMA2D_ISRReset value | Reserved | CEIF | CTCIF | CAEIF | TWIF | TCIF | TEIF | ||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x0008 | DMA2D_IFCRReset value | Reserved | CCEIF | CCTCIF | CAECIF | CTWIF | CTCIF | CTEIF | ||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x000C | DMA2D_FGMARReset value | MA[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0010 | DMA2D_FGORReset value | Reserved | LO[13:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x0014 | DMA2D_BGMARReset value | MA[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0018 | DMA2D_BGORReset value | Reserved | LO[13:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x001C | DMA2D_FGPFCCRReset value | ALPHA[7:0] | Reserved | AM[1:0] | CS[7:0] | Res | START | CCM | CM[3:0] | |||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x0020 | DMA2D_FGCOLRReset value | APLHA[7:0] | RED[7:0] | GREEN[7:0] | BLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0024 | DMA2D_BGPFCCRReset value | ALPHA[7:0] | Reserved | AM[1:0] | CS[7:0] | Res | START | CCM | CM[3:0] | |||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x0028 | DMA2D_BGCOLRReset value | APLHA[7:0] | RED[7:0] | GREEN[7:0] | BLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x002C | DMA2D_FGCMARReset value | MA[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0030 | DMA2D_BGCMARReset value | MA[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0034 | DMA2D_OPFCCRReset value | Reserved | CM[2:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | ||||||||||||||||||||||||||||||||
| 0x0038 | DMA2D_OCOLR | APLHA[7:0] | RED[7:0] | GREEN[7:0] | BLUE[7:0] | |||||||||||||||||||||||||||||
| Reserved | RED[4:0] | GREEN[6:0] | BLUE[4:0] | |||||||||||||||||||||||||||||||
| Reserved | A | RED[4:0] | GREEN[4:0] | BLUE[4:0] | ||||||||||||||||||||||||||||||
| Reserved | ALPHA[3:0] | RED[3:0] | GREEN[3:0] | BLUE[3:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x003C | DMA2D_OMAR | MA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x0040 | DMA2D_OOR | Reserved | LO[13:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x0044 | DMA2D_NLR | Res | PL[13:0] | NL[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| 0x0048 | DMA2D_LWRReset value | Reserved | LW[15:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x004C | DMA2D_AMTCRReset value | Reserved | DT[7:0] | Reserved | EN | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| 0x0050-Ox03FF | - | Reserved | ||||||||||||||||||||||||||||||||
| 0x0400-0x07FF | DMA2D_FGCLUTReset value | APLHA[7:0][255:0] | RED[7:0][255:0] | GREEN[7:0][255:0] | BLUE[7:0][255:0] | |||||||||||||||||||||||||||||
| X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |||
| 0x0800-0x0BFF | DMA2D_BGCLUTReset value | APLHA[7:0][255:0] | RED[7:0][255:0] | GREEN[7:0][255:0] | BLUE[7:0][255:0] | |||||||||||||||||||||||||||||
| X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |||
| Position | Priority | Type of priority | Acronym | Description | Address |
| - | - | - | Reserved | 0x0000 0000 | |
| -3 | fixed | Reset | Reset | 0x0000 0004 | |
| -2 | fixed | NMI | Non maskable interrupt. The RCC Clock Security System (CSS) is linked to the NMI vector. | 0x0000 0008 | |
| -1 | fixed | HardFault | All class of fault | 0x0000 000C | |
| 0 | settable | MemManage | Memory management | 0x0000 0010 | |
| 1 | settable | BusFault | Pre-fetch fault, memory access fault | 0x0000 0014 | |
| 2 | settable | UsageFault | Undefined instruction or illegal state | 0x0000 0018 | |
| - | - | - | Reserved | 0x0000 001C - 0x0000 002B | |
| 3 | settable | SVCall | System service call via SWI instruction | 0x0000 002C | |
| 4 | settable | Debug Monitor | Debug Monitor | 0x0000 0030 | |
| - | - | - | Reserved | 0x0000 0034 | |
| 5 | settable | PendSV | Pendable request for system service | 0x0000 0038 | |
| 6 | settable | SysTick | System tick timer | 0x0000 003C | |
| 0 | 7 | settable | WWDG | Window Watchdog interrupt | 0x0000 0040 |
| 1 | 8 | settable | PVD | PVD through EXTI line detection interrupt | 0x0000 0044 |
| 2 | 9 | settable | TAMP_STAMP | Tamper and TimeStamp interrupts through the EXTI line | 0x0000 0048 |
| 3 | 10 | settable | RTC_WKUP | RTC Wakeup interrupt through the EXTI line | 0x0000 004C |
| 4 | 11 | settable | FLASH | Flash global interrupt | 0x0000 0050 |
| 5 | 12 | settable | RCC | RCC global interrupt | 0x0000 0054 |
| 6 | 13 | settable | EXTI0 | EXTI Line0 interrupt | 0x0000 0058 |
| 7 | 14 | settable | EXTI1 | EXTI Line1 interrupt | 0x0000 005C |
| 8 | 15 | settable | EXTI2 | EXTI Line2 interrupt | 0x0000 0060 |
| 9 | 16 | settable | EXTI3 | EXTI Line3 interrupt | 0x0000 0064 |
| 10 | 17 | settable | EXTI4 | EXTI Line4 interrupt | 0x0000 0068 |
| 11 | 18 | settable | DMA1_Stream0 | DMA1 Stream0 global interrupt | 0x0000 006C |
| 12 | 19 | settable | DMA1_Stream1 | DMA1 Stream1 global interrupt | 0x0000 0070 |
| 13 | 20 | settable | DMA1_Stream2 | DMA1 Stream2 global interrupt | 0x0000 0074 |
| 14 | 21 | settable | DMA1_Stream3 | DMA1 Stream3 global interrupt | 0x0000 0078 |
| 15 | 22 | settable | DMA1_Stream4 | DMA1 Stream4 global interrupt | 0x0000 007C |
| 16 | 23 | settable | DMA1_Stream5 | DMA1 Stream5 global interrupt | 0x0000 0080 |
| 17 | 24 | settable | DMA1_Stream6 | DMA1 Stream6 global interrupt | 0x0000 0084 |
| 18 | 25 | settable | ADC | ADC1, ADC2 and ADC3 global interrupts | 0x0000 0088 |
| 19 | 26 | settable | CAN1_TX | CAN1 TX interrupts | 0x0000 008C |
| 20 | 27 | settable | CAN1_RX0 | CAN1 RX0 interrupts | 0x0000 0090 |
| 21 | 28 | settable | CAN1_RX1 | CAN1 RX1 interrupt | 0x0000 0094 |
| 22 | 29 | settable | CAN1_SCE | CAN1 SCE interrupt | 0x0000 0098 |
| 23 | 30 | settable | EXTI9_5 | EXTI Line[9:5] interrupts | 0x0000 009C |
| 24 | 31 | settable | TIM1_BRK_TIM9 | TIM1 Break interrupt and TIM9 global interrupt | 0x0000 00A0 |
| 25 | 32 | settable | TIM1_UP_TIM10 | TIM1 Update interrupt and TIM10 global interrupt | 0x0000 00A4 |
| 26 | 33 | settable | TIM1_TRG_COM_TIM11 | TIM1 Trigger and Commutation interrupts and TIM11 global interrupt | 0x0000 00A8 |
| 27 | 34 | settable | TIM1_CC | TIM1 Capture Compare interrupt | 0x0000 00AC |
| 28 | 35 | settable | TIM2 | TIM2 global interrupt | 0x0000 00B0 |
| 29 | 36 | settable | TIM3 | TIM3 global interrupt | 0x0000 00B4 |
| 30 | 37 | settable | TIM4 | TIM4 global interrupt | 0x0000 00B8 |
| 31 | 38 | settable | I2C1_EV | I2C1 event interrupt | 0x0000 00BC |
| 32 | 39 | settable | I2C1_ER | I2C1 error interrupt | 0x0000 00C0 |
| 33 | 40 | settable | I2C2_EV | I2C2 event interrupt | 0x0000 00C4 |
| 34 | 41 | settable | I2C2_ER | I2C2 error interrupt | 0x0000 00C8 |
| 35 | 42 | settable | SPI1 | SPI1 global interrupt | 0x0000 00CC |
| 36 | 43 | settable | SPI2 | SPI2 global interrupt | 0x0000 00D0 |
| 37 | 44 | settable | USART1 | USART1 global interrupt | 0x0000 00D4 |
| 38 | 45 | settable | USART2 | USART2 global interrupt | 0x0000 00D8 |
| 39 | 46 | settable | USART3 | USART3 global interrupt | 0x0000 00DC |
| 40 | 47 | settable | EXTI15_10 | EXTI Line[15:10] interrupts | 0x0000 00E0 |
| 41 | 48 | settable | RTC_Alarm | RTC Alarms (A and B) through EXTI line interrupt | 0x0000 00E4 |
| 42 | 49 | settable | OTG_FS_WKUP | USB On-The-Go FS Wakeup through EXTI line interrupt | 0x0000 00E8 |
| 43 | 50 | settable | TIM8_BRK_TIM12 | TIM8 Break interrupt and TIM12 global interrupt | 0x0000 00EC |
| 44 | 51 | settable | TIM8_UP_TIM13 | TIM8 Update interrupt and TIM13 global interrupt | 0x0000 00F0 |
| 45 | 52 | settable | TIM8_TRG_COM_TIM14 | TIM8 Trigger and Commutation interrupts and TIM14 global interrupt | 0x0000 00F4 |
| 46 | 53 | settable | TIM8_CC | TIM8 Capture Compare interrupt | 0x0000 00F8 |
| 47 | 54 | settable | DMA1_Stream7 | DMA1 Stream7 global interrupt | 0x0000 00FC |
| 48 | 55 | settable | FSMC | FSMC global interrupt | 0x0000 0100 |
| 49 | 56 | settable | SDIO | SDIO global interrupt | 0x0000 0104 |
| 50 | 57 | settable | TIM5 | TIM5 global interrupt | 0x0000 0108 |
| 51 | 58 | settable | SPI3 | SPI3 global interrupt | 0x0000 010C |
| 52 | 59 | settable | UART4 | UART4 global interrupt | 0x0000 0110 |
| 53 | 60 | settable | UART5 | UART5 global interrupt | 0x0000 0114 |
| 54 | 61 | settable | TIM6_DAC | TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts | 0x0000 0118 |
| 55 | 62 | settable | TIM7 | TIM7 global interrupt | 0x0000 011C |
| 56 | 63 | settable | DMA2_Stream0 | DMA2 Stream0 global interrupt | 0x0000 0120 |
| 57 | 64 | settable | DMA2_Stream1 | DMA2 Stream1 global interrupt | 0x0000 0124 |
| 58 | 65 | settable | DMA2_Stream2 | DMA2 Stream2 global interrupt | 0x0000 0128 |
| 59 | 66 | settable | DMA2_Stream3 | DMA2 Stream3 global interrupt | 0x0000 012C |
| 60 | 67 | settable | DMA2_Stream4 | DMA2 Stream4 global interrupt | 0x0000 0130 |
| 61 | 68 | settable | ETH | Ethernet global interrupt | 0x0000 0134 |
| 62 | 69 | settable | ETH_WKUP | Ethernet Wakeup through EXTI line interrupt | 0x0000 0138 |
| 63 | 70 | settable | CAN2_TX | CAN2 TX interrupts | 0x0000 013C |
| 64 | 71 | settable | CAN2_RX0 | CAN2 RX0 interrupts | 0x0000 0140 |
| 65 | 72 | settable | CAN2_RX1 | CAN2 RX1 interrupt | 0x0000 0144 |
| 66 | 73 | settable | CAN2_SCE | CAN2 SCE interrupt | 0x0000 0148 |
| 67 | 74 | settable | OTG_FS | USB On The Go FS global interrupt | 0x0000 014C |
| 68 | 75 | settable | DMA2_Stream5 | DMA2 Stream5 global interrupt | 0x0000 0150 |
| 69 | 76 | settable | DMA2_Stream6 | DMA2 Stream6 global interrupt | 0x0000 0154 |
| 70 | 77 | settable | DMA2_Stream7 | DMA2 Stream7 global interrupt | 0x0000 0158 |
| 71 | 78 | settable | USART6 | USART6 global interrupt | 0x0000 015C |
| 72 | 79 | settable | I2C3_EV | I2C3 event interrupt | 0x0000 0160 |
| 73 | 80 | settable | I2C3_ER | I2C3 error interrupt | 0x0000 0164 |
| 74 | 81 | settable | OTG_HS_EP1_OUT | USB On The Go HS End Point 1 Out global interrupt | 0x0000 0168 |
| 75 | 82 | settable | OTG_HS_EP1_IN | USB On The Go HS End Point 1 In global interrupt | 0x0000 016C |
| 76 | 83 | settable | OTG_HS_WKUP | USB On The Go HS Wakeup through EXTI interrupt | 0x0000 0170 |
| 77 | 84 | settable | OTG_HS | USB On The Go HS global interrupt | 0x0000 0174 |
| 78 | 85 | settable | DCMI | DCMI global interrupt | 0x0000 0178 |
| 79 | 86 | settable | CRYP | CRYP crypto global interrupt | 0x0000 017C |
| 80 | 87 | settable | HASH_RNG | Hash and Rng global interrupt | 0x0000 0180 |
| 81 | 88 | settable | FPU | FPU global interrupt | 0x0000 0184 |
| Position | Priority | Type of priority | Acronym | Description | Address |
| - | - | - | Reserved | 0x0000 0000 | |
| -3 | fixed | Reset | Reset | 0x0000 0004 | |
| -2 | fixed | NMI | Non maskable interrupt, Clock Security System | 0x0000 0008 | |
| -1 | fixed | HardFault | All class of fault | 0x0000 000C | |
| 0 | settable | MemManage | Memory management | 0x0000 0010 | |
| 1 | settable | BusFault | Pre-fetch fault, memory access fault | 0x0000 0014 | |
| 2 | settable | UsageFault | Undefined instruction or illegal state | 0x0000 0018 | |
| - | - | - | Reserved | 0x0000 001C - 0x0000 002B | |
| 3 | settable | SVCall | System Service call via SWI instruction | 0x0000 002C | |
| 4 | settable | Debug Monitor | Debug Monitor | 0x0000 0030 | |
| - | - | Reserved | 0x0000 0034 | ||
| 5 | settable | PendSV | Pendable request for system service | 0x0000 0038 | |
| 6 | settable | Systick | System tick timer | 0x0000 003C | |
| 0 | 7 | settable | WWDG | Window Watchdog interrupt | 0x0000 0040 |
| 1 | 8 | settable | PVD | PVD through EXTI line detection interrupt | 0x0000 0044 |
| 2 | 9 | settable | TAMP_STAMP | Tamper and TimeStamp interrupts through the EXTI line | 0x0000 0048 |
| 3 | 10 | settable | RTC_WKUP | RTC Wakeup interrupt through the EXTI line | 0x0000 004C |
| 4 | 11 | settable | FLASH | Flash global interrupt | 0x0000 0050 |
| 5 | 12 | settable | RCC | RCC global interrupt | 0x0000 0054 |
| 6 | 13 | settable | EXTI0 | EXTI Line0 interrupt | 0x0000 0058 |
| 7 | 14 | settable | EXTI1 | EXTI Line1 interrupt | 0x0000 005C |
| 8 | 15 | settable | EXTI2 | EXTI Line2 interrupt | 0x0000 0060 |
| 9 | 16 | settable | EXTI3 | EXTI Line3 interrupt | 0x0000 0064 |
| 10 | 17 | settable | EXTI4 | EXTI Line4 interrupt | 0x0000 0068 |
| 11 | 18 | settable | DMA1_Stream0 | DMA1 Stream0 global interrupt | 0x0000 006C |
| 12 | 19 | settable | DMA1_Stream1 | DMA1 Stream1 global interrupt | 0x0000 0070 |
| 13 | 20 | settable | DMA1_Stream2 | DMA1 Stream2 global interrupt | 0x0000 0074 |
| 14 | 21 | settable | DMA1_Stream3 | DMA1 Stream3 global interrupt | 0x0000 0078 |
| 15 | 22 | settable | DMA1_Stream4 | DMA1 Stream4 global interrupt | 0x0000 007C |
| 16 | 23 | settable | DMA1_Stream5 | DMA1 Stream5 global interrupt | 0x0000 0080 |
| 17 | 24 | settable | DMA1_Stream6 | DMA1 Stream6 global interrupt | 0x0000 0084 |
| 18 | 25 | settable | ADC | ADC1, ADC2 and ADC3 global interrupts | 0x0000 0088 |
| 19 | 26 | settable | CAN1_TX | CAN1 TX interrupts | 0x0000 008C |
| 20 | 27 | settable | CAN1_RX0 | CAN1 RX0 interrupts | 0x0000 0090 |
| 21 | 28 | settable | CAN1_RX1 | CAN1 RX1 interrupt | 0x0000 0094 |
| 22 | 29 | settable | CAN1_SCE | CAN1 SCE interrupt | 0x0000 0098 |
| 23 | 30 | settable | EXTI9_5 | EXTI Line[9:5] interrupts | 0x0000 009C |
| 24 | 31 | settable | TIM1_BRK_TIM9 | TIM1 Break interrupt and TIM9 global interrupt | 0x0000 00A0 |
| 25 | 32 | settable | TIM1_UP_TIM10 | TIM1 Update interrupt and TIM10 global interrupt | 0x0000 00A4 |
| 26 | 33 | settable | TIM1_TRG_COM_TIM11 | TIM1 Trigger and Commutation interrupts and TIM11 global interrupt | 0x0000 00A8 |
| 27 | 34 | settable | TIM1_CC | TIM1 Capture Compare interrupt | 0x0000 00AC |
| 28 | 35 | settable | TIM2 | TIM2 global interrupt | 0x0000 00B0 |
| 29 | 36 | settable | TIM3 | TIM3 global interrupt | 0x0000 00B4 |
| 30 | 37 | settable | TIM4 | TIM4 global interrupt | 0x0000 00B8 |
| 31 | 38 | settable | I2C1_EV | I2C1 event interrupt | 0x0000 00BC |
| 32 | 39 | settable | I2C1_ER | I2C1 error interrupt | 0x0000 00C0 |
| 33 | 40 | settable | I2C2_EV | I2C2 event interrupt | 0x0000 00C4 |
| 34 | 41 | settable | I2C2_ER | I2C2 error interrupt | 0x0000 00C8 |
| 35 | 42 | settable | SPI1 | SPI1 global interrupt | 0x0000 00CC |
| 36 | 43 | settable | SPI2 | SPI2 global interrupt | 0x0000 00D0 |
| 37 | 44 | settable | USART1 | USART1 global interrupt | 0x0000 00D4 |
| 38 | 45 | settable | USART2 | USART2 global interrupt | 0x0000 00D8 |
| 39 | 46 | settable | USART3 | USART3 global interrupt | 0x0000 00DC |
| 40 | 47 | settable | EXTI15_10 | EXTI Line[15:10] interrupts | 0x0000 00E0 |
| 41 | 48 | settable | RTC_Alarm | RTC Alarms (A and B) through EXTI line interrupt | 0x0000 00E4 |
| 42 | 49 | settable | OTG_FS_WKUP | USB On-The-Go FS Wakeup through EXTI line interrupt | 0x0000 00E8 |
| 43 | 50 | settable | TIM8_BRK_TIM12 | TIM8 Break interrupt and TIM12 global interrupt | 0x0000 00EC |
| 44 | 51 | settable | TIM8_UP_TIM13 | TIM8 Update interrupt and TIM13 global interrupt | 0x0000 00F0 |
| 45 | 52 | settable | TIM8_TRG_COM_TIM14 | TIM8 Trigger and Commutation interrupts and TIM14 global interrupt | 0x0000 00F4 |
| 46 | 53 | settable | TIM8_CC | TIM8 Capture Compare interrupt | 0x0000 00F8 |
| 47 | 54 | settable | DMA1_Stream7 | DMA1 Stream7 global interrupt | 0x0000 00FC |
| 48 | 55 | settable | FSMC | FSMC global interrupt | 0x0000 0100 |
| 49 | 56 | settable | SDIO | SDIO global interrupt | 0x0000 0104 |
| 50 | 57 | settable | TIM5 | TIM5 global interrupt | 0x0000 0108 |
| 51 | 58 | settable | SPI3 | SPI3 global interrupt | 0x0000 010C |
| 52 | 59 | settable | UART4 | UART4 global interrupt | 0x0000 0110 |
| 53 | 60 | settable | UART5 | UART5 global interrupt | 0x0000 0114 |
| 54 | 61 | settable | TIM6_DAC | TIM6 global interrupt, DAC1 and DAC2 underrun error interrupts | 0x0000 0118 |
| 55 | 62 | settable | TIM7 | TIM7 global interrupt | 0x0000 011C |
| 56 | 63 | settable | DMA2_Stream0 | DMA2 Stream0 global interrupt | 0x0000 0120 |
| 57 | 64 | settable | DMA2_Stream1 | DMA2 Stream1 global interrupt | 0x0000 0124 |
| 58 | 65 | settable | DMA2_Stream2 | DMA2 Stream2 global interrupt | 0x0000 0128 |
| 59 | 66 | settable | DMA2_Stream3 | DMA2 Stream3 global interrupt | 0x0000 012C |
| 60 | 67 | settable | DMA2_Stream4 | DMA2 Stream4 global interrupt | 0x0000 0130 |
| 61 | 68 | settable | ETH | Ethernet global interrupt | 0x0000 0134 |
| 62 | 69 | settable | ETH_WKUP | Ethernet Wakeup through EXTI line interrupt | 0x0000 0138 |
| 63 | 70 | settable | CAN2_TX | CAN2 TX interrupts | 0x0000 013C |
| 64 | 71 | settable | CAN2_RX0 | CAN2 RX0 interrupts | 0x0000 0140 |
| 65 | 72 | settable | CAN2_RX1 | CAN2 RX1 interrupt | 0x0000 0144 |
| 66 | 73 | settable | CAN2_SCE | CAN2 SCE interrupt | 0x0000 0148 |
| 67 | 74 | settable | OTG_FS | USB On The Go FS global interrupt | 0x0000 014C |
| 68 | 75 | settable | DMA2_Stream5 | DMA2 Stream5 global interrupt | 0x0000 0150 |
| 69 | 76 | settable | DMA2_Stream6 | DMA2 Stream6 global interrupt | 0x0000 0154 |
| 70 | 77 | settable | DMA2_Stream7 | DMA2 Stream7 global interrupt | 0x0000 0158 |
| 71 | 78 | settable | USART6 | USART6 global interrupt | 0x0000 015C |
| 72 | 79 | settable | I2C3_EV | I2C3 event interrupt | 0x0000 0160 |
| 73 | 80 | settable | I2C3_ER | I2C3 error interrupt | 0x0000 0164 |
| 74 | 81 | settable | OTG_HS_EP1_OUT | USB On The Go HS End Point 1 Out global interrupt | 0x0000 0168 |
| 75 | 82 | settable | OTG_HS_EP1_IN | USB On The Go HS End Point 1 In global interrupt | 0x0000 016C |
| 76 | 83 | settable | OTG_HS_WKUP | USB On The Go HS Wakeup through EXTI interrupt | 0x0000 0170 |
| 77 | 84 | settable | OTG_HS | USB On The Go HS global interrupt | 0x0000 0174 |
| 78 | 85 | settable | DCMI | DCMI global interrupt | 0x0000 0178 |
| 79 | 86 | settable | CRYP | CRYP crypto global interrupt | 0x0000 017C |
| 80 | 87 | settable | HASH_RNG | Hash and Rng global interrupt | 0x0000 0180 |
| 81 | 88 | Settable | FPU | FPU global interrupt | 0x0000 0184 |
| 82 | 89 | settable | UART7 | UART 7 global interrupt | 0x0000 0188 |
| 83 | 90 | settable | UART8 | UART 8 global interrupt | 0x0000 018C |
| 84 | 91 | settable | SPI4 | SPI 4 global interrupt | 0x0000 0190 |
| 85 | 92 | settable | SPI5 | SPI 5 global interrupt | 0x0000 0194 |
| 86 | 93 | settable | SPI6 | SPI 6 global interrupt | 0x0000 0198 |
| 87 | 94 | settable | SAI1 | SAI1 global interrupt | 0x0000 019C |
| 88 | 95 | settable | LCD-TFT | LTDC global interrupt | 0x0000 01A0 |
| 89 | 96 | settable | LCD-TFT | LTDC global Error interrupt | 0x0000 01A4 |
| 90 | 97 | settable | DMA2D | DMA2D global interrupt | 0x0000 01A8 |
| Reserved | MR22 | MR21 | MR20 | MR19 | MR18 | MR17 | MR16 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MR15 | MR14 | MR13 | MR12 | MR11 | MR10 | MR9 | MR8 | MR7 | MR6 | MR5 | MR4 | MR3 | MR2 | MR1 | MR0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | MR22 | MR21 | MR20 | MR19 | MR18 | MR17 | MR16 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MR15 | MR14 | MR13 | MR12 | MR11 | MR10 | MR9 | MR8 | MR7 | MR6 | MR5 | MR4 | MR3 | MR2 | MR1 | MR0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | TR22 | TR21 | TR20 | TR19 | TR18 | TR17 | TR16 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TR15 | TR14 | TR13 | TR12 | TR11 | TR10 | TR9 | TR8 | TR7 | TR6 | TR5 | TR4 | TR3 | TR2 | TR1 | TR0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | TR22 | TR21 | TR20 | TR19 | TR18 | TR17 | TR16 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TR15 | TR14 | TR13 | TR12 | TR11 | TR10 | TR9 | TR8 | TR7 | TR6 | TR5 | TR4 | TR3 | TR2 | TR1 | TR0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | SWIER 22 | SWIER 21 | SWIER 20 | SWIER 19 | SWIER 18 | SWIER 17 | SWIER 16 | ||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SWIER 15 | SWIER 14 | SWIER 13 | SWIER 12 | SWIER 11 | SWIER 10 | SWIER 9 | SWIER 8 | SWIER 7 | SWIER 6 | SWIER 5 | SWIER 4 | SWIER 3 | SWIER 2 | SWIER 1 | SWIER 0 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | PR22 | PR21 | PR20 | PR19 | PR18 | PR17 | PR16 | ||||||||
| rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PR15 | PR14 | PR13 | PR12 | PR11 | PR10 | PR9 | PR8 | PR7 | PR6 | PR5 | PR4 | PR3 | PR2 | PR1 | PR0 |
| rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 | rc_w1 |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | EXTI_IMRReset value | Reserved | MR[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x04 | EXTI_EMRReset value | Reserved | MR[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x08 | EXTI_RTSRReset value | Reserved | TR[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x0C | EXTI_FTSRReset value | Reserved | TR[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x10 | EXTI_SWIERReset value | Reserved | SWIER[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x14 | EXTI_PRReset value | Reserved | PR[22:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| Name | Signal type | Remarks |
| $V_{REF+}$ | Input, analog reference positive | The higher/positive reference voltage for the ADC, $1.8 \text{ V} \leq V_{REF+} \leq V_{DDA}$ |
| $V_{DDA}$ | Input, analog supply | Analog power supply equal to $V_{DD}$ and $2.4 \text{ V} \leq V_{DDA} \leq V_{DD}$ (3.6 V) for full speed $1.8 \text{ V} \leq V_{DDA} \leq V_{DD}$ (3.6 V) for reduced speed |
| $V_{REF-}$ | Input, analog reference negative | The lower/negative reference voltage for the ADC, $V_{REF-} = V_{SSA}$ |
| $V_{SSA}$ | Input, analog supply ground | Ground for analog power supply equal to $V_{SS}$ |
| ADCx_IN[15:0] | Analog input signals | 16 analog input channels |
| Channels guarded by the analog watchdog | ADC_CR1 register control bits (x = don’t care) | ||
| AWDSGL bit | AWDEN bit | JAWDEN bit | |
| None | x | 0 | 0 |
| All injected channels | 0 | 0 | 1 |
| All regular channels | 0 | 1 | 0 |
| All regular and injected channels | 0 | 1 | 1 |
| Single(1) injected channel | 1 | 0 | 1 |
| Single(1) regular channel | 1 | 1 | 0 |
| Single (1) regular or injected channel | 1 | 1 | 1 |
| Source | EXTEN[1:0] / JEXTEN[1:0] |
| Trigger detection disabled | 00 |
| Detection on the rising edge | 01 |
| Detection on the falling edge | 10 |
| Detection on both the rising and falling edges | 11 |
| Source | Type | EXTSEL[3:0] |
| TIM1_CH1 event | Internal signal from on-chip timers | 0000 |
| TIM1_CH2 event | 0001 | |
| TIM1_CH3 event | 0010 | |
| TIM2_CH2 event | 0011 | |
| TIM2_CH3 event | 0100 | |
| TIM2_CH4 event | 0101 | |
| TIM2_TRGO event | 0110 | |
| TIM3_CH1 event | 0111 | |
| TIM3_TRGO event | 1000 | |
| TIM4_CH4 event | 1001 | |
| TIM5_CH1 event | 1010 | |
| TIM5_CH2 event | 1011 | |
| TIM5_CH3 event | 1100 | |
| TIM8_CH1 event | 1101 | |
| TIM8_TRGO event | 1110 | |
| EXTI line11 | External pin | 1111 |
| Source | Connection type | JEXTSEL[3:0] |
| TIM1_CH4 event | Internal signal from on-chip timers | 0000 |
| TIM1_TRGO event | 0001 | |
| TIM2_CH1 event | 0010 | |
| TIM2_TRGO event | 0011 | |
| TIM3_CH2 event | 0100 | |
| TIM3_CH4 event | 0101 | |
| TIM4_CH1 event | 0110 | |
| TIM4_CH2 event | 0111 | |
| TIM4_CH3 event | 1000 | |
| TIM4_TRGO event | 1001 | |
| TIM5_CH4 event | 1010 | |
| TIM5_TRGO event | 1011 | |
| TIM8_CH2 event | 1100 | |
| TIM8_CH3 event | 1101 | |
| TIM8_CH4 event | 1110 | |
| EXTI line15 | External pin | 1111 |
| Interrupt event | Event flag | Enable control bit |
| End of conversion of a regular group | EOC | EOCIE |
| End of conversion of an injected group | JEOC | JEOCIE |
| Analog watchdog status bit is set | AWD | AWDIE |
| Overrun | OVR | OVRIE |
| Reserved | ||||||||||||||
| Reserved | OVR | STRT | JSTRT | JEOC | EOC | AWD | ||||||||
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | |||||||||
| Reserved | OVRIE | RES | AWDEN | JAWDEN | Reserved | ||||||||||
| rw | rw | rw | rw | rw | |||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DISCNUM[2:0] | JDISCEN | DISCEN | JAUTO | AWDSGL | SCAN | JEOCIE | AWDIE | EOCIE | AWDCH[4:0] | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| reserved | SWST ART | EXTEN | EXTSEL[3:0] | reserved | JSWST ART | JEXTEN | JEXTSEL[3:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| reserved | ALIGN | EOCS | DDS | DMA | Reserved | CONT | ADON | ||||||||
| rw | rw | rw | rw | rw | rw | ||||||||||
| Reserved | SMP18[2:0] | SMP17[2:0] | SMP16[2:0] | SMP15[2:1] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SMP15_0 | SMP14[2:0] | SMP13[2:0] | SMP12[2:0] | SMP11[2:0] | SMP10[2:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | SMP9[2:0] | SMP8[2:0] | SMP7[2:0] | SMP6[2:0] | SMP5[2:1] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SMP5_0 | SMP4[2:0] | SMP3[2:0] | SMP2[2:0] | SMP1[2:0] | SMP0[2:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | JOFFSETx[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | |||||||||||||||
| Reserved | HT[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | ||||||||||||||
| Reserved | LT[11:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | L[3:0] | SQ16[4:1] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ16_0 | SQ15[4:0] | SQ14[4:0] | SQ13[4:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||
| Reserved | SQ12[4:0] | SQ11[4:0] | SQ10[4:1] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ10_0 | SQ9[4:0] | SQ8[4:0] | SQ7[4:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | SQ6[4:0] | SQ5[4:0] | SQ4[4:1] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ4_0 | SQ3[4:0] | SQ2[4:0] | SQ1[4:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | JL[1:0] | JSQ4[4:1] | |||||||||||||
| rw | rw | rw | rw | rw | rw | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JSQ4[0] | JSQ3[4:0] | JSQ2[4:0] | JSQ1[4:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JDATA[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | OVR3 | STRT3 | JSTRT3 | JEOC 3 | EOC3 | AWD3 | ||||||||
| ADC3 | ||||||||||||||
| r | r | r | r | r | r | |||||||||
| Reserved | OVR2 | STRT2 | JSTRT2 | JEOC2 | EOC2 | AWD2 | Reserved | Reserved | OVR1 | STRT1 | JSTRT1 | JEOC 1 | EOC1 | AWD1 |
| ADC2 | ADC1 | |||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | |||
| Reserved | TSVREFE | VBATE | Reserved | ADCPRE | |||||||||||
| rw | rw | rw | rw | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA[1:0] | DDS | Res. | DELAY[3:0] | Reserved | MULTI[4:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATA2[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA1[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Offset | Register |
| 0x000 - 0x04C | ADC1 |
| 0x050 - 0x0FC | Reserved |
| 0x100 - 0x14C | ADC2 |
| 0x118 - 0x1FC | Reserved |
| 0x200 - 0x24C | ADC3 |
| 0x250 - 0x2FC | Reserved |
| 0x300 - 0x308 | Common registers |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | ADC_SR | Reserved | OVR | STRT | JSTRT | JEOC | EOC | AWD | |||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| 0x04 | ADC_CR1 | Reserved | OVRIE | RES[1:0] | AWDEN | JAWDEN | Reserved | DISC NUM [2:0] | JDISCEN | DISCEN | JAUTO | AWD SGL | SCAN | JEOCIE | AWDIE | EOCIE | AWDCH[4:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||
| 0x08 | ADC_CR2 | Rese v ed | SWSTART | EXTEN[1:0] | EXTSEL [3:0] | Rese v ed | JSWSTART | JEXTEN[1:0] | JEXTSEL [3:0] | Reserved | ALIGN | EOCS | DDS | DMA | Reserved | CONT | ADON | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||
| 0x0C | ADC_SMPR1 | Sample time bits SMPx_x | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x10 | ADC_SMPR2 | Sample time bits SMPx_x | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x14 | ADC_JOFR1 | Reserved | JOFFSET1[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x18 | ADC_JOFR2 | Reserved | JOFFSET2[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x1C | ADC_JOFR3 | Reserved | JOFFSET3[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x20 | ADC_JOFR4 | Reserved | JOFFSET4[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x24 | ADC_HTR | Reserved | HT[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||
| 0x28 | ADC_LTR | Reserved | LT[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x2C | ADC_SQR1 | Reserved | L[3:0] | Regular channel sequence SQx_x bits | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||
| 0x30 | ADC_SQR2 | Reserved | Regular channel sequence SQx_x bits | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x34 | ADC_SQR3 | Reserved | Regular channel sequence SQx_x bits | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x38 | ADC_JSQR | Reserved | JL[1:0] | Injected channel sequence JSQx_x bits | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x3C | ADC_JDR1 | Reserved | JDATA[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x40 | ADC_JDR2 | Reserved | JDATA[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x44 | ADC_JDR3 | Reserved | JDATA[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x48 | ADC_JDR4 | Reserved | JDATA[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x4C | ADC_DR | Reserved | Regular DATA[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | ADC_CSRReset value | Reserved | OVR | STRT | JSTRT | JEOC | EOC | AWD | Reserved | OVR | STRT | JSTRT | JEOC | EOC | AWD | Reserved | OVR | STRT | JSTRT | JEOC | EOC | AWD | |||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| ADC3 | ADC2 | ADC1 | |||||||||||||||||||||||||||||||
| 0x04 | ADC_CCRReset value | Reserved | TSVREFE | VBATE | Reserved | ADCPRE[1:0] | DMA[1:0] | DDS | Reserved | DELAY [3:0] | Reserved | MULTI [4:0] | |||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x08 | ADC_CDRReset value | Regular DATA2[15:0] | Regular DATA1[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| Name | Signal type | Remarks |
| $V_{REF+}$ | Input, analog reference positive | The higher/positive reference voltage for the DAC, $1.8 \text{ V} \leq V_{REF+} \leq V_{DDA}$ |
| $V_{DDA}$ | Input, analog supply | Analog power supply |
| $V_{SSA}$ | Input, analog supply ground | Ground for analog power supply |
| DAC_OUTx | Analog output signal | DAC channelx analog output |
| Source | Type | TSEL[2:0] |
| Timer 6 TRGO event | Internal signal from on-chip timers | 000 |
| Timer 8 TRGO event | 001 | |
| Timer 7 TRGO event | 010 | |
| Timer 5 TRGO event | 011 | |
| Timer 2 TRGO event | 100 | |
| Timer 4 TRGO event | 101 | |
| EXTI line9 | External pin | 110 |
| SWTRIG | Software control bit | 111 |
| Reserved | DMAUDRIE2 | DMAEN2 | MAMP2[3:0] | WAVE2[1:0] | TSEL2[2:0] | TEN2 | BOFF2 | EN2 | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | DMAUDRIE1 | DMAEN1 | MAMP1[3:0] | WAVE1[1:0] | TSEL1[2:0] | TEN1 | BOFF1 | EN1 | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | |||||||||||||||
| Reserved | SWTRIG2 | SWTRIG1 | |||||||||||||
| w | w | ||||||||||||||
| Reserved | |||||||||||||||
| Reserved | DACC1DHR[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DACC1DHR[11:0] | Reserved | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | DACC1DHR[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| Reserved | |||||||||||||||
| Reserved | DACC2DHR[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DACC2DHR[11:0] | Reserved | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | DACC2DHR[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| Reserved | DACC2DHR[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | DACC1DHR[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DACC2DHR[11:0] | Reserved | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DACC1DHR[11:0] | Reserved | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DACC2DHR[7:0] | DACC1DHR[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | |||||||||||||||
| Reserved | DACC1DOR[11:0] | ||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | ||||
| Reserved | |||||||||||||||
| Reserved | DACC2DOR[11:0] | ||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | ||||
| Reserved | DMAUDR2 | Reserved | ||||||||||||
| rc_w1 | ||||||||||||||
| Reserved | DMAUDR1 | Reserved | ||||||||||||
| rc_w1 | ||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | DAC_CR | Reserved | DMAUDRIE2 | DMAEN2 | MAMP2[3:0] | WAVE2[2:0] | TSEL2[2:0] | TEN2 | BOFF2 | EN2 | Reserved | DMAUDRIE1 | DMAEN1 | MAMP1[3:0] | WAVE1[2:0] | TSEL1[2:0] | TEN1 | BOFF1 | EN1 | ||||||||||||||
| 0x04 | DAC_SWTRIGR | Reserved | SWTRIG2 | SWTRIG1 | |||||||||||||||||||||||||||||
| 0x08 | DAC_DHR12R1 | Reserved | DACC1DHR[11:0] | ||||||||||||||||||||||||||||||
| 0x0C | DAC_DHR12L1 | Reserved | DACC1DHR[11:0] | Reserved | |||||||||||||||||||||||||||||
| 0x10 | DAC_DHR8R1 | Reserved | DACC1DHR[7:0] | ||||||||||||||||||||||||||||||
| 0x14 | DAC_DHR12R2 | Reserved | DACC2DHR[11:0] | ||||||||||||||||||||||||||||||
| 0x18 | DAC_DHR12L2 | Reserved | DACC2DHR[11:0] | Reserved | |||||||||||||||||||||||||||||
| 0x1C | DAC_DHR8R2 | Reserved | DACC2DHR[7:0] | ||||||||||||||||||||||||||||||
| 0x20 | DAC_DHR12RD | Reserved | DACC2DHR[11:0] | Reserved | DACC1DHR[11:0] | Reserved | |||||||||||||||||||||||||||
| 0x24 | DAC_DHR12LD | DACC2DHR[11:0] | Reserved | DACC1DHR[11:0] | |||||||||||||||||||||||||||||
| 0x28 | DAC_DHR8RD | Reserved | DACC2DHR[7:0] | DACC1DHR[7:0] | |||||||||||||||||||||||||||||
| 0x2C | DAC_DOR1 | Reserved | DACC1DOR[11:0] | ||||||||||||||||||||||||||||||
| 0x30 | DAC_DOR2 | Reserved | DACC2DOR[11:0] | ||||||||||||||||||||||||||||||
| 0x34 | DAC_SR | Reserved | DMAUDR2 | Reserved | DMAUDR1 | Reserved | |||||||||||||||||||||||||||
| Name | Signal type |
| D[0:13] | Data inputs |
| HSYNC | Horizontal synchronization input |
| VSYNC | Vertical synchronization input |
| PIXCLK | Pixel clock input |
| Signal name | Signal description | |
| 8 bits | D[0..7] | Data |
| 10 bits | D[0..9] | |
| 12 bits | D[0..11] | |
| 14 bits | D[0..13] | |
| PIXCLK | Pixel clock | |
| HSYNC | Horizontal synchronization / Data valid | |
| VSYNC | Vertical synchronization | |
| Byte address | 31:24 | 23:16 | 15:8 | 7:0 |
| 0 | $D_{n+3}[7:0]$ | $D_{n+2}[7:0]$ | $D_{n+1}[7:0]$ | $D_{n}[7:0]$ |
| 4 | $D_{n+7}[7:0]$ | $D_{n+6}[7:0]$ | $D_{n+5}[7:0]$ | $D_{n+4}[7:0]$ |
| Byte address | 31:26 | 25:16 | 15:10 | 9:0 |
| 0 | 0 | $D_{n+1}[9:0]$ | 0 | $D_n[9:0]$ |
| 4 | 0 | $D_{n+3}[9:0]$ | 0 | $D_{n+2}[9:0]$ |
| Byte address | 31:28 | 27:16 | 15:12 | 11:0 |
| 0 | 0 | $D_{n+1}[11:0]$ | 0 | $D_n[11:0]$ |
| 4 | 0 | $D_{n+3}[11:0]$ | 0 | $D_{n+2}[11:0]$ |
| Byte address | 31:30 | 29:16 | 15:14 | 13:0 |
| 0 | 0 | $D_{n+1}[13:0]$ | 0 | $D_n[13:0]$ |
| 4 | 0 | $D_{n+3}[13:0]$ | 0 | $D_{n+2}[13:0]$ |
| Byte address | 31:24 | 23:16 | 15:8 | 7:0 |
| 0 | n + 3 | n + 2 | n + 1 | n |
| 4 | n + 7 | n + 6 | n + 5 | n + 4 |
| Byte address | 31:27 | 26:21 | 20:16 | 15:11 | 10:5 | 4:0 |
| 0 | Red n + 1 | Green n + 1 | Blue n + 1 | Red n | Green n | Blue n |
| 4 | Red n + 4 | Green n + 3 | Blue n + 3 | Red n + 2 | Green n + 2 | Blue n + 2 |
| Byte address | 31:24 | 23:16 | 15:8 | 7:0 |
| 0 | Y n + 1 | Cr n | Y n | Cb n |
| 4 | Y n + 3 | Cr n + 2 | Y n + 2 | Cb n + 2 |
| Interrupt name | Interrupt event |
| IT_LINE | Indicates the end of line |
| IT_FRAME | Indicates the end of frame capture |
| IT_OVR | indicates the overrun of data reception |
| IT_VSYNC | Indicates the synchronization frame |
| IT_ERR | Indicates the detection of an error in the embedded synchronization frame detection |
| IT_DCMI | Logic OR of the previous interrupts |
| Reserved | ENABLE | Reserved | EDM | FCRC | VSPOL | HSPOL | PCKPOL | ESS | JPEG | CROP | CM | CAPTURE | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FNE | VSYNC | HSYNC |
| r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| r | LINE_RIS |
| r | VSYNC_RIS |
| r | ERR_RIS |
| r | OVR_RIS |
| r | FRAME_RIS |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| LINE_IE | VSYNC_IE | ERR_IE | OVR_IE | FRAME_IE |
| rw | rw | rw | rw | rw |
| r | LINE_MIS |
| r | VSYNC_MIS |
| r | ERR_MIS |
| r | OVR_MIS |
| r | FRAME_MIS |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| LINE_ISC | VSYNC_ISC | ERR_ISC | OVR_ISC | FRAME_ISC | |
| W | W | W | W | W | W |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FEC | LEC | LSC | FSC | ||||||||||||||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FEU | LEU | LSU | FSU | |||||||||||||||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | VST[12:0] | Reserved | HOFFCNT[13:0] | ||||||||||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | VLINE13:0] | Reserved | CAPCNT[13:0] | |||||||||||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Byte3 | Byte2 | Byte1 | Byte0 | |||||||||||||||||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | DCMI_CR | Reserved | ENABLE | Reserved | EDM | FCRO | VSPOL | HSPOL | PCKPOL | ESS | JPEG | CROP | CM | CAPTURE | |||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 0x04 | DCMI_SR | Reserved | FNE | VSYNC | HSYNC | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | ||||||||||||||||||||||||||||||
| 0x08 | DCMI_RIS | Reserved | LINE_RIS | VSYNC_RIS | ERR_RIS | OVR_RIS | FRAME_RIS | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x0C | DCMI_IER | Reserved | LINE_IE | VSYNC_IE | ERR_IE | OVR_IE | FRAME_IE | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x10 | DCMI_MIS | Reserved | LINE_MIS | VSYNC_MIS | ERR_MIS | OVR_MIS | FRAME_MIS | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x14 | DCMI_ICR | Reserved | LINE_ISC | VSYNC_ISC | ERR_ISC | OVR_ISC | FRAME_ISC | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x18 | DCMI_ESCR | FEC | LEC | LSC | FSC | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x1C | DCMI_ESUR | FEU | LEU | LSU | FSU | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x20 | DCMI_CWSTR T | Reserved | VST[12:0] | Reserved | HOFFCNT[13:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| 0x24 | DCMI_CWSIZ E | Reserved | VLINE13:0] | Reserved | CAPCNT[13:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| 0x28 | DCMI_DR | Byte3 | Byte2 | Byte1 | Byte0 | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| LTDC registers | Clock domain |
| LTDC_LxCR | HCLK |
| LTDC_LxCFBAR | |
| LTDC_LxCFBLR | |
| LTDC_LxCFBLNR | |
| LTDC_SRCR | PCLK2 |
| LTDC_IER | |
| LTDC_ISR | |
| LTDC_ICR | |
| LTDC_SSCR | Pixel Clock (LCD_CLK) |
| LTDC_BPCR | |
| LTDC_AWCR | |
| LTDC_TWCR | |
| LTDC_GCR | |
| LTDC_BCCR | |
| LTDC_LIPCR | |
| LTDC_CPSR | |
| LTDC_CDSR | |
| LTDC_LxWHPCR | |
| LTDC_LxWVPCR | |
| LTDC_LxCKCR | |
| LTDC_LxPFCR | |
| LTDC_LxCACR | |
| LTDC_LxDCCR | |
| LTDC_LxBFCR | |
| LTDC_LxCLUTWR |
| LCD-TFT signals | I/O | Description |
| LCD_CLK | O | Clock Output |
| LCD_HSYNC | O | Horizontal Synchronization |
| LCD_VSYNC | O | Vertical Synchronization |
| LCD_DE | O | Not Data Enable |
| LCD_R[7:0] | O | Data: 8-bit Red data |
| LCD_G[7:0] | O | Data: 8-bit Green data |
| LCD_B[7:0] | O | Data: 8-bit Blue data |
| ARGB8888 | |||
| @+3 $A_x[7:0]$ | @+2 $R_x[7:0]$ | @+1 $G_x[7:0]$ | @ $B_x[7:0]$ |
| @+7 $A_{x+1}[7:0]$ | @+6 $R_{x+1}[7:0]$ | @+5 $G_{x+1}[7:0]$ | @+4 $B_{x+1}[7:0]$ |
| RGB888 | |||
| @+3 $B_{x+1}[7:0]$ | @+2 $R_x[7:0]$ | @+1 $G_x[7:0]$ | @ $B_x[7:0]$ |
| @+7 $G_{x+2}[7:0]$ | @+6 $B_{x+2}[7:0]$ | @+5 $R_{x+1}[7:0]$ | @+4 $G_{x+1}[7:0]$ |
| RGB565 | |||
| @+3 $R_{x+1}[4:0]$ $G_{x+1}[5:3]$ | @+2 $G_{x+1}[2:0]$ $B_{x+1}[4:0]$ | @+1 $R_x[4:0]$ $G_x[5:3]$ | @ $G_x[2:0]$ $B_x[4:0]$ |
| @+7 $R_{x+3}[4:0] G_{x+3}[5:3]$ | @+6 $G_{x+3}[2:0] B_{x+3}[4:0]$ | @+5 $R_{x+2}[4:0] G_{x+2}[5:3]$ | @+4 $G_{x+2}[2:0] B_{x+2}[4:0]$ |
| ARGB1555 | |||
| @+3 $A_{x+1}[0]R_{x+1}[4:0]G_{x+1}[4:3]$ | @+2 $G_{x+1}[2:0] B_{x+1}[4:0]$ | @+1 $A_{x}[0] R_{x}[4:0] G_{x}[4:3]$ | @ $G_{x}[2:0] B_{x}[4:0]$ |
| @+7 $A_{x+3}[0]R_{x+3}[4:0]G_{x+3}[4:3]$ | @+6 $G_{x+3}[2:0] B_{x+3}[4:0]$ | @+5 $A_{x+2}[0]R_{x+2}[4:0]G_{x+2}[4:3]$ | @+4 $G_{x+2}[2:0] B_{x+2}[4:0]$ |
| ARGB4444 | |||
| @+3 $A_{x+1}[3:0]R_{x+1}[3:0]$ | @+2 $G_{x+1}[3:0] B_{x+1}[3:0]$ | @+1 $A_{x}[3:0] R_{x}[3:0]$ | @ $G_{x}[3:0] B_{x}[3:0]$ |
| @+7 $A_{x+3}[3:0]R_{x+3}[3:0]$ | @+6 $G_{x+3}[3:0] B_{x+3}[3:0]$ | @+5 $A_{x+2}[3:0]R_{x+2}[3:0]$ | @+4 $G_{x+2}[3:0] B_{x+2}[3:0]$ |
| L8 | |||
| @+3 $L_{x+3}[7:0]$ | @+2 $L_{x+2}[7:0]$ | @+1 $L_{x+1}[7:0]$ | @ $L_{x}[7:0]$ |
| @+7 $L_{x+7}[7:0]$ | @+6 $L_{x+6}[7:0]$ | @+5 $L_{x+5}[7:0]$ | @+4 $L_{x+4}[7:0]$ |
| AL44 | |||
| @+3 $A_{x+3}[3:0] L_{x+3}[3:0]$ | @+2 $A_{x+2}[3:0] L_{x+2}[3:0]$ | @+1 $A_{x+1}[3:0] L_{x+1}[3:0]$ | @ $A_{x}[3:0] L_{x}[3:0]$ |
| @+7 $A_{x+7}[3:0] L_{x+7}[3:0]$ | @+6 $A_{x+6}[3:0] L_{x+6}[3:0]$ | @+5 $A_{x+5}[3:0] L_{x+5}[3:0]$ | @+4 $A_{x+4}[3:0] L_{x+4}[3:0]$ |
| AL88 | |||
| @+3 $A_{x+1}[7:0]$ | @+2 $L_{x+1}[7:0]$ | @+1 $A_{x}[7:0]$ | @ $L_{x}[7:0]$ |
| @+7 $A_{x+3}[7:0]$ | @+6 $L_{x+3}[7:0]$ | @+5 $A_{x+2}[7:0]$ | @+4 $L_{x+2}[7:0]$ |
| Interrupt event | Event flag | Enable Control bit |
| Line | LIF | LIE |
| Register Reload | RRIF | RRIEN |
| FIFO Underrun | FUDERRIF | FUDERRIE |
| Transfer Error | TERRIF | TERRIE |
| Reserved | HSW[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | VSH[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | AHBP[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | AVBP[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | AAW[11:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | AAH[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||
| Reserved | TOTALW[11:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | TOTALH[10:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| HSPOL | VSPOL | DEPOL | PCPOL | Reserved | DEN | ||||||||||
| rw | rw | rw | rw | rw | |||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | DRW[2:0] | Reserved | DGW[2:0] | Reserved | DBW[2:0] | Reserved | LTDCEN | ||||||||
| r | r | r | r | r | r | r | r | r | rw | ||||||
| Reserved | |||||||||||||||
| Reserved | VBR | IMR | |||||||||||||
| rw | rw | ||||||||||||||
| Reserved | BCRED[7:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| BCGREEN[7:0] | BCBLUE[7:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| Reserved | ||||||||||||||
| Reserved | RRIE | TERRIE | FUIE | LIE | ||||||||||
| rw | rw | rw | rw | |||||||||||
| Reserved | ||||||||||||||
| Reserved | RRIF | TERRIF | FUIF | LIF | ||||||||||
| r | r | r | r | |||||||||||
| Reserved | ||||||||||||||
| Reserved | CRRIF | CTERRIF | CFUIF | CLIF | ||||||||||
| w | w | w | w | |||||||||||
| Reserved | |||||||||||||
| Reserved | CLUTEN | Reserved | COLKEN | LEN | |||||||||
| rw | rw | rw | |||||||||||
| Reserved | WHSPPOS[11:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Reserved | WHSTPOS[11:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | WVSPPOS[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | WVSTPOS[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | CKRED[7:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| CKGREEN[7:0] | CKBLUE[7:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | ||||||
| Reserved | |||||||||||||||
| Reserved | PF[2:0] | ||||||||||||||
| rw | rw | rw | |||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DCALPHA[7:0] | DCRED[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DCGREEN[7:0] | DCBLUE[7:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | CFBLNBR[10:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CLUTADD[7:0] | RED[7:0] | ||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GREEN[7:0] | BLUE[7:0] | ||||||||||||||
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x0008 | LTDC_SSCR | Reserved | HSW[9:0] | Reserved | VSH[10:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||
| 0x000C | LTDC_BPCRReset value | Reserved | AHBP[11:0] | Reserved | AVBP[10:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0010 | LTDC_AWCRReset value | Reserved | AAV[11:0] | Reserved | AAH[10:0] | |||||||||||||||||||||||||||||
| 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0014 | LTDC_TWCRReset value | Reserved | TOTALW[11:0] | Reserved | TOTALH[10:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
| 0x0018 | LTDC_GCRReset value | HSPOL | VSPOL | DEPOL | PCPOL | Reserve | DEN | Reserved | DRW[2:0] | Reserved | DGW[2:0] | Reserved | DBW[2:0] | Reserved | LTDCEN | |||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | ||||||||||||||||||||
| 0x0024 | LTDC_SRCRReset value | Reserved | VBR | IMR | ||||||||||||||||||||||||||||||
| 0x002C | LTDC_BCCRReset value | Reserved | BC[23:0] | 0 | 0 | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x0034 | LTDC_IERReset value | Reserved | RRIETERRIE | FUIE | LIE | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x0038 | LTDC_ISRReset value | Reserved | RRIFTERRIF | FUIF | LIF | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x003C | LTDC_ICRReset value | Reserved | CRRIF | CTERRIF | CFUIF | CLIF | ||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x0040 | LTDC_LIPCRReset value | Reserved | LIPOS[10:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 0x0044 | LTDC_CPSR | CXPOS[15:0] | CYPOS[15:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0048 | LTDC_CDSRReset value | Reserved | HSYNCS | VSYNCS | HDES | VDES | ||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||||||
| 0x0084 | LTDC_L1CRReset value | Reserved | CLUTEN | Reserved | COLKEN | LEN | ||||||||||||||||||||||||||||
| 0 | 0 | 0 | ||||||||||||||||||||||||||||||||
| 0x0088 | LTDC_L1WHPCRReset value | Reserved | WHSPPOS[11:0] | Reserved | WHSTPOS[11:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x008C | LTDC_L1WVPCR Reset value | Reserved | WVSPPPOS[10:0] | Reserved | WVSTPOS[10:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||
| 0x0090 | LTDC_L1CKCR Reset value | Reserved | CKRED[7:0] | CKGREEN[7:0] | CKBLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x0094 | LTDC_L1PFCR Reset value | Reserved | PF[2:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | ||||||||||||||||||||||||||||||||
| 0x0098 | LTDC_L1CACR Reset value | Reserved | CONSTA[7:0] | |||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||||
| 0x009C | LTDC_L1DCCR Reset value | DCALPHA[7:0] | DCRED[7:0] | DCGREEN[7:0] | DCBLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x00A0 | LTDC_L1BFCR Reset value | Reserved | BF1[2:0] | Reserved | BF2[2:0] | |||||||||||||||||||||||||||||
| 1 | 1 | 0 | 1 | 1 | 1 | |||||||||||||||||||||||||||||
| 0x00AC | LTDC_L1CFBAR Reset value | CFBADD[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x00B0 | LTDC_L1CFBLR Reset value | Reserved | CFBP[12:0] | Reserved | CFBLL[12:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||
| 0x00B4 | LTDC_L1CFBLNR Reset value | Reserved | CFBLNBR[10:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 0x00C4 | LTDC_L1CLUTWR | CLUTADD[7:0] | RED[7:0] | GREEN[7:0] | BLUE[7:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x0104 | LTDC_L2CR Reset value | Reserved | CLUTEN | Reserved | COLKEN | LEN | ||||||||||||||||||||||||||||
| 0 | 0 | 0 | ||||||||||||||||||||||||||||||||
| 0x0108 | LTDC_L2WHPCR Reset value | Reserved | WHSPPOS[11:0] | Reserved | WHSTPOS[11:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x010C | LTDC_L2WVPCR Reset value | Reserved | WVSPPPOS[10:0] | Reserved | WVSTPOS[10:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||
| 0x0110 | LTDC_L2CKCR Reset value | Reserved | CKRED[7:0] | CKGREEN[7:0] | CKBLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x0114 | LTDC_L2PFCR Reset value | Reserved | PF[2:0] | |||||||||||||||||||||||||||||||
| 0 | 0 | 0 | ||||||||||||||||||||||||||||||||
| 0x0118 | LTDC_L2CACR Reset value | Reserved | CONSTA[7:0] | |||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||||||||||||||||
| 0x011C | LTDC_L2DCCR Reset value | DCALPHA[7:0] | DCRED[7:0] | DCGREEN[7:0] | DCBLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0120 | LTDC_L2BFCR Reset value | Reserved | BF1[2:0] | Reserved | BF2[2:0] | |||||||||||||||||||||||||||||
| 1 | 1 | 0 | 1 | 1 | 1 | |||||||||||||||||||||||||||||
| 0x012C | LTDC_L2CFBAR Reset value | CFBADD[31:0] | ||||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x0130 | LTDC_L2CFBLR Reset value | Reserved | CFBP[12:0] | Reserved | CFBLL[12:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||
| 0x0134 | LTDC_L2CFBLNR | Reserved | CFBLNBR[10:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x0144 | LTDC_L2CLUTWRReset value | CLUTADD[7:0] | RED[7:0] | GREEN[7:0] | BLUE[7:0] | |||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Active edge | Level on opposite signal (TI1FP1 for TI2, TI2FP2 for TI1) | TI1FP1 signal | TI2FP2 signal | ||
| Rising | Falling | Rising | Falling | ||
| Counting on TI1 only | High | Down | Up | No Count | No Count |
| Low | Up | Down | No Count | No Count | |
| Counting on TI2 only | High | No Count | No Count | Up | Down |
| Low | No Count | No Count | Down | Up | |
| Counting on TI1 and TI2 | High | Down | Up | Up | Down |
| Low | Up | Down | Down | Up | |
| Reserved | CKD[1:0] | ARPE | CMS[1:0] | DIR | OPM | URS | UDIS | CEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | OIS4 | OIS3N | OIS3 | OIS2N | OIS2 | OIS1N | OIS1 | TI1S | MMS[2:0] | CCDS | CCUS | Res. | CCPC | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| ETP | ECE | ETPS[1:0] | ETF[3:0] | MSM | TS[2:0] | Res. | SMS[2:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | Res. | rw | rw | rw |
| Slave TIM | ITRO (TS = 000) | ITR1 (TS = 001) | ITR2 (TS = 010) | ITR3 (TS = 011) |
| TIM1 | TIM5_TRGO | TIM2_TRGO | TIM3_TRGO | TIM4_TRGO |
| TIM8 | TIM1_TRGO | TIM2_TRGO | TIM4_TRGO | TIM5_TRGO |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | TDE | COMDE | CC4DE | CC3DE | CC2DE | CC1DE | UDE | BIE | TIE | COMIE | CC4IE | CC3IE | CC2IE | CC1IE | UIE |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Res. | BIF | TIF | COMIF | CC4IF | CC3IF | CC2IF | CC1IF | UIF |
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | Res. | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 |
| Reserved | BG | TG | COMG | CC4G | CC3G | CC2G | CC1G | UG |
| w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OC2CE | OC2M[2:0] | OC2PE | OC2FE | CC2S[1:0] | OC1CE | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | ||||||
| IC2F[3:0] | IC2PSC[1:0] | IC1F[3:0] | IC1PSC[1:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OC4CE | OC4M[2:0] | OC4PE | OC4FE | CC4S[1:0] | OC3CE. | OC3M[2:0] | OC3PE | OC3FE | CC3S[1:0] | ||||||
| IC4F[3:0] | IC4PSC[1:0] | IC3F[3:0] | IC3PSC[1:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | CC4P | CC4E | CC3NP | CC3NE | CC3P | CC3E | CC2NP | CC2NE | CC2P | CC2E | CC1NP | CC1NE | CC1P | CC1E |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Control bits | Output states(1) | |||||
| MOE bit | OSSI bit | OSSR bit | CCxE bit | CCxNE bit | OCx output state | OCxN output state |
| 1 | X | 0 | 0 | 0 | Output Disabled (not driven by the timer), OCx=0, OCx_EN=0 | Output Disabled (not driven by the timer), OCxN=0, OCxN_EN=0 |
| 0 | 0 | 1 | Output Disabled (not driven by the timer), OCx=0, OCx_EN=0 | OCxREF + Polarity OCxN=OCxREF xor CCxNP, OCxN_EN=1 | ||
| 0 | 1 | 0 | OCxREF + Polarity OCx=OCxREF xor CCxP, OCx_EN=1 | Output Disabled (not driven by the timer) OCxN=0, OCxN_EN=0 | ||
| 0 | 1 | 1 | OCREF + Polarity + dead-time OCx_EN=1 | Complementary to OCREF (not OCREF) + Polarity + dead-time OCxN_EN=1 | ||
| 1 | 0 | 0 | Output Disabled (not driven by the timer) OCx=CCxP, OCx_EN=0 | Output Disabled (not driven by the timer) OCxN=CCxNP, OCxN_EN=0 | ||
| 1 | 0 | 1 | Off-State (output enabled with inactive state) OCx=CCxP, OCx_EN=1 | OCxREF + Polarity OCxN=OCxREF xor CCxNP, OCxN_EN=1 | ||
| 1 | 1 | 0 | OCxREF + Polarity OCx=OCxREF xor CCxP, OCx_EN=1 | Off-State (output enabled with inactive state) OCxN=CCxNP, OCxN_EN=1 | ||
| 1 | 1 | 1 | OCREF + Polarity + dead-time OCx_EN=1 | Complementary to OCREF (not OCREF) + Polarity + dead-time OCxN_EN=1 | ||
| 0 | 0 | X | X | X | Output disabled (not driven by the timer anymore). The output state is defined by the GPIO controller and can be High, Low or Hi-Z. | |
| 1 | 0 | 0 | ||||
| 0 | 1 | Off-State (output enabled with inactive state) Asynchronously: OCx=CCxP, OCx_EN=1, OCxN=CCxNP, OCxN_EN=1 Then if the clock is present: OCx=OISx and OCxN=OISxN after a dead-time, assuming that OISx and OISxN do not correspond to OCx and OCxN both in active state | ||||
| 1 | 0 | |||||
| 1 | 1 | |||||
| CNT[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| PSC[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ARR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | REP[7:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CCR1[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| CCR2[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| CCR3[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| CCR4[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MOE | AOE | BKP | BKE | OSSR | OSSI | LOCK[1:0] | DTG[7:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | DBL[4:0] | Reserved | DBA[4:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DMAB[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMAB[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | TIMx_CR1 | Reserved | CKD[1:0] | ARPE | CMS[1:0] | DIR | OPM | URS | UDIS | CEN | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x04 | TIMx_CR2 | Reserved | OIS4 | OIS3N | OIS3 | OIS2N | OIS2 | OIS1N | OIS1 | T1S | MMS[2:0] | CCDS | CCUS | Reserved | CCPC | ||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x08 | TIMx_SMCR | Reserved | ETP | ECE | ETPS[1:0] | ETF[3:0] | MSM | TS[2:0] | Reserved | SMS[2:0] | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x0C | TIMx_DIER | Reserved | TDE | COMDE | CC4DE | CC3DE | CC2DE | CC1DE | UDE | BIE | TIE | COMIE | CC4IE | CC3IE | CC2IE | CC1IE | UIE | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x10 | TIMx_SR | Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Reserved | BIF | TIF | COMIF | CC4IF | CC3IF | CC2IF | CC1IF | UIF | ||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x14 | TIMx_EGR | Reserved | BG | TG | COMG | CC4G | CC3G | CC2G | CC1G | UG | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x18 | TIMx_CCMR1 Output Compare mode | Reserved | OC2CE | OC2M[2:0] | OC2PE | OC2FE | CC2S[1:0] | OC1CE | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| TIMx_CCMR1 Input Capture mode | Reserved | IC2F[3:0] | IC2PSC[1:0] | CC2S[1:0] | IC1F[3:0] | IC1PSC[1:0] | CC1S[1:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| 0x1C | TIMx_CCMR2 Output Compare mode | Reserved | O24CE | OC4M[2:0] | OC4PE | OC4FE | CC4S[1:0] | OC3CE | OC3M[2:0] | OC3PE | OC3FE | CC3S[1:0] | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| TIMx_CCMR2 Input Capture mode | Reserved | IC4F[3:0] | IC4PSC[1:0] | CC4S[1:0] | IC3F[3:0] | IC3PSC[1:0] | CC3S[1:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| 0x20 | TIMx_CCER | Reserved | CC4P | CC4E | CC3NP | CC3NE | CC3P | CC3E | CC2NP | CC2NE | CC2P | CC2E | CC1NP | CC1NE | CC1P | CC1E | |||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x24 | TIMx_CNT | Reserved | CNT[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| 0x28 | TIMx_PSC | Reserved | PSC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||
| 0x2C | TIMx_ARR | Reserved | ARR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||
| 0x30 | TIMx_RCR | Reserved | REP[7:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x34 | TIMx_CCR1 | Reserved | CCR1[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x38 | TIMx_CCR2 | Reserved | CCR2[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x3C | TIMx_CCR3 | Reserved | CCR3[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x40 | TIMx_CCR4 | Reserved | CCR4[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x44 | TIMx_BDTR | Reserved | MOE | AOE | BKP | BKE | OSSR | OSSI | LOCK[1:0] | DT[7:0] | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x48 | TIMx_DCR | Reserved | DBL[4:0] | Reserved | DBA[4:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x4C | TIMx_DMAR | DMAB[31:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Active edge | Level on opposite signal (TI1FP1 for TI2, TI2FP2 for TI1) | TI1FP1 signal | TI2FP2 signal | ||
| Rising | Falling | Rising | Falling | ||
| Counting on TI1 only | High | Down | Up | No Count | No Count |
| Low | Up | Down | No Count | No Count | |
| Counting on TI2 only | High | No Count | No Count | Up | Down |
| Low | No Count | No Count | Down | Up | |
| Counting on TI1 and TI2 | High | Down | Up | Up | Down |
| Low | Up | Down | Down | Up | |
| Reserved | CKD[1:0] | ARPE | CMS | DIR | OPM | URS | UDIS | CEN | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | TI1S | MMS[2:0] | CCDS | Reserved | ||
| rw | rw | rw | rw | rw | ||
| ETP | ECE | ETPS[1:0] | ETF[3:0] | MSM | TS[2:0] | Res. | SMS[2:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Slave TIM | ITR0 (TS = 000) | ITR1 (TS = 001) | ITR2 (TS = 010) | ITR3 (TS = 011) |
| TIM2 | TIM1_TRGO | TIM8_TRGO | TIM3_TRGO | TIM4_TRGO |
| TIM3 | TIM1_TRGO | TIM2_TRGO | TIM5_TRGO | TIM4_TRGO |
| TIM4 | TIM1_TRGO | TIM2_TRGO | TIM3_TRGO | TIM8_TRGO |
| TIM5 | TIM2_TRGO | TIM3_TRGO | TIM4_TRGO | TIM8_TRGO |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | TDE | Res | CC4DE | CC3DE | CC2DE | CC1DE | UDE | Res. | TIE | Res | CC4IE | CC3IE | CC2IE | CC1IE | UIE |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Reserved | TIF | Res | CC4IF | CC3IF | CC2IF | CC1IF | UIF |
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 |
| Reserved | TG | Res. | CC4G | CC3G | CC2G | CC1G | UG |
| w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OC2CE | OC2M[2:0] | OC2PE | OC2FE | CC2S[1:0] | OC1CE | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | ||||||
| IC2F[3:0] | IC2PSC[1:0] | IC1F[3:0] | IC1PSC[1:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| OC4CE | OC4M[2:0] | OC4PE | OC4FE | CC4S[1:0] | OC3CE | OC3M[2:0] | OC3PE | OC3FE | CC3S[1:0] | ||||||
| IC4F[3:0] | IC4PSC[1:0] | IC3F[3:0] | IC3PSC[1:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CC4NP | Res. | CC4P | CC4E | CC3NP | Res. | CC3P | CC3E | CC2NP | Res. | CC2P | CC2E | CC1NP | Res. | CC1P | CC1E |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| CCxE bit | OCx output state |
| 0 | Output Disabled (OCx=0, OCx_EN=0) |
| 1 | OCx=OCxREF + Polarity, OCx_EN=1 |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CNT[31:16] (depending on timers) | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CNT[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| PSC[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ARR[31:16] (depending on timers) | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ARR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CCR1[31:16] (depending on timers) | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CCR1[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CCR2[31:16] (depending on timers) | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CCR2[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CCR3[31:16] (depending on timers) | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CCR3[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CCR4[31:16] (depending on timers) | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CCR4[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| Reserved | DBL[4:0] | Reserved | DBA[4:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| DMAB[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ITR1_RMP | Reserved | |
| rw | rw | ||
| Reserved | TI4_RMP | Reserved | |
| rw | rw | ||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | TIMx_CR1 | Reserved | CKD[1:0] | ARPE | CMS[1:0] | DIR | OPM | URS | UDIS | CEN | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||
| 0x04 | TIMx_CR2 | Reserved | TI1S | MMS[2:0] | CCDS | Reserved | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x08 | TIMx_SMCR | Reserved | ETP | ECE | ETPS[1:0] | ETF[3:0] | MSM | TS[2:0] | Reserved | SMS[2:0] | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x0C | TIMx_DIER | Reserved | TDE | COMDE | CC4DE | CC3DE | CC2DE | CC1DE | UDE | Reserved | TIE | Reserved | CC4IE | CC3IE | CC2IE | CC1IE | UIE | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x10 | TIMx_SR | Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Reserved | TIF | Reserved | CC4IF | CC3IF | CC2IF | CC1IF | UIF | |||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x14 | TIMx_EGR | Reserved | TG | Reserved | CC4G | CC3G | CC2G | CC1G | UG | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| 0x18 | TIMx_CCMR1Output Compare mode | Reserved | OC2CE | OC2M[2:0] | OC2PE | OC2FE | CC2S[1:0] | OC1CE | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| TIMx_CCMR1Input Capture mode | Reserved | IC2F[3:0] | IC2PSC[1:0] | CC2S[1:0] | IC1F[3:0] | IC1PSC[1:0] | CC1S[1:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x1C | TIMx_CCMR2Output Compare mode | Reserved | O24CE | OC4M[2:0] | OC4PE | OC4FE | CC4S[1:0] | OC3CE | OC3M[2:0] | OC3PE | OC3FE | CC3S[1:0] | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| TIMx_CCMR2Input Capture mode | Reserved | IC4F[3:0] | IC4PSC[1:0] | CC4S[1:0] | IC3F[3:0] | IC3PSC[1:0] | CC3S[1:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x20 | TIMx_CCER | Reserved | CC4NP | Reserved | CC4P | CC4E | CC3NP | Reserved | CC3P | CC3E | CC2NP | Reserved | CC2P | CC2E | CC1NP | Reserved | CC1P | CC1E | |||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x24 | TIMx_CNT | CNT[31:16](TIM2 and TIM5 only, reserved on the other timers) | CNT[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x28 | TIMx_PSC | Reserved | PSC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x2C | TIMx_ARR | ARR[31:16](TIM2 and TIM5 only, reserved on the other timers) | ARR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
| 0x30 | Reserved | ||||||||||||||||||||||||||||||||
| 0x34 | TIMx_CCR1 | CCR1[31:16](TIM2 and TIM5 only, reserved on the other timers) | CCR1[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x38 | TIMx_CCR2 | CCR2[31:16](TIM2 and TIM5 only, reserved on the other timers) | CCR2[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x3C | TIMx_CCR3 | CCR3[31:16](TIM2 and TIM5 only, reserved on the other timers) | CCR3[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x40 | TIMx_CCR4 | CCR4[31:16](TIM2 and TIM5 only, reserved on the other timers) | CCR4[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x44 | Reserved | ||||||||||||||||||||||||||||||||
| 0x48 | TIMx_DCR | Reserved | DBL[4:0] | Reserved | DBA[4:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||
| 0x4C | TIMx_DMAR | Reserved | DMAB[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x50 | TIM2_OR | Reserved | Reserved | ITR1_RMP | Reserved | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x50 | TIM5_OR | Reserved | Reserved | IT4_RMP | Reserved | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| Reserved | CKD[1:0] | ARPE | Reserved | OPM | URS | UDIS | CEN | |
| rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | MSM | TS[2:0] | Res. | SMS[2:0] | ||||
| rw | rw | rw | rw | rw | rw | rw | ||
| Slave TIM | ITR0 (TS = 000) | ITR1 (TS = 001) | ITR2 (TS = 010) | ITR3 (TS = 011) |
| TIM9 | TIM2_TRGO | TIM3_TRGO | TIM10_OC | TIM11_OC |
| TIM12 | TIM4_TRGO | TIM5_TRGO | TIM13_OC | TIM14_OC |
| Reserved | TIE | Res | CC2IE | CC1IE | UIE |
| rw | rw | rw | rw |
| Reserved | CC2OF | CC1OF | Reserved | TIF | Reserved | CC2IF | CC1IF | UIF |
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 |
| Reserved | TG | Reserved | CC2G | CC1G | UG |
| w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | OC2M[2:0] | OC2PE | OC2FE | CC2S[1:0] | Res. | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | ||||||
| IC2F[3:0] | IC2PSC[1:0] | IC1F[3:0] | IC1PSC[1:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | CC2NP | Res. | CC2P | CC2E | CC1NP | Res. | CC1P | CC1E |
| rw | rw | rw | rw | rw | rw |
| CCxE bit | OCx output state |
| 0 | Output disabled (OCx='0', OCx_EN='0') |
| 1 | OCx=OCxREF + Polarity, OCx_EN='1' |
| CNT[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| PSC[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| ARR[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| CCR1[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| CCR2[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | TIMx_CR1Reset value | Reserved | CKD[1:0]0 | 0 | ARPE0 | Reserved | OPM0 | URS0 | UDIS0 | CEN0 | |||||||||||||||||||||||
| 0x08 | TIMx_SMCRReset value | Reserved | MSM0 | TS[2:0]0 | 0 | 0 | Reserved | SMS[2:0]0 | 0 | 0 | |||||||||||||||||||||||
| 0x0C | TIMx_DIERReset value | Reserved | TIE0 | Reserved | CC2IE0 | CC1IE0 | UIE0 | ||||||||||||||||||||||||||
| 0x10 | TIMx_SRReset value | Reserved | CC2OF0 | CC1OF0 | Reserved | TIF0 | Reserved | CC2IF0 | CC1IF0 | UIF0 | 0 | ||||||||||||||||||||||
| 0x14 | TIMx_EGRReset value | Reserved | TG0 | Reserved | CC2G0 | CC1G0 | UG0 | ||||||||||||||||||||||||||
| 0x18 | TIMx_CCMR1Output Compare modeReset value | Reserved | OC2M[2:0]0 | 0 | 0 | 0 | OC2PE0 | OC2FE0 | 0 | 0 | Reserved | OC1M[2:0]0 | 0 | 0 | OC1PE0 | OC1FE0 | CC1S[1:0]0 | 0 | |||||||||||||||
| TIMx_CCMR1Input Capture modeReset value | Reserved | IC2F[3:0]0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | IC1PSC[1:0]0 | 0 | 0 | |||||||||||||||||
| 0x1C | Reserved | ||||||||||||||||||||||||||||||||
| 0x20 | TIMx_CCERReset value | Reserved | CC2NP0 | Reserved | CC2P0 | CC2E0 | CC1NP0 | Reserved | CC1P0 | CC1E0 | |||||||||||||||||||||||
| 0x24 | TIMx_CNTReset value | Reserved | CNT[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x28 | TIMx_PSCReset value | Reserved | PSC[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x2C | TIMx_ARRReset value | Reserved | ARR[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x30 | Reserved | ||||||||||||||||||||||||||||||||
| 0x34 | TIMx_CCR1Reset value | Reserved | CCR1[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x38 | TIMx_CCR2Reset value | Reserved | CCR2[15:0] | ||||||||||||||||||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x3C to 0x4C | Reserved | ||||||||||||||||||||||||||||||||
| Reserved | CKD[1:0] | ARPE | Reserved | OPM | URS | UDIS | CEN | |
| rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | CC1IE | UIE |
| rw | rw |
| Reserved | CC1OF | Reserved | CC1IF | UIF |
| rc_w0 | rc_w0 | rc_w0 |
| Reserved | CC1G | UG |
| w | w |
| Reserved | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | |||||
| Reserved | IC1F[3:0] | IC1PSC[1:0] | |||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | CC1NP | Res. | CC1P | CC1E | |
| rw | rw | rw | |||
| CCxE bit | OCx output state |
| 0 | Output Disabled (OCx='0', OCx_EN='0') |
| 1 | OCx=OCxREF + Polarity, OCx_EN='1' |
| CNT[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| PSC[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ARR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| CCR1[15:0] | |||||||||||||||
| rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro | rw/ro |
| Reserved | TI1_RMP[1:0] |
| rw |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | TIMx_CR1 | Reserved | CKD[1:0] | ARPE | Reserved | OPM | URS | UDIS | CEN | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||
| 0x08 | TIMx_SMCR | Reserved | |||||||||||||||||||||||||||||||
| Reset value | |||||||||||||||||||||||||||||||||
| 0x0C | TIMx_DIER | Reserved | CC1IE | UIE | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x10 | TIMx_SR | Reserved | CC1OF | Reserved | CC1IF | UIF | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | ||||||||||||||||||||||||||||||
| 0x14 | TIMx_EGR | Reserved | CC1G | UG | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x18 | TIMx_CCMR1Output compare mode | Reserved | OC1M[2:0] | OC1PE | OC1FE | CC1S[1:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| TIMx_CCMR1Input capture mode | Reserved | IC1F[3:0] | IC1PSC[1:0] | CC1S[1:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x1C | Reserved | ||||||||||||||||||||||||||||||||
| 0x20 | TIMx_CCER | Reserved | CC1NP | Reserved | CC1P | CC1E | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | ||||||||||||||||||||||||||||||
| 0x24 | TIMx_CNT | Reserved | CNT[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x28 | TIMx_PSC | Reserved | PSC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x2C | TIMx_ARR | Reserved | ARR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x30 | Reserved | ||||||||||||||||||||||||||||||||
| 0x34 | TIMx_CCR1 | Reserved | CCR1[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x38 to 0x4C | Reserved | ||||||||||||||||||||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x50 | TIMx_OR | Reserved | TI1_RMP | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | ||||||||||||||||||||||||||||||||
| Reserved | ARPE | Reserved | OPM | URS | UDIS | CEN | |
| rw | rw | rw | rw | rw | |||
| Reserved | MMS[2:0] | Reserved | ||
| rw | rw | rw | ||
| Reserved | UDE | Reserved | UIE | ||||||||
| rw | rw | ||||||||||
| Reserved | UIF |
| rc_w0 |
| Reserved | UG |
| w |
| CNT[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| PSC[15:0] | ||||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ARR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | TIMx_CR1 | Reserved | ARPE | Reserved | OPM | URS | UDIS | CEN | |||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x04 | TIMx_CR2 | Reserved | MMS[2:0] | Reserved | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | ||||||||||||||||||||||||||||||
| 0x08 | Reserved | ||||||||||||||||||||||||||||||||
| 0x0C | TIMx_DIER | Reserved | UDE | Reserved | UIE | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x10 | TIMx_SR | Reserved | UIF | ||||||||||||||||||||||||||||||
| Reset value | 0 | ||||||||||||||||||||||||||||||||
| 0x14 | TIMx_EGR | Reserved | UG | ||||||||||||||||||||||||||||||
| Reset value | 0 | ||||||||||||||||||||||||||||||||
| 0x18 | Reserved | ||||||||||||||||||||||||||||||||
| 0x1C | Reserved | ||||||||||||||||||||||||||||||||
| 0x20 | Reserved | ||||||||||||||||||||||||||||||||
| 0x24 | TIMx_CNT | Reserved | CNT[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x28 | TIMx_PSC | Reserved | PSC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x2C | TIMx_ARR | Reserved | ARR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||||||
| Prescaler divider | PR[2:0] bits | Min timeout RL[11:0]= 0x000 | Max timeout RL[11:0]= 0xFFF |
| /4 | 0 | 0.125 | 512 |
| /8 | 1 | 0.25 | 1024 |
| /16 | 2 | 0.5 | 2048 |
| /32 | 3 | 1 | 4096 |
| /64 | 4 | 2 | 8192 |
| /128 | 5 | 4 | 16384 |
| /256 | 6 | 8 | 32768 |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | KEY[15:0] | |||||||||||||||
| W | W | W | W | W | W | W | W | W | W | W | W | W | W | W | W | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | PR[2:0] | ||
| rw | rw | rw | |
| Reserved | RL[11:0] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | RVU | PVU |
| r | r |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | IWDG_KR | Reserved | KEY[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x04 | IWDG_PR | Reserved | PR[2:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | ||||||||||||||||||||||||||||||
| 0x08 | IWDG_RLR | Reserved | RL[11:0] | ||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||||||||||
| 0x0C | IWDG_SR | Reserved | RVU | PVU | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| Prescaler | WDGTB | Min timeout (μs)T[5:0] = 0x00 | Max timeout (ms)T[5:0] = 0x3F |
| 1 | 0 | 136.53 | 8.74 |
| 2 | 1 | 273.07 | 17.48 |
| 4 | 2 | 546.13 | 34.95 |
| 8 | 3 | 1092.27 | 69.91 |
| Reserved | |||||||||||||||
| Reserved | WDGA | T[6:0] | |||||||||||||
| rs | rw | ||||||||||||||
| Reserved | |||||||||||||||
| Reserved | EWI | WDGTB[1:0] | W[6:0] | ||||||||||||
| rs | rw | rw | |||||||||||||
| Reserved | |||||||||||||||
| Reserved | EWIF | ||||||||||||||
| rc_w0 | |||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | WWDG_CR | Reserved | WDGA | T[6:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||||
| 0x04 | WWDG_CFR | Reserved | EWI | WDGTB1 | WDGTB0 | W[6:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||||||||||||||
| 0x08 | WWDG_SR | Reserved | EWIF | ||||||||||||||||||||||||||||||
| Reset value | 0 | ||||||||||||||||||||||||||||||||
| Algorithm / Key size | ECB | CBC | CTR |
| 128b | 14 | 14 | 14 |
| 192b | 16 | 16 | 16 |
| 256b | 18 | 18 | 18 |
| Algorithm / Key size | ECB | CBC | CTR | GCM | CCM | ||||||
| Init | Header | Payload | Tag | Init | Header | Payload | Tag | ||||
| 128b | 14 | 14 | 14 | 24 | 10 | 14 | 14 | 12 | 14 | 25 | 14 |
| 192b | 16 | 16 | 16 | 28 | 10 | 16 | 16 | 14 | 16 | 29 | 16 |
| 256b | 18 | 18 | 18 | 32 | 10 | 18 | 18 | 16 | 18 | 33 | 18 |
| DATATYPE in CRYP_CR | Swapping performed | System memory data (plaintext or cypher) |
| 00b | No swapping | Example: TDES block value 0xABCD77206973FE01 is represented in system memory as: | | | @@+4 |
| 01b | Half-word (16-bit) swapping | Example: TDES block value 0xABCD77206973FE01 is represented in system memory as: | | | @@+4 |
| 10b | Byte (8-bit) swapping | Example: TDES block value 0xABCD77206973FE01 is represented in system memory as: | ![]() |
| 11b | Bit swapping | TDES block value 0x4E6F772069732074 is represented in system memory as: ![]() |
| Reserved | ALGO MODE [3] | Res. | GCM_CCMPH | ||||||||||||
| rw | rw | rw | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CRYPEN | FFLUSH | Reserved | KEYSIZE | DATATYPE | ALGOMODE[2:0] | ALGODIR | Reserved | ||||||||
| rw | w | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | ||||||||||||||
| Reserved | BUSY | OFFU | OFNE | IFNF | IFEM | |||||||||
| r | r | r | r | r | ||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATAIN | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATAIN | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Read = returns Input FIFO content if CRYPEN = 0, else returns an undefined value.Write = Input FIFO is written. |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATAOUT | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATAOUT | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | |||||||||||||||
| Reserved | DOEN | DIEN | |||||||||||||
| rw | rw | ||||||||||||||
| Reserved | |||||||||||||||
| Reserved | OUTIM | INIM | |||||||||||||
| rw | rw | ||||||||||||||
| Reserved | |||||||||||||||
| Reserved | OUTRIS | INRIS | |||||||||||||
| r | r | ||||||||||||||
| Reserved | |||||||||||||||
| Reserved | OUTMIS | INMIS | |||||||||||||
| r | r | ||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| b255 | b254 | b253 | b252 | b251 | b250 | b249 | b248 | b247 | b246 | b245 | b244 | b243 | b242 | b241 | b240 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| b239 | b238 | b237 | b236 | b235 | b234 | b233 | b232 | b231 | b230 | b229 | b228 | b227 | b226 | b225 | b224 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| b223 | b222 | b221 | b220 | b219 | b218 | b217 | b216 | b215 | b214 | b213 | b212 | b211 | b210 | b209 | b208 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| b207 | b206 | b205 | b204 | b203 | b202 | b201 | b200 | b199 | b198 | b197 | b196 | b195 | b194 | b193 | b192 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k1.1b191 | k1.2b190 | k1.3b189 | k1.4b188 | k1.5b187 | k1.6b186 | k1.7b185 | k1.8b184 | k1.9b183 | k1.10b182 | k1.11b181 | k1.12b180 | k1.13b179 | k1.14b178 | k1.15b177 | k1.16b176 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k1.17b175 | k1.18b174 | k1.19b173 | k1.20b172 | k1.21b171 | k1.22b170 | k1.23b169 | k1.24b168 | k1.25b167 | k1.26b166 | k1.27b165 | k1.28b164 | k1.29b163 | k1.30b162 | k1.31b161 | k1.32b160 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k1.33b159 | k1.34b158 | k1.35b157 | k1.36b156 | k1.37b155 | k1.38b154 | k1.39b153 | k1.40b152 | k1.41b151 | k1.42b150 | k1.43b149 | k1.44b148 | k1.45b147 | k1.46b146 | k1.47b145 | k1.48b144 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k1.49b143 | k1.50b142 | k1.51b141 | k1.52b140 | k1.53b139 | k1.54b138 | k1.55b137 | k1.56b136 | k1.57b135 | k1.58b134 | k1.59b133 | k1.60b132 | k1.61b131 | k1.62b130 | k1.63b129 | k1.64b128 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k2.1b127 | k2.2b126 | k2.3b125 | k2.4b124 | k2.5b123 | k2.6b122 | k2.7b121 | k2.8b120 | k2.9b119 | k2.10b118 | k2.11b117 | k2.12b116 | k2.13b115 | k2.14b114 | k2.15b113 | k2.16b112 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k2.17b111 | k2.18b110 | k2.19b109 | k2.20b108 | k2.21b107 | k2.22b106 | k2.23b105 | k2.24b104 | k2.25b103 | k2.26b102 | k2.27b101 | k2.28b100 | k2.29b99 | k2.30b98 | k2.31b97 | k2.32b96 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k2.33b95 | k2.34b94 | k2.35b93 | k2.36b92 | k2.37b91 | k2.38b90 | k2.39b89 | k2.40b88 | k2.41b87 | k2.42b86 | k2.43b85 | k2.44b84 | k2.45b83 | k2.46b82 | k2.47b81 | k2.48b80 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k2.49b79 | k2.50b78 | k2.51b77 | k2.52b76 | k2.53b75 | k2.54b74 | k2.55b73 | k2.56b72 | k2.57b71 | k2.58b70 | k2.59b69 | k2.60b68 | k2.61b67 | k2.62b66 | k2.63b65 | k2.64b64 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k3.1b63 | k3.2b62 | k3.3b61 | k3.4b60 | k3.5b59 | k3.6b58 | k3.7b57 | k3.8b56 | k3.9b55 | k3.10b54 | k3.11b53 | k3.12b52 | k3.13b51 | k3.14b50 | k3.15b49 | k3.16b48 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k3.17b47 | k3.18b46 | k3.19b45 | k3.20b44 | k3.21b43 | k3.22b42 | k3.23b41 | k3.24b40 | k3.25b39 | k3.26b38 | k3.27b37 | k3.28b36 | k3.29b35 | k3.30b34 | k3.31b33 | k3.32b32 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| k3.33b31 | k3.34b30 | k3.35b29 | k3.36b28 | k3.37b27 | k3.38b26 | k3.39b25 | k3.40b24 | k3.41b23 | k3.42b22 | k3.43b21 | k3.44b20 | k3.45b19 | k3.46b18 | k3.47b17 | k3.48b16 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| k3.49b15 | k3.50b14 | k3.51b13 | k3.52b12 | k3.53b11 | k3.54b10 | k3.55b9 | k3.56b8 | k3.57b7 | k3.58b6 | k3.59b5 | k3.60b4 | k3.61b3 | k3.62b2 | k3.63b1 | k3.64b0 |
| w | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IV0 | IV1 | IV2 | IV3 | IV4 | IV5 | IV6 | IV7 | IV8 | IV9 | IV10 | IV11 | IV12 | IV13 | IV14 | IV15 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IV16 | IV17 | IV18 | IV19 | IV20 | IV21 | IV22 | IV23 | IV24 | IV25 | IV26 | IV27 | IV28 | IV29 | IV30 | IV31 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IV32 | IV33 | IV34 | IV35 | IV36 | IV37 | IV38 | IV39 | IV40 | IV41 | IV42 | IV43 | IV44 | IV45 | IV46 | IV47 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IV48 | IV49 | IV50 | IV51 | IV52 | IV53 | IV54 | IV55 | IV56 | IV57 | IV58 | IV59 | IV60 | IV61 | IV62 | IV63 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IV64 | IV65 | IV66 | IV67 | IV68 | IV69 | IV70 | IV71 | IV72 | IV73 | IV74 | IV75 | IV76 | IV77 | IV78 | IV79 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IV80 | IV81 | IV82 | IV83 | IV84 | IV85 | IV86 | IV87 | IV88 | IV89 | IV90 | IV91 | IV92 | IV93 | IV94 | IV95 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| IV96 | IV97 | IV98 | IV99 | IV100 | IV101 | IV102 | IV103 | IV104 | IV105 | IV106 | IV107 | IV108 | IV109 | IV110 | IV111 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IV112 | IV113 | IV114 | IV115 | IV116 | IV117 | IV118 | IV119 | IV120 | IV121 | IV122 | IV123 | IV124 | IV125 | IV126 | IV127 |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CRYP_CSGCMCCMxR | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CRYP_CSGCMCCMxR | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CRYP_CSGCMxR | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CRYP_CSGCMxR | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Offset | Register name and reset value | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x000x00 | CRYP_CR | Reserved | CRYPEN | FFLUSH | Reserved | KEYSIZE | DATATYPE | ALOMODE[2:0] | ALGODIR | Res. | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x04 | CRYP_SR | Reserved | BUSY | OFFU | OFNE | IFNF | IFEM | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 1 | 1 | ||||||||||||||||||||||||||||
| 0x08 | CRYP_DIN | DATAIN | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x0C | CRYP_DOUT | DATAOUT | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x10 | CRYP_DMACR | Reserved | DOEN | DIEN | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x14 | CRYP_IMSCR | Reserved | OUTIM | INIM | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x18 | CRYP_RISR | Reserved | OUTRIS | INRIS | |||||||||||||||||||||||||||||
| Reset value | 0 | 1 | |||||||||||||||||||||||||||||||
| 0x1C | CRYP_MISR | Reserved | OUTMIS | IN%IS | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x20 | CRYP_K0LR | CRYP_K0LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x24 | CRYP_K0RR | CRYP_K0RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| ... | |||||||||||||||||||||||||||||||||
| 0x38 | CRYP_K3LR | CRYP_K3LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x3C | CRYP_K3RR | CRYP_K3RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x40 | CRYP_IV0LR | CRYP_IV0LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x44 | CRYP_IV0RR | CRYP_IV0RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x48 | CRYP_IV1LR | CRYP_IV1LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x4C | CRYP_IV1RR | CRYP_IV1RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Offset | Register name reset value | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x000x00 | CRYP_CR | Reserved | ALGOMODE[3] | Res. | GCM_CCMPH | CRYPEN | FFLUSH | Reserved | KEYSIZE | DATATYPE | ALOMODE[2:0] | ALGODIR | Res.. | ||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x04 | CRYP_SR | Reserved | BUSY | OFFU | OFNE | IFNF | IFEM | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 1 | 1 | ||||||||||||||||||||||||||||
| 0x08 | CRYP_DIN | DATAIN | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x0C | CRYP_DOUT | DATAOUT | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x10 | CRYP_DMACR | Reserved | DOEN | DIEN | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x14 | CRYP_IMSCR | Reserved | OUTIM | INIM | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x18 | CRYP_RISR | Reserved | OUTRIS | INRIS | |||||||||||||||||||||||||||||
| Reset value | 0 | 1 | |||||||||||||||||||||||||||||||
| 0x1C | CRYP_MISR | Reserved | OUTMIS | IN%IS | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | |||||||||||||||||||||||||||||||
| 0x20 | CRYP_K0LR | CRYP_K0LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x24 | CRYP_K0RR | CRYP_K0RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| ... | |||||||||||||||||||||||||||||||||
| ... | |||||||||||||||||||||||||||||||||
| 0x38 | CRYP_K3LR | CRYP_K3LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x3C | CRYP_K3RR | CRYP_K3RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x40 | CRYP_IV0LR | CRYP_IV0LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x44 | CRYP_IV0RR | CRYP_IV0RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x48 | CRYP_IV1LR | CRYP_IV1LR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x4C | CRYP_IV1RR | CRYP_IV1RR | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x50 | CRYP_CSGCMCCM R | CRYP_CSGCMCCM0R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x54 | CRYP_CSGCMCCM 1R | CRYP_CSGCMCCM1R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x58 | CRYP_CSGCMCCM 2R | CRYP_CSGCMCCM2R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x5C | CRYP_CSGCMCCM 3R | CRYP_CSGCMCCM3R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x60 | CRYP_CSGCMCCM 4R | CRYP_CSGCMCCM4R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x64 | CRYP_CSGCMCCM 5R | CRYP_CSGCMCCM5R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x68 | CRYP_CSGCMCCM 6R | CRYP_CSGCMCCM6R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x6C | CRYP_CSGCMCCM 7R | CRYP_CSGCMCCM7R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x70 | CRYP_CSGCM0R | CRYP_CSGCM0R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x74 | CRYP_CSGCM1R | CRYP_CSGCM1R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x78 | CRYP_CSGCM2R | CRYP_CSGCM2R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x7C | CRYP_CSGCM3R | CRYP_CSGCM3R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x80 | CRYP_CSGCM4R | CRYP_CSGCM4R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x84 | CRYP_CSGCM5R | CRYP_CSGCM5R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x88 | CRYP_CSGCM6R | CRYP_CSGCM6R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x8C | CRYP_CSGCM7R | CRYP_CSGCM7R | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Reserved | ||||||||||||||
| Reserved | IE | RNGEN | Reserved | |||||||||||
| rw | rw | |||||||||||||
| Reserved | ||||||||||||||
| Reserved | SEIS | CEIS | Reserved | SECS | CECS | DRDY | ||||||||
| rc_w0 | rc_w0 | r | r | r | ||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RNDATA | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RNDATA | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Offset | Register name reset value | Register size | |||||||||||||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
| 0x00 | RNG_CR0x0000000 | Reserved | IE | RNGEN | Reserved | ||||||||||||||||||||||||||||
| 0x04 | RNG_SR0x0000000 | Reserved | SEIS | CEIS | Reserved | SECS | CECS | DRDY | |||||||||||||||||||||||||
| 0x08 | RNG_DR0x0000000 | RNDATA[31:0] | |||||||||||||||||||||||||||||||
| Reserved | LKEY | ||||||||||||||
| rw | |||||||||||||||
| Reserved | DINNE | NBW | ALGO[0] | MODE | DATATYPE | DMAE | INIT | Reserved | |||||||
| r | r | r | r | r | rw | rw | rw | rw | rw | rw | w | ||||
| Reserved | ALGO[1] | Reserved | LKEY | ||||||||||||
| rw | rw | ||||||||||||||
| Reserved | MDMAT | DINNE | NBW | ALGO[0] | MODE | DATATYPE | DMAE | INIT | Reserved | ||||||
| rw | r | r | r | r | r | rw | rw | rw | rw | rw | w | ||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATAIN | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATAIN | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ||||||||||||||
| Reserved | DCAL | Reserved | NBLW | |||||||||||
| w | rw | rw | rw | rw | rw | rw | ||||||||
| H2 | ||||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| H3 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| H3 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| H4 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| H4 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| H5 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| H5 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| H6 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| H6 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| H7 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| H7 | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | DCIE | DINIE | |||||||||||||
| rw | rw | ||||||||||||||
| Reserved | ||||||||||||||
| Reserved | BUSY | DMAS | DCIS | DINIS | ||||||||||
| r | r | rc_w0 | rc_w0 | |||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| CSx | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CSx | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Offset | Register name reset value | Register size | |||||||||||||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
| 0x00 | HASH_CR | Reserved | LKEY | Reserved | DINNE | NBW | ALGO[0] | MODE | DATATYPE | DMAE | INIT | Reserved | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| 0x04 | HASH_DIN | DATAIN | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x08 | HASH_STR | Reserved | DCAL | Reserved | NBLW | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||
| 0x0C | HASH_HR0 | H0 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x10 | HASH_HR1 | H1 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x14 | HASH_HR2 | H2 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x18 | HASH_HR3 | H3 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x1C | HASH_HR4 | H4 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x20 | HASH_IMR | Reserved | DCIE | DINIE | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x24 | HASH_SR | Reserved | BUSY | DMAS | DCIS | DINIS | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 1 | |||||||||||||||||||||||||||||
| 0xF8 | HASH_CSR0 | CSR0 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||
| ... | |||||||||||||||||||||||||||||||||
| 0x1C0 | HASH_CSR50 | CSR50 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Reserved | |||||||||||||||||||||||||||||||||
| 0x310 | HASH_HR0 | H0 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x314 | HASH_HR1 | H1 | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Offset | Register name reset value | Register size | |||||||||||||||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
| 0x318 | HASH_HR2 | H2 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x31C | HASH_HR3 | H3 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x320 | HASH_HR4 | H4 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Offset | Register name reset value | Register size | ||||||||||||||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
| 0x00 | HASH_CR | Reserved | ALGO[1] | Reserved | LKEY | Reserved | MDMAT | DINNE | NBW | ALGO[0] | MODE | DATATYPE | DMAE | INIT | Reserved | |||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 0x04 | HASH_DIN | DATAIN | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x08 | HASH_STR | Reserved | DCAL | Reserved | NBLW | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| 0x0C | HASH_HR0 | H0 | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x10 | HASH_HR1 | H1 | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x14 | HASH_HR2 | H2 | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x18 | HASH_HR3 | H3 | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x1C | HASH_HR4 | H4 | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x20 | HASH_IMR | Reserved | DCIE | DINIE | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
| 0x24 | HASH_SR | Reserved | BUSY | DMAS | DCIS | DINIS | DINIS | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 1 | ||||||||||||||||||||||||||||||
| Offset | Register name reset value | Register size | |||||||||||||||||||||||||||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
| 0xF8 | HASH_CSR0 | CSR0 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||
| ... | |||||||||||||||||||||||||||||||||||
| 0x1CC | HASH_CSR53 | CSR53 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Reserved | |||||||||||||||||||||||||||||||||||
| 0x310 | HASH_HR0 | H0 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x314 | HASH_HR1 | H1 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x318 | HASH_HR2 | H2 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x31C | HASH_HR3 | H3 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x320 | HASH_HR4 | H4 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x324 | HASH_HR5 | H5 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x328 | HASH_HR6 | H6 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| 0x32C | HASH_HR7 | H7 | |||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Mode | Description |
| Sleep | No effectRTC interrupts cause the device to exit the Sleep mode. |
| Stop | The RTC remains active when the RTC clock source is LSE or LSI. RTC alarm, RTC tamper event, RTC time stamp event, and RTC Wakeup cause the device to exit the Stop mode. |
| Standby | The RTC remains active when the RTC clock source is LSE or LSI. RTC alarm, RTC tamper event, RTC time stamp event, and RTC Wakeup cause the device to exit the Standby mode. |
| Interrupt event | Event flag | Enable control bit | Exit the Sleep mode | Exit the Stop mode | Exit the Standby mode |
| Alarm A | ALRAF | ALRAIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| Alarm B | ALRBF | ALRBIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| Wakeup | WUTF | WUTIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| TimeStamp | TSF | TSIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| Tamper1 detection | TAMP1F | TAMPIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| $Tamper2\ detection^{(2)}$ | TAMP2F | TAMPIE | yes | $yes^{(1)}$ | $yes^{(1)}$ |
| Reserved | PM | HT[1:0] | HU[3:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | MNT[2:0] | MNU[3:0] | Res. | ST[2:0] | SU[3:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | YT[3:0] | YU[3:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WDU[2:0] | MT | MU[3:0] | Reserved | DT[1:0] | DU[3:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | COE | OSEL[1:0] | POL | COSEL | BKP | SUB1H | ADD1H | ||||||||
| rw | rw | rw | rw | rw | rw | w | w | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TSIE | WUTIE | ALRBIE | ALRAIE | TSE | WUTE | ALRBE | ALRAE | DCE | FMT | BYPS HAD | REFCKON | TSEDGE | WUCKSEL[2:0] | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | RECAL PF | |||||||||||||||
| r | ||||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| Res. | TAMP 2F | TAMP 1F | TSOVF | TSF | WUTF | ALRBF | ALRAF | INIT | INITF | RSF | INITS | SHPF | WUT WF | ALRB WF | ALRA WF | |
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rw | r | rc_w0 | r | r | r | r | r | ||
| Reserved | PREDIV_A[6:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | PREDIV_S[14:0] | ||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | |||||||||||||||
| Reserved | |||||||||||||||
| WUT[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ||||||||||||||
| Reserved | DCS | Reserved | DC[4:0] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | ||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MSK4 | WDSEL | DT[1:0] | DU[3:0] | MSK3 | PM | HT[1:0] | HU[3:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MSK2 | MNT[2:0] | MNU[3:0] | MSK1 | ST[2:0] | SU[3:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MSK4 | WDSEL | DT[1:0] | DU[3:0] | MSK3 | PM | HT[1:0] | HU[3:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MSK2 | MNT[2:0] | MNU[3:0] | MSK1 | ST[2:0] | SU[3:0] | ||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | KEY | ||||||||||||||
| w | w | w | w | w | w | w | w | ||||||||
| Reserved | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ADD1S | Reserved | ||||||||||||||
| w | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | SUBFS[14:0] | ||||||||||||||
| r | w | w | w | w | w | w | w | w | w | w | w | w | w | w | w |
| Reserved | PM | HT[1:0] | HU[3:0] | ||||
| r | r | r | r | r | r | r | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | MNT[2:0] | MNU[3:0] | Res. | ST[2:0] | SU[3:0] | ||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WDU[1:0] | MT | MU[3:0] | Reserved | DT[1:0] | DU[3:0] | ||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | ||
| Reserved | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CALP | CALW8 | CALW16 | Reserved | CALM[8:0] | |||||||||||
| rw | rw | rw | r | r | r | r | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | ALARMOUT TYPE | TSIN SEL | TAMP1 INSEL | ||||||||||||
| rw | rw | rw | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TAMP-PUDIS | TAMP-PRCH[1:0] | TAMPFLT[1:0] | TAMPFREQ[2:0] | TAMPT S | Reserved | TAMP2 -TRG | TAMP2 E | TAMPIE | TAMP1 TRG | TAMP1 E | |||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | MASKSS[3:0] | Reserved | |||||||||||||
| r | r | r | r | rw | rw | rw | rw | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | SS[14:0] | ||||||||||||||
| r | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | w | rw | rw |
| Reserved | MASKSS[3:0] | Reserved | |||||||||||||
| r | r | r | r | rw | rw | rw | rw | r | r | r | r | r | r | r | r |
| Reserved | SS[14:0] | |||||||||||||||
| r | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| BKP[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BKP[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | w | rw | rw |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x00 | RTC_TR | Reserved | PM | HT[1:0] | HU[3:0] | Reserved | MNT[2:0] | MNU[3:0] | Reserved | ST[2:0] | SU[3:0] | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||
| 0x04 | RTC_DR | Reserved | YT[3:0] | YU[3:0] | WDU[2:0] | MT | MU[3:0] | Reserved | DT[1:0] | DU[3:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||
| 0x08 | RTC_CR | Reserved | COE | OSEL[1:0] | POL | COSEL | BKP | SUB1H | ADD1H | TSIE | WUTIE | ALRBIE | ALRAIE | TSE | WUTE | ALRBE | ALRAE | DCE | FMT | BYPSHAD | REFCKON | TSEDGE | WCKSEL[2:0] | |||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||
| 0x0C | RTC_ISR | Reserved | TAMP2F | TAMP1F | TSOVF | TSF | WUTF | ALRBF | ALRAF | INIT | INITF | RSF | INITS | SHPF | WUTWF | ALRBWF | ALRAWF | |||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | |||||||||||||||||||
| 0x10 | RTC_PRER | Reserved | PREDIV_A[6:0] | Reserved | PREDIV_S[14:0] | |||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||||||||||
| 0x14 | RTC_WUTR | Reserved | WUT[15:0] | |||||||||||||||||||||||||||||||
| Reset value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||||||||
| 0x18 | RTC_CALIBR | Reserved | DCS | Reserved | DC[4:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x1C | RTC_ALRMAR | MSK4 | WDSEL | DT[1:0] | DU[3:0] | MSK3 | PM | HT[1:0] | HU[3:0] | MSK2 | MNT[2:0] | MNU[3:0] | MSK1 | ST[2:0] | SU[3:0] | ||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x20 | RTC_ALRMBR | MSK4 | WDSEL | DT[1:0] | DU[3:0] | MSK3 | PM | HT[1:0] | HU[3:0] | MSK2 | MNT[2:0] | MNU[3:0] | MSK2 | ST[2:0] | SU[3:0] | ||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 0x24 | RTC_WPR | Reserved | KEY[7:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x28 | RTC_SSR | Reserved | SS[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x2C | RTC_SHIFTR | ADD1S | Reserved | SUBFS[14:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x30 | RTC_TSTR | Reserved | PM | HT[1:0] | HU[3:0] | Reserved | MNT[2:0] | MNU[3:0] | Reserved | ST[2:0] | SU[3:0] | ||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||
| 0x38 | RTC_TSSSR | Reserved | SS[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x3C | RTC_CALR | Reserved | CALP | CALW8 | CALW16 | Reserved | CALM[8:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||
| 0x40 | RTC_TAFCR | Reserved | ALARMOUTTYPE | TSINSEL | TAMP1INSEL | TAMPPUDIS | TAMPPRCH[1:0] | TAMPFLT[1:0] | TAMPFREQ[2:0] | TAMPTS | Reserved | TAMP2TRG | TAMP2E | TAMPIE | TAMP1ETRG | TAMP1E | |||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||
| 0x44 | RTC_ALRMASSR | Reserved | MASKSS[3:0] | Reserved | SS[14:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||
| 0x48 | RTC_ALRMBSSR | Reserved | MASKSS[3:0] | Reserved | SS[14:0] | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||
| 0x50 to 0x9C | RTC_BKP0R | BKP[31:0] | |||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| to RTC_BKP19R | BKP[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| PCLK1 frequency | Maximum DNF value | |
| Sm mode | Fm mode | |
| 2 <= FPCLK1 <= 5 | 2 | 0 |
| 5 < FPCLK1 <= 10 | 12 | 0 |
| 10 < FPCLK1 <= 20 | 15 | 1 |
| 20 < FPCLK1 <= 30 | 15 | 7 |
| 30 < FPCLK1 <= 40 | 15 | 13 |
| 40 < FPCLK1 <= 50 | 15 | 15 |
| SMBus | I2C |
| Max. speed 100 kHz | Max. speed 400 kHz |
| Min. clock speed 10 kHz | No minimum clock speed |
| 35 ms clock low timeout | No timeout |
| Logic levels are fixed | Logic levels are VDD dependent |
| Different address types (reserved, dynamic etc.) | 7-bit, 10-bit and general call slave address types |
| Different bus protocols (quick command, process call etc.) | No bus protocols |
| Interrupt event | Event flag | Enable control bit |
| Start bit sent (Master) | SB | ITEVFEN |
| Address sent (Master) or Address matched (Slave) | ADDR | |
| 10-bit header sent (Master) | ADD10 | |
| Stop received (Slave) | STOPF | |
| Data byte transfer finished | BTF | |
| Receive buffer not empty | RxNE | ITEVFEN and ITBUFEN |
| Transmit buffer empty | TxE | |
| Bus error | BERR | ITERREN |
| Arbitration loss (Master) | ARLO | |
| Acknowledge failure | AF | |
| Overrun/Underrun | OVR | |
| PEC error | PECERR | |
| Timeout/Tlow error | TIMEOUT | |
| SMBus Alert | SMBALERT |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SWRST | Res. | ALERT | PEC | POS | ACK | STOP | START | NO STRETCH | ENGC | ENPEC | ENARP | SMB TYPE | Res. | SMBU S | PE |
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | LAST | DMAEN | ITBUFEN | ITEVTEN | ITERREN | Reserved | FREQ[5:0] | |||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ADD MODE | Reserved | ADD[9:8] | ADD[7:1] | ADD0 | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | ADD2[7:1] | ENDUAL | ||||||
| rw | rw | rw | rw | rw | rw | rw | rw | |
| Reserved | DR[7:0] | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SMB ALERT | TIME OUT | Res. | PEC ERR | OVR | AF | ARLO | BERR | TxE | RxNE | Res. | STOPF | ADD10 | BTF | ADDR | SB |
| rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PEC[7:0] | DUALF | SMBHOST | SMBDEFAULT | GENCALL | Res. | TRA | BUSY | MSL | |||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| F/S | DUTY | Reserved | CCR[11:0] | ||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | TRISE[5:0] | |||||
| rw | rw | rw | rw | rw | rw | |
| Reserved | ANOFF | DNF[3:0] | |||
| rw | rw | rw | rw | rw | |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | I2C_CR1 | Reserved | SWRST | Reserved | ALERT | PEC | POS | ACK | STOP | START | NOSTRETCH | ENGC | ENPEC | ENARP | SMBTYPE | Reserved | SMBUS | PE | |||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 0x04 | I2C_CR2 | Reserved | LAST | DMAEN | ITBUFEN | ITEVTEN | ITERREN | Reserved | FREQ[5:0] | ||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||
| 0x08 | I2C_OAR1 | Reserved | ADDMODE | Reserved | ADD[9:8] | ADD[7:1] | ADD0 | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||
| 0x0C | I2C_OAR2 | Reserved | ADD2[7:1] | ENDUAL | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x10 | I2C_DR | Reserved | DR[7:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x14 | I2C_SR1 | Reserved | SMBALERT | TIMEOUT | Reserved | PECERR | OVR | AF | ARLO | BERR | TxE | RxNE | Reserved | STOPF | ADD10 | BTF | ADDR | SB | |||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||
| 0x18 | I2C_SR2 | Reserved | PEC[7:0] | DUALF | SMBHOST | SMBDEFAULT | GENCALL | Reserved | TRA | BUSY | MSL | ||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x1C | I2C_CCR | Reserved | F/S | DUTY | Reserved | CCR[11:0] | |||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x20 | I2C_TRISE | Reserved | TRISE[5:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||||||||||||||||||
| 0x24 | I2C_FLTR | Reserved | ANOFF | DNF[3:0] | |||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||||
| Warning: | Since some SPI1 and SPI3/I2S3 pins may be mapped onto some pins used by the JTAG interface (SPI1_NSS onto JTDI, SPI3_NSS/I2S3_WS onto JTDI and SPI3_SCK/I2S3_CK onto JTDO), you may either: - map SPI/I2S onto other pins - disable the JTAG and use the SWD interface prior to configuring the pins listed as SPI I/Os (when debugging the application) or - disable both JTAG/SWD interfaces (for standalone applications). For more information on the configuration of the JTAG/SWD interface pins, please refer to Section 8.3.2: I/O pin multiplexer and mapping. |
| Interrupt event | Event flag | Enable Control bit |
| Transmit buffer empty flag | TXE | TXEIE |
| Receive buffer not empty flag | RXNE | RXNEIE |
| Master Mode fault event | MODF | ERRIE |
| Overrun error | OVR | |
| CRC error flag | CRCERR | |
| TI frame format error | FRE | ERRIE |
| Master clock | Target $f_S$ (Hz) | Data format | PLLI2SN | PLLI2SR | I2SDIV | I2SODD | Real $f_S$ (Hz) | Error |
| Disabled | 8000 | 16-bit | 192 | 2 | 187 | 1 | 8000 | 0.0000% |
| 32-bit | 192 | 3 | 62 | 1 | 8000 | 0.0000% | ||
| 16000 | 16-bit | 192 | 3 | 62 | 1 | 16000 | 0.0000% | |
| 32-bit | 256 | 2 | 62 | 1 | 16000 | 0.0000% | ||
| 32000 | 16-bit | 256 | 2 | 62 | 1 | 32000 | 0.0000% | |
| 32-bit | 256 | 5 | 12 | 1 | 32000 | 0.0000% | ||
| 48000 | 16-bit | 192 | 5 | 12 | 1 | 48000 | 0.0000% | |
| 32-bit | 384 | 5 | 12 | 1 | 48000 | 0.0000% | ||
| 96000 | 16-bit | 384 | 5 | 12 | 1 | 96000 | 0.0000% | |
| 32-bit | 424 | 3 | 11 | 1 | 96014.49219 | 0.0151% | ||
| 22050 | 16-bit | 290 | 3 | 68 | 1 | 22049.87695 | 0.0006% | |
| 32-bit | 302 | 2 | 53 | 1 | 22050.23438 | 0.0011% | ||
| 44100 | 16-bit | 302 | 2 | 53 | 1 | 44100.46875 | 0.0011% | |
| 32-bit | 429 | 4 | 19 | 0 | 44099.50781 | 0.0011% | ||
| 192000 | 16-bit | 424 | 3 | 11 | 1 | 192028.9844 | 0.0151% | |
| 32-bit | 258 | 3 | 3 | 1 | 191964.2813 | 0.0186% | ||
| Enabled | 8000 | don't care | 256 | 5 | 12 | 1 | 8000 | 0.0000% |
| 16000 | don't care | 213 | 2 | 13 | 0 | 16000.60059 | 0.0038% | |
| 32000 | don't care | 213 | 2 | 6 | 1 | 32001.20117 | 0.0038% | |
| 48000 | don't care | 258 | 3 | 3 | 1 | 47991.07031 | 0.0186% | |
| 96000 | don't care | 344 | 2 | 3 | 1 | 95982.14063 | 0.0186% | |
| 22050 | don't care | 429 | 4 | 9 | 1 | 22049.75391 | 0.0011% | |
| 44100 | don't care | 271 | 2 | 6 | 0 | 44108.07422 | 0.0183% |
| Interrupt event | Event flag | Enable Control bit |
| Transmit buffer empty flag | TXE | TXEIE |
| Receive buffer not empty flag | RXNE | RXNEIE |
| Overrun error | OVR | ERRIE |
| Underrun error | UDR | |
| Frame error flag | FRE | ERRIE |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| BIDI MODE | BIDI OE | CRC EN | CRC NEXT | DFF | RX ONLY | SSM | SSI | LSB FIRST | SPE | BR [2:0] | MSTR | CPOL | CPHA | ||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | TXEIE | RXNEIE | ERRIE | FRF | Res. | SSOE | TXDMAEN | RXDMAEN |
| rw | rw | rw | rw | rw | rw | rw |
| Reserved | FRE | BSY | OVR | MODF | CRC ERR | UDR | CHSIDE | TXE | RXNE |
| r | r | r | r | rc_w0 | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DR[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CRCPOLY[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RXCRC[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| TXCRC[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| Reserved | I2SMOD | I2SE | I2SCFG | PCMSYNC | Res. | I2SSTD | CKPOL | DATLEN | CHLEN | |||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | MCKOE | ODD | I2SDIV |
| rw | rw | rw |
| Offset | Register | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x00 | SPI_CR1 | Reserved | BIDIMODE | BIDIOE | CRCEN | CRCNEXT | DFF | RXONLY | SSM | SSI | LSBFIRST | SPE | BR [2:0] | MSTR | CPOL | CPHA | |||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x04 | SPI_CR2 | Reserved | TXEIE | RXNEIE | ERRIE | FRF | Reserved | SSOE | TXDMAEN | RXDMAEN | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||
| 0x08 | SPI_SR | Reserved | FRE | BSY | OVR | MODF | CRCERR | UDR | CHSIDE | TXE | RXNE | ||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||||||||||||||
| 0x0C | SPI_DR | Reserved | DR[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x10 | SPI_CRCPR | Reserved | CRCPOLY[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | |||||||||||||||||
| 0x14 | SPI_RXCRCR | Reserved | RxCRC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x18 | SPI_TXCRCR | Reserved | TxCRC[15:0] | ||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||
| 0x1C | SPI_I2SCFGR | Reserved | I2SMOD | I2SE | I2SCFG | PCMSYNC | Reserved | I2SSTD | CKPOL | DATLEN | CHLEN | ||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||
| 0x20 | SPI_I2SPR | Reserved | MCKOE | ODD | I2SDIV | ||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||||||||||||
| Input SAI_CK_x clock frequency | Most usual audio frequency sampling achievable | MCKDIV[3:0] |
| 192 kHz x 256 | 192 kHz | MCKDIV[3:0] = 0000 |
| 96 kHz | MCKDIV[3:0] = 0001 | |
| 48 kHz | MCKDIV[3:0] = 0010 | |
| 16 kHz | MCKDIV[3:0] = 0100 | |
| 8 kHz | MCKDIV[3:0] = 1000 | |
| 44.1 kHz x 256 | 44.1 kHz | MCKDIV[3:0] = 0000 |
| 22.05 kHz | MCKDIV[3:0] = 0001 | |
| 11.025 kHz | MCKDIV[3:0] = 0010 | |
| SAI_CK_x = MCLK(1) | MCLK | MCKDIV[3:0] = 0000 |
| Interrupt source | Interrupt group | Audio block mode | Interrupt enable | Interrupt clear |
| FREQ | FREQ | Master or SlaveReceiver or transmitter | FREQIE in SAI_xIM register | Depend on:- FIFO threshold setting (FLTH bits in SAI_CR2)- Communication direction transmitter or receiverfor more details please refer to Internal FIFOs section |
| OVRUDR | ERROR | Master or SlaveReceiver or transmitter | OVRUDRIE in SAI_xIM register | COVRUDR = 1 in SAI_xCLRFR register |
| AFSDET | ERROR | Slave(Not used in AC'97 mode) | AFSDETIE in SAI_xIM register | CAFSDET = 1 in SAI_xCLRFR register |
| LFSDET | ERROR | Slave(Not used in AC'97 mode) | LFSDETIE in SAI_xIM register | CLFSDET = 1 in SAI_xCLRFR register |
| CNRDY | ERROR | Slave(Only in AC'97 mode) | CNRDYIE in SAI_xIM register | CCNRDY = 1 in SAI_xCLRFR register |
| MUTEDET | MUTE | Master or slaveReceiver mode only | MUTEDETIE in SAI_xIM register | CMUTEDET = 1 in SAI_xCLRFR register |
| WCKCFG | ERROR | Master with NODIV = 0 in the SAI_xCR1 register | WCKCFGIE in SAI_xIM register | CWCKCFG = 1 in SAI_xCLRFR register |
| Reserved | MCKDIV[3:0] | NODIV | Res. | DMAEN | SAIxEN | |||
| rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | OutDriv | MONO | SYNCEN[1:0] | CKSTR | LSBFIR ST | DS[2:0] | Res. | PRTCFG[1:0] | MODE[1:0] | |||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | ||
| Reserved | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| COMP[1:0] | CPL | MUTECNT[5:0] | MUTE VAL | Mute | TRIS | FFLUS | FTH | ||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Reserved | FSOFF | FSPOL | FSDEF | ||||||||||||
| rw | rw | r | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res. | FSALL[6:0] | FRL[7:0] | |||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SLOTEN[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | NBSLOT[3:0] | SLOTSZ[1:0] | Res | FBOFF[4:0] | |||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | |||||
| Reserved | |||||||||||||
| Reserved | LFSDETIE | AFSDETIE | CNRDYIE | FREQIE | WCKCFGIE | MUTEDETIE | OVRUDRIE | ||||||
| rw | rw | rw | rw | rw | rw | rw | |||||||
| Reserved | LFSDET | AFSDET | CNRDY | FREQ | WCKCFG | MUTED ET | OVRUDR | ||||||||
| r | r | r | r | r | r | r | |||||||||
| Reserved | |||||||||||||
| Reserved | CLFSDET | CAFSDET | CCNRDY | Reserved | CWCKCFG | CMUTEDET | COVRUDR | ||||||
| rw | rw | rw | rw | rw | rw | ||||||||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATA[31:16] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA[15:0] | |||||||||||||||
| rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
| Offset | Register and reset value | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0x0004 or 0x0024 | SAI_xCR1 | Reserved | MCJDIV[3:0] | NODIV | Res. | DMAEN | SAIXEN | Reserved. | OutDri | MONO | SYNCEN[1:0] | CKSTR | LSBFIRST | DS[2:0] | Res. | PRTCFG[1:0] | MODE[1:0] | ||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |||||||||||||
| 0x0008 or 0x0028 | SAI_xCR2 | Reserved | COMP[1:0] | CPL | MUTECN[5:0] | MUTE VAL | MUTE | TRIS | FFLUS | FTH | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||
| 0x000Cor 0x002C | SAI_xFRCR | Reserved | FSOFF | FSPOL | FSDEF | Reserved | FSALL[6:0] | FRL[7:0] | |||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | |||||||||||||||
| 0x0010 or 0x0030 | SAI_xSLOTR | SLOTEN[15:0] | Reserved | NBSLOT[3:0] | SLOTZ[1:0] | Reserved | FBOFF[4:0] | ||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| 0x0014 or 0x0034 | SAI_xIM | Reserved | LFSDET | AFSDETIE | AFSDETIE | CNRDYIE | FREQIE | WCKCFG | MUTEDET | OVRUDRIE | |||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||||||||||||||||||||
| 0x0018 or 0x0038 | SAI_xSR | Reserved | FLVL[2:0] | Reserved | LFSDET | AFSDET | AFSDET | CNRDY | FREQ | WCKCFG | MUTEDET | OVRUDR | |||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | ||||||||||||||||||||||
| Offset | Register and reset value | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0x001C or 0x003C | SAI_xCLRFR | Reserved | LFSDET | CAFSDET | CNRDY | Res. | WCKCFG | MUTEDET | OVRUDR | |||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| 0x0020 or 0x0040 | SAI_xDR | DATA[31:0] | ||||||||||||||||||||||||||||||||
| Reset value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Sampled value | NE status | Received bit value |
| 000 | 0 | 0 |
| 001 | 1 | 0 |
| 010 | 1 | 0 |
| 011 | 1 | 1 |
| 100 | 1 | 0 |
| 101 | 1 | 1 |
| 110 | 1 | 1 |
| 111 | 0 | 1 |
| Oversampling by 16 (OVER8=0) | |||||||
| Baud rate7 | $f_{PCLK}$ =8 MHz | $f_{PCLK}$ =12 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired) B.rate / Desired B.rate | Actual | Value programmed in the baud rate register | % Error |
| 1 | 1.2 KBps | 1.2 KBps | 416.6875 | 0 | 1.2 KBps | 625 | 0 |
| 2 | 2.4 KBps | 2.4 KBps | 208.3125 | 0.01 | 2.4 KBps | 312.5 | 0 |
| 3 | 9.6 KBps | 9.604 KBps | 52.0625 | 0.04 | 9.6 KBps | 78.125 | 0 |
| 4 | 19.2 KBps | 19.185 KBps | 26.0625 | 0.08 | 19.2 KBps | 39.0625 | 0 |
| 5 | 38.4 KBps | 38.462 KBps | 13 | 0.16 | 38.339 KBps | 19.5625 | 0.16 |
| 6 | 57.6 KBps | 57.554 KBps | 8.6875 | 0.08 | 57.692 KBps | 13 | 0.16 |
| 7 | 115.2 KBps | 115.942 KBps | 4.3125 | 0.64 | 115.385 KBps | 6.5 | 0.16 |
| 8 | 230.4 KBps | 228.571 KBps | 2.1875 | 0.79 | 230.769 KBps | 3.25 | 0.16 |
| 9 | 460.8 KBps | 470.588 KBps | 1.0625 | 2.12 | 461.538 KBps | 1.625 | 0.16 |
| 10 | 921.6 KBps | NA | NA | NA | NA | NA | NA |
| 11 | 2 MBps | NA | NA | NA | NA | NA | NA |
| 12 | 3 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 8 (OVER8 = 1) | |||||||
| Baud rate | $f_{PCLK}$ = 8 MHz | $f_{PCLK}$ = 12 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired) B.rate / Desired B.rate | Actual | Value programmed in the baud rate register | % Error |
| 1 | 1.2 KBps | 1.2 KBps | 833.375 | 0 | 1.2 KBps | 1250 | 0 |
| 2 | 2.4 KBps | 2.4 KBps | 416.625 | 0.01 | 2.4 KBps | 625 | 0 |
| 3 | 9.6 KBps | 9.604 KBps | 104.125 | 0.04 | 9.6 KBps | 156.25 | 0 |
| 4 | 19.2 KBps | 19.185 KBps | 52.125 | 0.08 | 19.2 KBps | 78.125 | 0 |
| 5 | 38.4 KBps | 38.462 KBps | 26 | 0.16 | 38.339 KBps | 39.125 | 0.16 |
| 6 | 57.6 KBps | 57.554 KBps | 17.375 | 0.08 | 57.692 KBps | 26 | 0.16 |
| 7 | 115.2 KBps | 115.942 KBps | 8.625 | 0.64 | 115.385 KBps | 13 | 0.16 |
| 8 | 230.4 KBps | 228.571 KBps | 4.375 | 0.79 | 230.769 KBps | 6.5 | 0.16 |
| 9 | 460.8 KBps | 470.588 KBps | 2.125 | 2.12 | 461.538 KBps | 3.25 | 0.16 |
| 10 | 921.6 KBps | 888.889 KBps | 1.125 | 3.55 | 923.077 KBps | 1.625 | 0.16 |
| 11 | 2 MBps | NA | NA | NA | NA | NA | NA |
| 12 | 3 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 16 (OVER8 = 0) | |||||||
| Baud rate | $f_{PCLK}$ =16 MHz | $f_{PCLK}$ =24 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired) B.rate / Desired B.rate | Actual | Value programmed in the baud rate register | % Error |
| 1 | 1.2 KBps | 1.2 KBps | 833.3125 | 0 | 1.2 | 1250 | 0 |
| 2 | 2.4 KBps | 2.4 KBps | 416.6875 | 0 | 2.4 | 625 | 0 |
| 3 | 9.6 KBps | 9.598 KBps | 104.1875 | 0.02 | 9.6 | 156.25 | 0 |
| 4 | 19.2 KBps | 19.208 KBps | 52.0625 | 0.04 | 19.2 | 78.125 | 0 |
| 5 | 38.4 KBps | 38.369 KBps | 26.0625 | 0.08 | 38.4 | 39.0625 | 0 |
| 6 | 57.6 KBps | 57.554 KBps | 17.375 | 0.08 | 57.554 | 26.0625 | 0.08 |
| 7 | 115.2 KBps | 115.108 KBps | 8.6875 | 0.08 | 115.385 | 13 | 0.16 |
| 8 | 230.4 KBps | 231.884 KBps | 4.3125 | 0.64 | 230.769 | 6.5 | 0.16 |
| 9 | 460.8 KBps | 457.143 KBps | 2.1875 | 0.79 | 461.538 | 3.25 | 0.16 |
| 10 | 921.6 KBps | 941.176 KBps | 1.0625 | 2.12 | 923.077 | 1.625 | 0.16 |
| 11 | 2 MBps | NA | NA | NA | NA | NA | NA |
| 12 | 3 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 8 (OVER8=1) | |||||||
| Baud rate | $f_{PCLK}$ =16 MHz | $f_{PCLK}$ =24 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired) B.rate / Desired B.rate | Actual | Value programmed in the baud rate register | % Error |
| 1 | 1.2 KBps | 1.2 KBps | 1666.625 | 0 | 1.2 KBps | 2500 | 0 |
| 2 | 2.4 KBps | 2.4 KBps | 833.375 | 0 | 2.4 KBps | 1250 | 0 |
| 3 | 9.6 KBps | 9.598 KBps | 208.375 | 0.02 | 9.6 KBps | 312.5 | 0 |
| 4 | 19.2 KBps | 19.208 KBps | 104.125 | 0.04 | 19.2 KBps | 156.25 | 0 |
| 5 | 38.4 KBps | 38.369 KBps | 52.125 | 0.08 | 38.4 KBps | 78.125 | 0 |
| 6 | 57.6 KBps | 57.554 KBps | 34.75 | 0.08 | 57.554 KBps | 52.125 | 0.08 |
| 7 | 115.2 KBps | 115.108 KBps | 17.375 | 0.08 | 115.385 KBps | 26 | 0.16 |
| 8 | 230.4 KBps | 231.884 KBps | 8.625 | 0.64 | 230.769 KBps | 13 | 0.16 |
| 9 | 460.8 KBps | 457.143 KBps | 4.375 | 0.79 | 461.538 KBps | 6.5 | 0.16 |
| 10 | 921.6 KBps | 941.176 KBps | 2.125 | 2.12 | 923.077 KBps | 3.25 | 0.16 |
| 11 | 2 MBps | 2000 KBps | 1 | 0 | 2000 KBps | 1.5 | 0 |
| 12 | 3 MBps | NA | NA | NA | 3000 KBps | 1 | 0 |
| Oversampling by 16 (OVER8=0) | |||||||
| Baud rate | $f_{PCLK}$ =8 MHz | $f_{PCLK}$ =16 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired)B.Rate /Desired B.Rate | Actual | Value programmed in the baud rate register | % Error |
| 1. | 2.4 KBps | 2.400 KBps | 208.3125 | 0.00% | 2.400 KBps | 416.6875 | 0.00% |
| 2. | 9.6 KBps | 9.604 KBps | 52.0625 | 0.04% | 9.598 KBps | 104.1875 | 0.02% |
| 3. | 19.2 KBps | 19.185 KBps | 26.0625 | 0.08% | 19.208 KBps | 52.0625 | 0.04% |
| 4. | 57.6 KBps | 57.554 KBps | 8.6875 | 0.08% | 57.554 KBps | 17.3750 | 0.08% |
| 5. | 115.2 KBps | 115.942 KBps | 4.3125 | 0.64% | 115.108 KBps | 8.6875 | 0.08% |
| 6. | 230.4 KBps | 228.571 KBps | 2.1875 | 0.79% | 231.884 KBps | 4.3125 | 0.64% |
| 7. | 460.8 KBps | 470.588 KBps | 1.0625 | 2.12% | 457.143 KBps | 2.1875 | 0.79% |
| 8. | 896 KBps | NA | NA | NA | 888.889 KBps | 1.1250 | 0.79% |
| 9. | 921.6 KBps | NA | NA | NA | 941.176 KBps | 1.0625 | 2.12% |
| 10. | 1.792 MBps | NA | NA | NA | NA | NA | NA |
| 11. | 1.8432 MBps | NA | NA | NA | NA | NA | NA |
| 12. | 3.584 MBps | NA | NA | NA | NA | NA | NA |
| 13. | 3.6864 MBps | NA | NA | NA | NA | NA | NA |
| 14. | 7.168 MBps | NA | NA | NA | NA | NA | NA |
| 15. | 7.3728 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 8 (OVER8=1) | |||||||
| Baud rate | $f_{PCLK}$ =8 MHz | $f_{PCLK}$ =16 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired)B.Rate /Desired B.Rate | Actual | Value programmed in the baud rate register | % Error |
| 1. | 2.4 KBps | 2.400 KBps | 416.625 | 0.01% | 2.400 KBps | 833.375 | 0.00% |
| 2. | 9.6 KBps | 9.604 KBps | 104.125 | 0.04% | 9.598 KBps | 208.375 | 0.02% |
| 3. | 19.2 KBps | 19.185 KBps | 52.125 | 0.08% | 19.208 KBps | 104.125 | 0.04% |
| 4. | 57.6 KBps | 57.557 KBps | 17.375 | 0.08% | 57.554 KBps | 34.750 | 0.08% |
| 5. | 115.2 KBps | 115.942 KBps | 8.625 | 0.64% | 115.108 KBps | 17.375 | 0.08% |
| 6. | 230.4 KBps | 228.571 KBps | 4.375 | 0.79% | 231.884 KBps | 8.625 | 0.64% |
| 7. | 460.8 KBps | 470.588 KBps | 2.125 | 2.12% | 457.143 KBps | 4.375 | 0.79% |
| 8. | 896 KBps | 888.889 KBps | 1.125 | 0.79% | 888.889 KBps | 2.250 | 0.79% |
| 9. | 921.6 KBps | 888.889 KBps | 1.125 | 3.55% | 941.176 KBps | 2.125 | 2.12% |
| 10. | 1.792 MBps | NA | NA | NA | 1.7777 MBps | 1.125 | 0.79% |
| 11. | 1.8432 MBps | NA | NA | NA | 1.7777 MBps | 1.125 | 3.55% |
| 12. | 3.584 MBps | NA | NA | NA | NA | NA | NA |
| 13. | 3.6864 MBps | NA | NA | NA | NA | NA | NA |
| 14. | 7.168 MBps | NA | NA | NA | NA | NA | NA |
| 15. | 7.3728 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 16 (OVER8=0) | |||||||
| Baud rate | $f_{PCLK}$ =30 MHz | $f_{PCLK}$ =60 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired)B.Rate /Desired B.Rate | Actual | Value programmed in the baud rate register | % Error |
| 1. | 2.4 KBps | 2.400 KBps | 781.2500 | 0.00% | 2.400 KBps | 1562.5000 | 0.00% |
| 2. | 9.6 KBps | 9.600 KBps | 195.3125 | 0.00% | 9.600 KBps | 390.6250 | 0.00% |
| 3. | 19.2 KBps | 19.194 KBps | 97.6875 | 0.03% | 19.200 KBps | 195.3125 | 0.00% |
| 4. | 57.6 KBps | 57.582KBps | 32.5625 | 0.03% | 57.582 KBps | 65.1250 | 0.03% |
| 5. | 115.2 KBps | 115.385 KBps | 16.2500 | 0.16% | 115.163 KBps | 32.5625 | 0.03% |
| 6. | 230.4 KBps | 230.769 KBps | 8.1250 | 0.16% | 230.769KBps | 16.2500 | 0.16% |
| 7. | 460.8 KBps | 461.538 KBps | 4.0625 | 0.16% | 461.538 KBps | 8.1250 | 0.16% |
| 8. | 896 KBps | 909.091 KBps | 2.0625 | 1.46% | 895.522 KBps | 4.1875 | 0.05% |
| 9. | 921.6 KBps | 909.091 KBps | 2.0625 | 1.36% | 923.077 KBps | 4.0625 | 0.16% |
| 10. | 1.792 MBps | 1.1764 MBps | 1.0625 | 1.52% | 1.8182 MBps | 2.0625 | 1.36% |
| 11. | 1.8432 MBps | 1.8750 MBps | 1.0000 | 1.73% | 1.8182 MBps | 2.0625 | 1.52% |
| 12. | 3.584 MBps | NA | NA | NA | 3.2594 MBps | 1.0625 | 1.52% |
| 13. | 3.6864 MBps | NA | NA | NA | 3.7500 MBps | 1.0000 | 1.73% |
| 14. | 7.168 MBps | NA | NA | NA | NA | NA | NA |
| 15. | 7.3728 MBps | NA | NA | NA | NA | NA | NA |
| Oversampling by 8 (OVER8=1) | |||||||
| Baud rate | $f_{PCLK}$ =30 MHz | $f_{PCLK}$ =60 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired)B.Rate /Desired B.Rate | Actual | Value programmed in the baud rate register | % Error |
| 1. | 2.4 KBps | 2.400 KBps | 1562.5000 | 0.00% | 2.400 KBps | 3125.0000 | 0.00% |
| 2. | 9.6 KBps | 9.600 KBps | 390.6250 | 0.00% | 9.600 KBps | 781.2500 | 0.00% |
| 3. | 19.2 KBps | 19.194 KBps | 195.3750 | 0.03% | 19.200 KBps | 390.6250 | 0.00% |
| 4. | 57.6 KBps | 57.582 KBps | 65.1250 | 0.16% | 57.582 KBps | 130.2500 | 0.03% |
| 5. | 115.2 KBps | 115.385 KBps | 32.5000 | 0.16% | 115.163 KBps | 65.1250 | 0.03% |
| 6. | 230.4 KBps | 230.769 KBps | 16.2500 | 0.16% | 230.769 KBps | 32.5000 | 0.16% |
| 7. | 460.8 KBps | 461.538 KBps | 8.1250 | 0.16% | 461.538 KBps | 16.2500 | 0.16% |
| 8. | 896 KBps | 909.091 KBps | 4.1250 | 1.46% | 895.522 KBps | 8.3750 | 0.05% |
| 9. | 921.6 KBps | 909.091 KBps | 4.1250 | 1.36% | 923.077 KBps | 8.1250 | 0.16% |
| 10. | 1.792 MBps | 1.7647 MBps | 2.1250 | 1.52% | 1.8182 MBps | 4.1250 | 1.46% |
| 11. | 1.8432 MBps | 1.8750 MBps | 2.0000 | 1.73% | 1.8182 MBps | 4.1250 | 1.36% |
| 12. | 3.584 MBps | 3.7500 MBps | 1.0000 | 4.63% | 3.5294 MBps | 2.1250 | 1.52% |
| 13. | 3.6864 MBps | 3.7500 MBps | 1.0000 | 1.73% | 3.7500 MBps | 2.0000 | 1.73% |
| 14. | 7.168 MBps | NA | NA | NA | 7.5000 MBps | 1.0000 | 4.63% |
| 15. | 7.3728 MBps | NA | NA | NA | 7.5000 MBps | 1.0000 | 1.73% |
| Oversampling by 16 (OVER8=0) | |||||||
| Baud rate | $f_{PCLK}$ =42 MHz | $f_{PCLK}$ =84 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | % Error = (Calculated - Desired)B.Rate /Desired B.Rate | Actual | Value programmed in the baud rate register | % Error |
| 1. | 1.2 KBps | 1.2 KBps | 2187.5 | 0 | 1.2 KBps | NA | 0 |
| 2. | 2.4 KBps | 2.4 KBps | 1093.75 | 0 | 2.4 KBps | 2187.5 | 0 |
| 3. | 9.6 KBps | 9.6 KBps | 273.4375 | 0 | 9.6 KBps | 546.875 | 0 |
| 4. | 19.2 KBps | 19.195 KBps | 136.75 | 0.02 | 19.2 KBps | 273.4375 | 0 |
| 5. | 38.4 KBps | 38.391 KBps | 68.375 | 0.02 | 38.391 KBps | 136.75 | 0.02 |
| 6. | 57.6 KBps | 57.613 KBps | 45.5625 | 0.02 | 57.613 KBps | 91.125 | 0.02 |
| 7. | 115.2 KBps | 115.068 KBps | 22.8125 | 0.11 | 115.226 KBps | 45.5625 | 0.02 |
| 8. | 230.4 KBps | 230.769 KBps | 11.375 | 0.16 | 230.137 KBps | 22.8125 | 0.11 |
| 9. | 460.8 KBps | 461.538 KBps | 5.6875 | 0.16 | 461.538 KBps | 11.375 | 0.16 |
| 10. | 921.6 KBps | 913.043 KBps | 2.875 | 0.93 | 923.076 KBps | 5.6875 | 0.93 |
| 11. | 1.792 MBps | 1.826 MBps | 1.4375 | 1.9 | 1.787 MBps | 2.9375 | 0.27 |
| 12. | 1.8432 MBps | 1.826 MBps | 1.4375 | 0.93 | 1.826 MBps | 2.875 | 0.93 |
| 13. | 3.584 MBps | N.A | N.A | N.A | 3.652 MBps | 1.4375 | 1.9 |
| 14. | 3.6864 MBps | N.A | N.A | N.A | 3.652 MBps | 1.4375 | 0.93 |
| 15. | 7.168 MBps | N.A | N.A | N.A | N.A | N.A | N.A |
| 16. | 7.3728 MBps | N.A | N.A | N.A | N.A | N.A | N.A |
| 17. | 9 MBps | N.A | N.A | N.A | N.A | N.A | N.A |
| 18. | 10.5 MBps | N.A | N.A | N.A | N.A | N.A | N.A |
| Oversampling by 8 (OVER8=1) | |||||||
| Baud rate | $f_{PCLK}$ =42 MHz | $f_{PCLK}$ =84 MHz | |||||
| S.No | Desired | Actual | Value programmed in the baud rate register | Value programmed in the baud rate register | Actual | Value programmed in the baud rate register | % Error |
| 1. | 2.4 KBps | 2.4 KBps | 2187.5 | 0 | 2.4 KBps | NA | 0 |
| 2. | 9.6 KBps | 9.6 KBps | 546.875 | 0 | 9.6 KBps | 1093.75 | 0 |
| 3. | 19.2 KBps | 19.195 KBps | 273.5 | 0.02 | 19.2 KBps | 546.875 | 0 |
| 4. | 38.4 KBps | 38.391 KBps | 136.75 | 0.02 | 38.391 KBps | 273.5 | 0.02 |
| 5. | 57.6 KBps | 57.613 KBps | 91.125 | 0.02 | 57.613 KBps | 182.25 | 0.02 |
| 6. | 115.2 KBps | 115.068 KBps | 45.625 | 0.11 | 115.226 KBps | 91.125 | 0.02 |
| 7. | 230.4 KBps | 230.769 KBps | 22.75 | 0.11 | 230.137 KBps | 45.625 | 0.11 |
| 8. | 460.8 KBps | 461.538 KBps | 11.375 | 0.16 | 461.538 KBps | 22.75 | 0.16 |
| 9. | 921.6 KBps | 913.043 KBps | 5.75 | 0.93 | 923.076 KBps | 11.375 | 0.93 |
| 10. | 1.792 MBps | 1.826 MBps | 2.875 | 1.9 | 1.787Mbps | 5.875 | 0.27 |
| 11. | 1.8432 MBps | 1.826 MBps | 2.875 | 0.93 | 1.826 MBps | 5.75 | 0.93 |
| 12. | 3.584 MBps | 3.5 MBps | 1.5 | 2.34 | 3.652 MBps | 2.875 | 1.9 |
| 13. | 3.6864 MBps | 3.82 MBps | 1.375 | 3.57 | 3.652 MBps | 2.875 | 0.93 |
| 14. | 7.168 MBps | N.A | N.A | N.A | 7 MBps | 1.5 | 2.34 |
| 15. | 7.3728 MBps | N.A | N.A | N.A | 7.636 MBps | 1.375 | 3.57 |
| 16. | 9 MBps | N.A | N.A | N.A | 9.333 MBps | 1.125 | 3.7 |
| 17. | 10.5 MBps | N.A | N.A | N.A | 10.5 MBps | 1 | 0 |
| M bit | OVER8 bit = 0 | OVER8 bit = 1 | ||
| ONEBIT=0 | ONEBIT=1 | ONEBIT=0 | ONEBIT=1 | |
| 0 | 3.75% | 4.375% | 2.50% | 3.75% |
| 1 | 3.41% | 3.97% | 2.27% | 3.41% |
| M bit | OVER8 bit = 0 | OVER8 bit = 1 | ||
| ONEBIT=0 | ONEBIT=1 | ONEBIT=0 | ONEBIT=1 | |
| 0 | 3.33% | 3.88% | 2% | 3% |
| 1 | 3.03% | 3.53% | 1.82% | 2.73% |
| M bit | PCE bit | USART frame(1) |
| 0 | 0 | | SB | 8 bit data | STB | |
| 0 | 1 | | SB | 7-bit data | PB | STB | |
| 1 | 0 | | SB | 9-bit data | STB | |
| 1 | 1 | | SB | 8-bit data PB | STB | |