Crate stm32_metapac

Expand description

You might want to browse the `embassy-nrf` documentation on the Embassy website instead.

The documentation here on `docs.rs` is built for a single chip only (stm32h755zi-cm7 in particular), while on the Embassy website you can pick your exact chip from the top menu. Available peripherals and their APIs change depending on the chip.

§stm32-metapac

This is a Peripheral Access Crate for STMicroelectronics STM32 microcontrollers.

This crate has been automatically generated based on data in the stm32-data project, and is used for the embassy-stm32 Rust Hardware Abstraction Layer (HAL) for the STM32 microcontrollers.

§Metadata

This PAC additionally exports “metadata” about the chips. To use it, enable the metadata feature and access it at stm32_metapac::METADATA. It is intended to be consumed from build.rs scripts or code-generation tools running on PCs, not from the firmware itself.

The metadata includes the following info:

  • Memory maps for RAM, flash.
  • Interrupts
  • GPIO Alternate Function mappings
  • Interrupt -> peripheral mappings
  • DMA channel -> peripehral mappings
  • RCC clock tree information for each peripheral (what clocks does it receive, which RCC registers to poke to enable, reset, or choose the clock)

§Supported chips

This PAC aims to support all STM32 chip families:

  • STM32F0
  • STM32F1
  • STM32F2
  • STM32F3
  • STM32F4
  • STM32F7
  • STM32C0
  • STM32G0
  • STM32G4
  • STM32H5
  • STM32H7
  • STM32H7RS
  • STM32L0
  • STM32L1
  • STM32L4
  • STM32L5
  • STM32U0
  • STM32U5
  • STM32WB
  • STM32WBA
  • STM32WL

Modules§

adc
adccommon
bdma
can
cec
common
comp
crc
crs
cryp
dac
dbgmcu
dcmi
dma
dma2d
dmamux
eth
exti
fdcanram
flash
fmc
gpio
hash
hrtim
hsem
i2c
iwdg
jpeg
lptim
ltdc
mdios
metadata
opamp
otg
pwr
quadspi
rcc
rng
rtc
sai
sdmmc
spdifrx
spi
syscfg
timer
uid
usart
vrefbuf
wwdg

Enums§

Interrupt

Constants§

ADC1
ADC2
ADC3
ADC3_COMMON
ADC12_COMMON
BDMA
CEC
COMP1
COMP2
CRC
CRS
CRYP
DAC1
DBGMCU
DCMI
DFSDM1
DMA1
DMA2
DMA2D
DMAMUX1
DMAMUX2
ETH
EXTI
FDCAN1
FDCAN2
FDCANRAM
FLASH
FMC
GPIOA
GPIOB
GPIOC
GPIOD
GPIOE
GPIOF
GPIOG
GPIOH
GPIOI
GPIOJ
GPIOK
HASH
HRTIM1
HSEM
I2C1
I2C2
I2C3
I2C4
IWDG1
IWDG2
JPEG
LPTIM1
LPTIM2
LPTIM3
LPTIM4
LPTIM5
LPUART1
LTDC
MDIOS
MDMA
OPAMP1
OPAMP2
PWR
QUADSPI
RCC
RNG
RTC
SAI1
SAI2
SAI3
SAI4
SDMMC1
SDMMC2
SPDIFRX1
SPI1
SPI2
SPI3
SPI4
SPI5
SPI6
SWPMI1
SYSCFG
TIM1
TIM2
TIM3
TIM4
TIM5
TIM6
TIM7
TIM8
TIM12
TIM13
TIM14
TIM15
TIM16
TIM17
UART4
UART5
UART7
UART8
UID
USART1
USART2
USART3
USART6
USB_OTG_FS
USB_OTG_HS
VREFBUF
WWDG1
WWDG2