stm32-data/README.md
2021-04-23 22:40:37 +02:00

1.1 KiB

stm32-data

stm32-data is a project aiming to produce clean machine-readable data about the STM32 microcontroller families, including:

  • ✔️ Base chip information
    • RAM, flash
    • Packages
  • ✔️ Peripheral addresses and interrupts
  • ✔️ Interrupts
  • ✔️ GPIO AlternateFunction mappings (except F1)
  • 🚧 Register blocks for all peripherals
  • DMA stream mappings
  • Per-package pinouts
  • Links to applicable reference manuals, datasheets, appnotes PDFs.

✔️ = done, 🚧 = work in progress, = to do

Data sources

These are the data sources currently used.

  • STM32Cube database: describes all MCUs, with useful stuff like GPIO AF mappings, DMA stream mappings, pinouts...
  • stm32-rs SVDs: register blocks. YAMLs are extracted and manually cleaned up.

Generating the YAMLs

  • Run ./d download_all
  • Run python3 parse.py

This generates all the YAMLs in data/ except those in data/registers/, which are manually extracted and cleaned up.

Extracting new register blocks

TODO document