Приложение H. Периферия × серия × раздел: где что есть и где об этом читать
Разделы справочника написаны для F103 и F407, карты регистров (приложения A…A18) — для 18 серий. Эта таблица отвечает на вопрос между ними: есть ли нужный блок в выбранной серии, сколько его экземпляров и в каких разделах о нём написано. Строки — 47 периферийных блоков, столбцы — серии в порядке приложений A…A18.
Число в ячейке — сколько экземпляров блока объявляет заголовок чипа-представителя серии (тот же, по которому собрана её карта регистров) и подтверждает SVD того же пака: адрес экземпляра совпадает с базой периферии или лежит внутри её адресного блока. «—» — заголовок чипа блок не объявляет. «?» — заголовок объявляет, а SVD не подтверждает. Всё, в чём заголовок и SVD расходятся, — в последней таблице.
Матрица — по одному чипу серии, младшие чипы беднее. В описании пака у STM32F103C8 ЦАП и SDIO не указаны, а у STM32F103RC указаны оба: столбец F1 отвечает на вопрос «бывает ли блок в серии», а не «есть ли он в вашем корпусе». Для конкретного чипа — калькулятор «Подбор МК» в приложении: он берёт данные из того же описания пака.
Серии и источники
| Серия | Чип | Заголовок | SVD | Карта регистров |
|---|---|---|---|---|
| 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 |
Паки: 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.
Матрица: F1, F4, F0, F2, F3, F7, H7, H5, G0
| Блок | 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 | — |
Матрица: G4, C0, L0, L1, L4, L5, U5, WB, WL
| Блок | 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 | — | — |
Где об этом читать
Разделы, в тегах, id или заголовке которых есть имя блока. Жирным — раздел, на который ссылается карта регистров. Разделы о языке C, Linux, ESP32 и Flutter не в счёт: их UART и GPIO — не блоки STM32.
| Блок | Где есть | Разделы |
|---|---|---|
| GPIO | все 18 | 8, 22и |
| EXTI | все 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 | все 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 | все 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 | все 18 | 12, 12а, 174, 198, 198а, 198м, 198н |
| IWDG | все 18 | 0г, 12, 33а, 35в, 36б, 36в, 106г, 201, 203 |
| WWDG | все 18 | 0г, 12, 33а, 35в, 36б, 36в, 106г, 201, 203 |
| USART / UART | все 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 | все 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 | все 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 | все 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б |
Где источники расходятся
Заголовок и SVD лежат в одном паке, но описывают не всегда один и тот же кристалл. Заголовок F1 stm32f10x.h один на все линейки F1, SVD — на линейку F103; SVD иногда описывает соседний чип серии. В последнем столбце — файл того же пака, где блок нашёлся по тому же адресу. В матрицу такие блоки не входят; в ячейке «?» — когда подтверждённых экземпляров нет вовсе.
| Серия | Блок | Экземпляр | Адрес | Что расходится | Где нашёлся |
|---|---|---|---|---|---|
| F1 | TIM | TIM15 |
0x40014000 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F100xx.svd |
| F1 | TIM | TIM16 |
0x40014400 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F100xx.svd |
| F1 | TIM | TIM17 |
0x40014800 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F100xx.svd |
| F1 | CAN (bxCAN) | CAN2 |
0x40006800 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F105xx.svd |
| F1 | ETH | ETH |
0x40028000 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F107xx.svd |
| F1 | CEC | CEC |
0x40007800 |
в заголовке stm32f10x.h есть, в STM32F103xx.svd нет |
STM32F100xx.svd |
| F4 | GPIO | GPIOJ |
0x40022400 |
в STM32F407.svd есть (GPIOJ), в заголовке stm32f407xx.h нет |
stm32f427xx.h |
| F4 | GPIO | GPIOK |
0x40022800 |
в STM32F407.svd есть (GPIOK), в заголовке stm32f407xx.h нет |
stm32f427xx.h |
| F4 | USART / UART | UART7 |
0x40007800 |
в STM32F407.svd есть (UART7), в заголовке stm32f407xx.h нет |
stm32f413xx.h |
| F4 | USART / UART | UART8 |
0x40007C00 |
в STM32F407.svd есть (UART8), в заголовке stm32f407xx.h нет |
stm32f413xx.h |
| F4 | SPI / I²S | SPI4 |
0x40013400 |
в STM32F407.svd есть (SPI4), в заголовке stm32f407xx.h нет |
stm32f401xc.h |
| F4 | SPI / I²S | SPI5 |
0x40015000 |
в STM32F407.svd есть (SPI5), в заголовке stm32f407xx.h нет |
stm32f411xe.h |
| F4 | SPI / I²S | SPI6 |
0x40015400 |
в STM32F407.svd есть (SPI6), в заголовке stm32f407xx.h нет |
stm32f427xx.h |
| F4 | SAI | SAI1 |
0x40015800 |
в STM32F407.svd есть (SAI1), в заголовке stm32f407xx.h нет |
stm32f413xx.h |
| F4 | LTDC | LTDC |
0x40016800 |
в STM32F407.svd есть (LTDC), в заголовке stm32f407xx.h нет |
stm32f429xx.h |
| F4 | HASH | HASH |
0x50060400 |
в STM32F407.svd есть (HASH), в заголовке stm32f407xx.h нет |
stm32f415xx.h |
| F4 | AES / CRYP / SAES | CRYP |
0x50060000 |
в STM32F407.svd есть (CRYP), в заголовке stm32f407xx.h нет |
stm32f415xx.h |
| F7 | HASH | HASH |
0x50060400 |
в STM32F746.svd есть (HASH), в заголовке stm32f746xx.h нет |
stm32f750xx.h |
| F7 | AES / CRYP / SAES | AES |
0x50060000 |
в STM32F746.svd есть (CRYP), в заголовке stm32f746xx.h нет |
stm32f730xx.h |
| H5 | CEC | CEC |
0x40007000 |
в заголовке stm32h563xx.h есть, в STM32H563.svd нет |
— |
| H5 | PKA | PKA |
0x420C2000 |
в заголовке stm32h563xx.h есть, в STM32H563.svd нет |
STM32H533.svd |
| G0 | RNG | RNG |
0x40025000 |
в STM32G071.svd есть (RNG), в заголовке stm32g071xx.h нет |
stm32g041xx.h |
| L0 | GPIO | GPIOE |
0x50001000 |
в STM32L053.svd есть (GPIOE), в заголовке stm32l053xx.h нет |
stm32l010xb.h |
| L0 | TIM | TIM3 |
0x40000400 |
в STM32L053.svd есть (TIM3), в заголовке stm32l053xx.h нет |
stm32l071xx.h |
| L0 | TIM | TIM7 |
0x40001400 |
в STM32L053.svd есть (TIM7), в заголовке stm32l053xx.h нет |
stm32l071xx.h |
| L0 | USART / UART | USART4 |
0x40004C00 |
в STM32L053.svd есть (USART4), в заголовке stm32l053xx.h нет |
stm32l071xx.h |
| L0 | USART / UART | USART5 |
0x40005000 |
в STM32L053.svd есть (USART5), в заголовке stm32l053xx.h нет |
stm32l071xx.h |
| L0 | I2C | I2C3 |
0x40007800 |
в STM32L053.svd есть (I2C3), в заголовке stm32l053xx.h нет |
stm32l071xx.h |
| L1 | SDIO / SDMMC | SDIO |
0x40012C00 |
в STM32L152.svd есть (SDIO), в заголовке stm32l152xe.h нет |
stm32l151xd.h |
| L1 | FSMC / FMC | FSMC |
0xA0000000 |
в STM32L152.svd есть (FSMC), в заголовке stm32l152xe.h нет |
stm32l151xd.h |
| L1 | AES / CRYP / SAES | AES |
0x50060000 |
в STM32L152.svd есть (AES), в заголовке stm32l152xe.h нет |
stm32l162xc.h |
| L4 | DCMI / PSSI | DCMI |
0x50050000 |
в STM32L476.svd есть (DCMI), в заголовке stm32l476xx.h нет |
stm32l496xx.h |
| L4 | AES / CRYP / SAES | AES |
0x50060000 |
в STM32L476.svd есть (AES), в заголовке stm32l476xx.h нет |
stm32l422xx.h |
| U5 | AES / CRYP / SAES | SAES |
0x420C0C00 |
в STM32U575.svd есть (SAES), в заголовке stm32u575xx.h нет |
stm32u545xx.h |
| U5 | PKA | PKA |
0x420C2000 |
в STM32U575.svd есть (PKA), в заголовке stm32u575xx.h нет |
stm32u545xx.h |