Timo Kröger f865878b4b rcc_f4: Fix RCC bits
## LPTIM1EN / LPTIMER1EN

Only stm32f413 has LPTIM1 peripheral, ref manual bit names:
LPTIMER1EN, LPTIMER1RST, LPTIMER1LPEN, LPTIMER1SEL

action: Rename to LPTIM1(EN|RST|...) for consistency (matches peripheral name)

## FMC / FSMC

not available as peripheral in the YAML anyway.. TODO: why?

EN and RST

FSMC: f405, f407, f412, f413
FSC: f427, f429, f446, f469

action: none

## CECEN / CAN3EN

mutually exclusive peripherals, alias ok?

CECEN: f446
CAN3EN: f413

action: split off f4x3 yaml, f423 exists, but not available as svd

## USART / UART

all over the place, register names in ref manual not always consistent
stm32 follows a simple rule for the actual peripherals:
USART 1-3, 6
UART 4, 5, 7-10

action: rename enable/rst bits to rules above
2021-08-03 14:55:36 +02:00
2021-05-06 02:37:31 +02:00
2021-08-03 14:55:36 +02:00
2021-06-28 09:04:21 +02:00
2021-05-06 02:37:31 +02:00
2021-04-19 04:56:09 +02:00
2021-06-07 13:50:49 +02:00
2021-08-02 11:06:26 -04:00
2021-07-27 12:11:36 -05:00
2021-06-07 12:03:15 +02:00

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

Description
No description provided
Readme 5.1 MiB
Languages
Rust 97.7%
Shell 1.1%
Python 0.7%
PowerShell 0.5%