Embedded HandbookПриложения
Все разделы › Приложения
STM32F103, STM32F407 · уровень справочник · 13 мин чтения
Открыть в интерактивном справочнике

Приложение H. Периферия × серия × раздел: где что есть и где об этом читать

Разделы справочника написаны для F103 и F407, карты регистров (приложения A…A18) — для 18 серий. Эта таблица отвечает на вопрос между ними: есть ли нужный блок в выбранной серии, сколько его экземпляров и в каких разделах о нём написано. Строки — 47 периферийных блоков, столбцы — серии в порядке приложений A…A18.

Число в ячейке — сколько экземпляров блока объявляет заголовок чипа-представителя серии (тот же, по которому собрана её карта регистров) и подтверждает SVD того же пака: адрес экземпляра совпадает с базой периферии или лежит внутри её адресного блока. «—» — заголовок чипа блок не объявляет. «?» — заголовок объявляет, а SVD не подтверждает. Всё, в чём заголовок и SVD расходятся, — в последней таблице.

Матрица — по одному чипу серии, младшие чипы беднее. В описании пака у STM32F103C8 ЦАП и SDIO не указаны, а у STM32F103RC указаны оба: столбец F1 отвечает на вопрос «бывает ли блок в серии», а не «есть ли он в вашем корпусе». Для конкретного чипа — калькулятор «Подбор МК» в приложении: он берёт данные из того же описания пака.

Тепловая карта: 47 периферийных блоков по строкам, 18 серий STM32 по столбцам; чем темнее ячейка, тем больше экземпляров блока в чипе-представителе серии, пустая — блока нет, оранжевая — заголовок и SVD пака расходятся


Серии и источники

Серия Чип Заголовок 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
Открыть в интерактивном справочнике