Appendix H. Peripheral × series × section: what exists where and where to read about it
The handbook sections are written for the F103 and F407, the register maps (appendices A…A18) cover 18 series. This table answers the question in between: does the selected series have the block you need, how many instances, and which sections write about it. Rows are 47 peripheral blocks, columns are series in the order of appendices A…A18.
The number in a cell is how many instances of the block the header of the series' representative chip declares (the same header its register map is built from) and the SVD of the same pack confirms: the instance address matches a peripheral base or lies inside its address block. “—” means the chip header does not declare the block. “?” means the header declares it but the SVD does not confirm it. Everything the header and the SVD disagree on is in the last table.
The matrix uses one chip per series, and smaller chips have less. The pack description lists no DAC or SDIO for the STM32F103C8, while the STM32F103RC has both: the F1 column answers “does the block exist in the series”, not “is it in your package”. For a specific chip, use the “MCU picker” calculator in the app: it takes its data from the same pack description.
Series and sources
| Series | Chip | Header | SVD | Register map |
|---|---|---|---|---|
| F1 | STM32F103 | stm32f10x.h |
STM32F103xx.svd |
A |
| F4 | STM32F407 | stm32f407xx.h |
STM32F407.svd |
A2 |
| F0 | STM32F072 | stm32f072xb.h |
STM32F072x.svd |
A3 |
| F2 | STM32F207 | stm32f207xx.h |
STM32F207.svd |
A4 |
| F3 | STM32F303 | stm32f303xc.h |
STM32F30x.svd |
A5 |
| F7 | STM32F746 | stm32f746xx.h |
STM32F746.svd |
A6 |
| H7 | STM32H743 | stm32h743xx.h |
STM32H743.svd |
A7 |
| H5 | STM32H563 | stm32h563xx.h |
STM32H563.svd |
A8 |
| G0 | STM32G071 | stm32g071xx.h |
STM32G071.svd |
A9 |
| G4 | STM32G474 | stm32g474xx.h |
STM32G474.svd |
A10 |
| C0 | STM32C031 | stm32c031xx.h |
STM32C031.svd |
A11 |
| L0 | STM32L053 | stm32l053xx.h |
STM32L053.svd |
A12 |
| L1 | STM32L152 | stm32l152xe.h |
STM32L152.svd |
A13 |
| L4 | STM32L476 | stm32l476xx.h |
STM32L476.svd |
A14 |
| L5 | STM32L552 | stm32l552xx.h |
STM32L552.svd |
A15 |
| U5 | STM32U575 | stm32u575xx.h |
STM32U575.svd |
A16 |
| WB | STM32WB55 | stm32wb55xx.h |
STM32WB55_CM4.svd |
A17 |
| WL | STM32WLE5 | stm32wle5xx.h |
STM32WLE5_CM4.svd |
A18 |
Packs: STM32F1xx_DFP 2.4.1, STM32F4xx_DFP 2.17.1, STM32F0xx_DFP 2.1.1, STM32F2xx_DFP 2.11.0, STM32F3xx_DFP 2.2.2, STM32F7xx_DFP 2.16.0, STM32H7xx_DFP 3.1.1, STM32H5xx_DFP 1.3.0, STM32G0xx_DFP 1.5.0, STM32G4xx_DFP 1.6.0, STM32C0xx_DFP 1.0.0, STM32L0xx_DFP 2.3.0, STM32L1xx_DFP 1.4.1, STM32L4xx_DFP 2.7.0, STM32L5xx_DFP 1.4.0, STM32U5xx_DFP 2.2.1, STM32WBxx_DFP 1.4.0, STM32WLxx_DFP 1.2.0.
Matrix: F1, F4, F0, F2, F3, F7, H7, H5, G0
| Block | F1 | F4 | F0 | F2 | F3 | F7 | H7 | H5 | G0 |
|---|---|---|---|---|---|---|---|---|---|
| GPIO | 7 | 9 | 6 | 9 | 6 | 11 | 11 | 9 | 5 |
| EXTI | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| DMA | 2 | 2 | 1 | 2 | 2 | 2 | 2 | — | 1 |
| BDMA | — | — | — | — | — | — | 1 | — | — |
| MDMA | — | — | — | — | — | — | 1 | — | — |
| GPDMA | — | — | — | — | — | — | — | 2 | — |
| LPDMA | — | — | — | — | — | — | — | — | — |
| DMAMUX | — | — | — | — | — | — | 2 | — | 1 |
| ADC | 3 | 3 | 1 | 3 | 4 | 3 | 3 | 2 | 1 |
| DAC | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| COMP | — | — | 2 | — | 7 | — | 2 | — | 2 |
| OPAMP | — | — | — | — | 4 | — | 2 | — | — |
| TIM | 14 | 14 | 9 | 14 | 10 | 14 | 14 | 14 | 9 |
| LPTIM | — | — | — | — | — | 1 | 5 | 6 | 2 |
| HRTIM | — | — | — | — | — | — | 1 | — | — |
| RTC | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| IWDG | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| WWDG | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| USART / UART | 5 | 6 | 4 | 6 | 5 | 8 | 8 | 12 | 4 |
| LPUART | — | — | — | — | — | — | 1 | 1 | 1 |
| I2C | 2 | 3 | 2 | 3 | 2 | 4 | 4 | 4 | 2 |
| I3C | — | — | — | — | — | — | — | 1 | — |
| SPI / I²S | 3 | 3 | 2 | 3 | 3 | 6 | 6 | 6 | 2 |
| SAI | — | — | — | — | — | 2 | 4 | 2 | — |
| DFSDM / MDF / ADF | — | — | — | — | — | — | 1 | — | — |
| CAN (bxCAN) | 1 | 2 | 1 | 2 | 1 | 2 | — | — | — |
| FDCAN | — | — | — | — | — | — | 2 | 2 | — |
| USB FS | 1 | — | 1 | — | 1 | — | — | 1 | — |
| USB OTG | — | 2 | — | 2 | — | 2 | 2 | — | — |
| UCPD | — | — | — | — | — | — | — | 1 | 2 |
| ETH | ? | 1 | — | 1 | — | 1 | 1 | 1 | — |
| SDIO / SDMMC | 1 | 1 | — | 1 | — | 1 | 2 | 2 | — |
| FSMC / FMC | 1 | 1 | — | 1 | — | 1 | 1 | 1 | — |
| QUADSPI / OCTOSPI | — | — | — | — | — | 1 | 1 | 1 | — |
| LTDC | — | — | — | — | — | 1 | 1 | — | — |
| DMA2D | — | — | — | — | — | 1 | 1 | — | — |
| DCMI / PSSI | — | 1 | — | 1 | — | 1 | 1 | 2 | — |
| LCD | — | — | — | — | — | — | — | — | — |
| TSC | — | — | 1 | — | 1 | — | — | — | — |
| CEC | ? | — | 1 | — | — | 1 | 1 | ? | 1 |
| CRC | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RNG | — | 1 | — | 1 | — | 1 | 1 | 1 | — |
| HASH | — | — | — | — | — | — | — | 1 | — |
| AES / CRYP / SAES | — | — | — | — | — | — | — | — | — |
| PKA | — | — | — | — | — | — | — | ? | — |
| CORDIC | — | — | — | — | — | — | — | 1 | — |
| FMAC | — | — | — | — | — | — | — | 1 | — |
Matrix: G4, C0, L0, L1, L4, L5, U5, WB, WL
| Block | G4 | C0 | L0 | L1 | L4 | L5 | U5 | WB | WL |
|---|---|---|---|---|---|---|---|---|---|
| GPIO | 7 | 5 | 5 | 8 | 8 | 8 | 9 | 6 | 4 |
| EXTI | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| DMA | 2 | 1 | 1 | 2 | 2 | 2 | — | 2 | 2 |
| BDMA | — | — | — | — | — | — | — | — | — |
| MDMA | — | — | — | — | — | — | — | — | — |
| GPDMA | — | — | — | — | — | — | 1 | — | — |
| LPDMA | — | — | — | — | — | — | 1 | — | — |
| DMAMUX | 1 | 1 | — | — | — | 1 | — | 1 | 1 |
| ADC | 5 | 1 | 1 | 1 | 3 | 2 | 2 | 1 | 1 |
| DAC | 4 | — | 1 | 1 | 1 | 1 | 1 | — | 1 |
| COMP | 7 | — | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| OPAMP | 6 | — | — | 2 | 2 | 2 | 2 | — | — |
| TIM | 12 | 5 | 4 | 9 | 11 | 11 | 11 | 4 | 4 |
| LPTIM | 1 | — | 1 | — | 2 | 3 | 4 | 2 | 3 |
| HRTIM | 1 | — | — | — | — | — | — | — | — |
| RTC | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| IWDG | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| WWDG | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| USART / UART | 5 | 2 | 2 | 5 | 5 | 5 | 5 | 1 | 2 |
| LPUART | 1 | — | 1 | — | 1 | 1 | 1 | 1 | 1 |
| I2C | 4 | 1 | 2 | 2 | 3 | 4 | 4 | 2 | 3 |
| I3C | — | — | — | — | — | — | — | — | — |
| SPI / I²S | 4 | 1 | 2 | 3 | 3 | 3 | 3 | 2 | 2 |
| SAI | 1 | — | — | — | 2 | 2 | 2 | 1 | — |
| DFSDM / MDF / ADF | — | — | — | — | 1 | 1 | 2 | — | — |
| CAN (bxCAN) | — | — | — | — | 1 | — | — | — | — |
| FDCAN | 3 | — | — | — | — | 1 | 1 | — | — |
| USB FS | 1 | — | 1 | 1 | — | 1 | — | 1 | — |
| USB OTG | — | — | — | — | 1 | — | 1 | — | — |
| UCPD | 1 | — | — | — | — | 1 | 1 | — | — |
| ETH | — | — | — | — | — | — | — | — | — |
| SDIO / SDMMC | — | — | — | — | 1 | 1 | 2 | — | — |
| FSMC / FMC | 1 | — | — | — | 1 | 1 | 1 | — | — |
| QUADSPI / OCTOSPI | 1 | — | — | — | 1 | 1 | 2 | 1 | — |
| LTDC | — | — | — | — | — | — | — | — | — |
| DMA2D | — | — | — | — | — | — | 1 | — | — |
| DCMI / PSSI | — | — | — | — | — | — | 2 | — | — |
| LCD | — | — | 1 | 1 | 1 | — | — | 1 | — |
| TSC | — | — | 1 | — | 1 | 1 | 1 | 1 | — |
| CEC | — | — | — | — | — | — | — | — | — |
| CRC | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RNG | 1 | — | 1 | — | 1 | 1 | 1 | 1 | 1 |
| HASH | — | — | — | — | — | 1 | 1 | — | — |
| AES / CRYP / SAES | — | — | — | — | — | — | — | 2 | 1 |
| PKA | — | — | — | — | — | — | — | 1 | 1 |
| CORDIC | 1 | — | — | — | — | — | 1 | — | — |
| FMAC | 1 | — | — | — | — | — | 1 | — | — |
Where to read about it
Sections whose tags, id or title contain the block name. Bold is the section the register map links to. Sections about the C language, Linux, ESP32 and Flutter do not count: their UART and GPIO are not STM32 blocks.
| Block | Present in | Sections |
|---|---|---|
| GPIO | all 18 | 8, 22и |
| EXTI | all 18 | 7, 12, 15б, 19н, 22и, 22к, 36н, 84, 93а, 97, 100, 100б, 103а, 198г, 198д |
| DMA | F1, F4, F0, F2, F3, F7, H7, G0, G4, C0, L0, L1, L4, L5, WB, WL | 5а, 9, 11б, 14, 15, 15в, 16б, 17а, 18, 18а, 18в, 22б, 22г, 22з, 36к, 38а, 41а, 99а, 99в, 103в, 106а, 198д, 198к, 198н, 198п, 198с |
| BDMA | H7 | — |
| MDMA | H7 | 11б, 121а |
| GPDMA | H5, U5 | 2д, 9а |
| LPDMA | U5 | 9а, 10б |
| DMAMUX | H7, G0, G4, C0, L5, WB, WL | — |
| ADC | all 18 | 14, 14а, 15а, 15б, 36н, 43а, 50а, 57е, 81, 96, 101, 103, 162, 165, 177, 178, 180, 196, 198к, 202 |
| DAC | F1, F4, F0, F2, F3, F7, H7, H5, G0, G4, L0, L1, L4, L5, U5, WL | 15, 15в, 36к, 50а, 57е, 180, 198л, 198п |
| COMP | F0, F3, H7, G0, G4, L0, L1, L4, L5, U5, WB, WL | 15б, 44, 57б, 57е, 175 |
| OPAMP | F3, H7, G4, L1, L4, L5, U5 | 44, 57б, 164 |
| TIM | all 18 | 9, 12, 13, 22г, 29, 33а, 34, 46, 84, 197, 198д, 198к |
| LPTIM | F7, H7, H5, G0, G4, L0, L4, L5, U5, WB, WL | 46 |
| HRTIM | H7, G4 | 46 |
| RTC | all 18 | 12, 12а, 174, 198, 198а, 198м, 198н |
| IWDG | all 18 | 0г, 12, 33а, 35в, 36б, 36в, 106г, 201, 203 |
| WWDG | all 18 | 0г, 12, 33а, 35в, 36б, 36в, 106г, 201, 203 |
| USART / UART | all 18 | 5а, 9, 16, 16б, 16в, 16г, 18д, 19к, 19л, 21а, 32, 36д, 36ж, 48д, 83, 95а, 99в, 100а, 103в, 106г, 198в, 198д, 198е, 198к, 198м, 198н, 198п, 198щ |
| LPUART | H7, H5, G0, G4, L0, L4, L5, U5, WB, WL | 10а, 16 |
| I2C | all 18 | 13в, 15б, 15в, 17, 17а, 18д, 22а, 22д, 22и, 36д, 36ж, 39в, 43б, 57и, 83, 95, 95а, 97, 98, 99, 99г, 100б, 101, 101а, 103, 103а, 103б, 104б, 198г, 198л, 198м, 198р, 198х |
| I3C | H5 | — |
| SPI / I²S | all 18 | 17а, 18, 18а, 18в, 18г, 18д, 18е, 19н, 22г, 22е, 22з, 22к, 36д, 36ж, 41, 41в, 42а, 82, 83, 93, 93а, 95а, 99а, 104, 198л, 198с, 198ц |
| SAI | F7, H7, H5, G4, L4, L5, U5, WB | 18б |
| DFSDM / MDF / ADF | H7, L4, L5, U5 | 18б |
| CAN (bxCAN) | F1, F4, F0, F2, F3, F7, L4 | 0б, 19, 19а, 19б, 19в, 19г, 19д, 19е, 19ж, 19з, 19и, 19н, 36д, 36ж, 36л, 57в, 57г, 198е, 198р, 198с, 198т, 198у |
| FDCAN | H7, H5, G4, L5, U5 | 19, 19а, 198е, 198с, 198т |
| USB FS | F1, F0, F3, H5, G4, L0, L1, L5, WB | 2ж, 19ж, 20, 20а, 20б, 20в, 20г, 20д, 36л, 104а, 198б, 198е, 198л, 198ф, 198ч, 198ш |
| USB OTG | F4, F2, F7, H7, L4, U5 | 2ж, 19ж, 20, 20а, 20б, 20в, 20г, 20д, 36л, 104а, 198б, 198е, 198л, 198ф, 198ч, 198ш |
| UCPD | H5, G0, G4, L5, U5 | 20б |
| ETH | F4, F2, F7, H7, H5 | 37, 89, 105, 106а, 106б, 198з, 198и |
| SDIO / SDMMC | F1, F4, F2, F7, H7, H5, L4, L5, U5 | 41, 41а, 198т |
| FSMC / FMC | F1, F4, F2, F7, H7, H5, G4, L4, L5, U5 | 41б |
| QUADSPI / OCTOSPI | F7, H7, H5, G4, L4, L5, U5, WB | 2д, 41, 41в, 198м, 198ц |
| LTDC | F7, H7 | 22а |
| DMA2D | F7, H7, U5 | 22а |
| DCMI / PSSI | F4, F2, F7, H7, H5, U5 | 22б, 121а |
| LCD | L0, L1, L4, WB | 22в, 22д |
| TSC | F0, F3, L0, L4, L5, U5, WB | 45 |
| CEC | F0, F7, H7, G0 | — |
| CRC | all 18 | 12, 12б, 36б, 43, 48, 93а, 96, 198к, 198с, 201а |
| RNG | F4, F2, F7, H7, H5, G4, L0, L4, L5, U5, WB, WL | 43, 43а |
| HASH | H5, L5, U5 | 43 |
| AES / CRYP / SAES | WB, WL | 43, 48г, 94 |
| PKA | WB, WL | — |
| CORDIC | H5, G4, U5 | 46а, 99г |
| FMAC | H5, G4, U5 | 46б |
Where the sources disagree
The header and the SVD live in the same pack but do not always describe the same die. The F1 header stm32f10x.h covers all F1 lines, the SVD covers the F103 line; an SVD sometimes describes a neighbouring chip of the series. The last column names the file of the same pack where the block was found at the same address. Such blocks are not counted in the matrix; a cell shows “?” when there are no confirmed instances at all.
| Series | Block | Instance | Address | What disagrees | Where found |
|---|---|---|---|---|---|
| F1 | TIM | TIM15 |
0x40014000 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F100xx.svd |
| F1 | TIM | TIM16 |
0x40014400 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F100xx.svd |
| F1 | TIM | TIM17 |
0x40014800 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F100xx.svd |
| F1 | CAN (bxCAN) | CAN2 |
0x40006800 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F105xx.svd |
| F1 | ETH | ETH |
0x40028000 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F107xx.svd |
| F1 | CEC | CEC |
0x40007800 |
in the stm32f10x.h header, not in STM32F103xx.svd |
STM32F100xx.svd |
| F4 | GPIO | GPIOJ |
0x40022400 |
in STM32F407.svd (GPIOJ), not in the stm32f407xx.h header |
stm32f427xx.h |
| F4 | GPIO | GPIOK |
0x40022800 |
in STM32F407.svd (GPIOK), not in the stm32f407xx.h header |
stm32f427xx.h |
| F4 | USART / UART | UART7 |
0x40007800 |
in STM32F407.svd (UART7), not in the stm32f407xx.h header |
stm32f413xx.h |
| F4 | USART / UART | UART8 |
0x40007C00 |
in STM32F407.svd (UART8), not in the stm32f407xx.h header |
stm32f413xx.h |
| F4 | SPI / I²S | SPI4 |
0x40013400 |
in STM32F407.svd (SPI4), not in the stm32f407xx.h header |
stm32f401xc.h |
| F4 | SPI / I²S | SPI5 |
0x40015000 |
in STM32F407.svd (SPI5), not in the stm32f407xx.h header |
stm32f411xe.h |
| F4 | SPI / I²S | SPI6 |
0x40015400 |
in STM32F407.svd (SPI6), not in the stm32f407xx.h header |
stm32f427xx.h |
| F4 | SAI | SAI1 |
0x40015800 |
in STM32F407.svd (SAI1), not in the stm32f407xx.h header |
stm32f413xx.h |
| F4 | LTDC | LTDC |
0x40016800 |
in STM32F407.svd (LTDC), not in the stm32f407xx.h header |
stm32f429xx.h |
| F4 | HASH | HASH |
0x50060400 |
in STM32F407.svd (HASH), not in the stm32f407xx.h header |
stm32f415xx.h |
| F4 | AES / CRYP / SAES | CRYP |
0x50060000 |
in STM32F407.svd (CRYP), not in the stm32f407xx.h header |
stm32f415xx.h |
| F7 | HASH | HASH |
0x50060400 |
in STM32F746.svd (HASH), not in the stm32f746xx.h header |
stm32f750xx.h |
| F7 | AES / CRYP / SAES | AES |
0x50060000 |
in STM32F746.svd (CRYP), not in the stm32f746xx.h header |
stm32f730xx.h |
| H5 | CEC | CEC |
0x40007000 |
in the stm32h563xx.h header, not in STM32H563.svd |
— |
| H5 | PKA | PKA |
0x420C2000 |
in the stm32h563xx.h header, not in STM32H563.svd |
STM32H533.svd |
| G0 | RNG | RNG |
0x40025000 |
in STM32G071.svd (RNG), not in the stm32g071xx.h header |
stm32g041xx.h |
| L0 | GPIO | GPIOE |
0x50001000 |
in STM32L053.svd (GPIOE), not in the stm32l053xx.h header |
stm32l010xb.h |
| L0 | TIM | TIM3 |
0x40000400 |
in STM32L053.svd (TIM3), not in the stm32l053xx.h header |
stm32l071xx.h |
| L0 | TIM | TIM7 |
0x40001400 |
in STM32L053.svd (TIM7), not in the stm32l053xx.h header |
stm32l071xx.h |
| L0 | USART / UART | USART4 |
0x40004C00 |
in STM32L053.svd (USART4), not in the stm32l053xx.h header |
stm32l071xx.h |
| L0 | USART / UART | USART5 |
0x40005000 |
in STM32L053.svd (USART5), not in the stm32l053xx.h header |
stm32l071xx.h |
| L0 | I2C | I2C3 |
0x40007800 |
in STM32L053.svd (I2C3), not in the stm32l053xx.h header |
stm32l071xx.h |
| L1 | SDIO / SDMMC | SDIO |
0x40012C00 |
in STM32L152.svd (SDIO), not in the stm32l152xe.h header |
stm32l151xd.h |
| L1 | FSMC / FMC | FSMC |
0xA0000000 |
in STM32L152.svd (FSMC), not in the stm32l152xe.h header |
stm32l151xd.h |
| L1 | AES / CRYP / SAES | AES |
0x50060000 |
in STM32L152.svd (AES), not in the stm32l152xe.h header |
stm32l162xc.h |
| L4 | DCMI / PSSI | DCMI |
0x50050000 |
in STM32L476.svd (DCMI), not in the stm32l476xx.h header |
stm32l496xx.h |
| L4 | AES / CRYP / SAES | AES |
0x50060000 |
in STM32L476.svd (AES), not in the stm32l476xx.h header |
stm32l422xx.h |
| U5 | AES / CRYP / SAES | SAES |
0x420C0C00 |
in STM32U575.svd (SAES), not in the stm32u575xx.h header |
stm32u545xx.h |
| U5 | PKA | PKA |
0x420C2000 |
in STM32U575.svd (PKA), not in the stm32u575xx.h header |
stm32u545xx.h |