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

45 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# stm32-data
`stm32-data` is a project aiming to produce clean machine-readable data about the STM32 microcontroller
families, including:
- :heavy_check_mark: Base chip information
- RAM, flash
- Packages
- :heavy_check_mark: Peripheral addresses and interrupts
- :heavy_check_mark: Interrupts
- :heavy_check_mark: GPIO AlternateFunction mappings (except F1)
- :construction: Register blocks for all peripherals
- :x: DMA stream mappings
- :x: Per-package pinouts
- :heavy_check_mark: Links to applicable reference manuals, datasheets, appnotes PDFs.
:heavy_check_mark: = done, :construction: = work in progress, :x: = 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