stm32-data/README.md
2021-06-28 09:19:09 +02:00

1.3 KiB
Raw Blame History

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.

Install pre-requisites

In order to run the generator, you will need to install the following tools:

  • wget
  • git
  • jq
  • svd pip3 install svdtools

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