1.3 KiB
1.3 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.
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