1.1 KiB
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