STM32 project skeleton generator

gen_stm32 is toolset for generation STM32 project skeleton for development of embedded applications.

Developed in python code: 100%.

The README is used to introduce the tool and provide instructions on how to install the tool, any machine dependencies it may have and any other information that should be provided before the tool is installed.

Python package GitHub issues Documentation Status GitHub contributors

Installation

Install Python2 Package Install Python3 Package

Navigate to release page download and extract release archive.

To install gen_stm32 type the following:

tar xvzf gen_stm32-x.y.z.tar.gz
cd gen_stm32-x.y.z/
# python2
pip install -r requirements.txt
python setup.py install_lib
python setup.py install_data
python setup.py install_egg_info
# pyton3
pip3 install -r requirements.txt
python3 setup.py install_lib
python3 setup.py install_data
python3 setup.py install_egg_info

You can use Docker to create image/container, or You can use pip to install:

# pyton2
pip install gen-stm32
# pyton3
pip3 install gen-stm32

GitHub docker checker

Dependencies

gen_stm32 requires next modules and libraries:

Generation flow of project setup

Base flow of generation process:

https://raw.githubusercontent.com/vroncevic/gen_stm32/dev/docs/python_setup_flow.png

Tool structure

gen_stm32 is based on Template mechanism:

https://raw.githubusercontent.com/vroncevic/gen_stm32/dev/docs/python_setup.png

Code structure:

gen_stm32/
├── conf/
│   ├── gen_stm32.cfg
│   ├── gen_stm32_util.cfg
│   ├── project.yaml
│   └── template/
│       ├── build/
│       │   ├── includes/
│       │   │   └── STM32F4xx_StdPeriph_Driver/
│       │   │       └── src/
│       │   │           └── subdir.template
│       │   ├── Makefile.template
│       │   ├── objects.template
│       │   ├── source/
│       │   │   └── subdir.template
│       │   └── sources.template
│       ├── includes/
│       │   ├── CMSIS/
│       │   │   ├── arm_common_tables.template
│       │   │   ├── arm_math.template
│       │   │   ├── core_cm0.template
│       │   │   ├── core_cm3.template
│       │   │   ├── core_cm4_simd.template
│       │   │   ├── core_cm4.template
│       │   │   ├── core_cmFunc.template
│       │   │   └── core_cmInstr.template
│       │   ├── STM32F4xx/
│       │   │   ├── stm32f4xx_conf.template
│       │   │   ├── stm32f4xx.template
│       │   │   └── system_stm32f4xx.template
│       │   └── STM32F4xx_StdPeriph_Driver/
│       │       ├── inc/
│       │       │   ├── misc.template
│       │       │   ├── stm32f4xx_adc.template
│       │       │   ├── stm32f4xx_can.template
│       │       │   ├── stm32f4xx_crc.template
│       │       │   ├── stm32f4xx_cryp.template
│       │       │   ├── stm32f4xx_dac.template
│       │       │   ├── stm32f4xx_dbgmcu.template
│       │       │   ├── stm32f4xx_dcmi.template
│       │       │   ├── stm32f4xx_dma.template
│       │       │   ├── stm32f4xx_exti.template
│       │       │   ├── stm32f4xx_flash.template
│       │       │   ├── stm32f4xx_fsmc.template
│       │       │   ├── stm32f4xx_gpio.template
│       │       │   ├── stm32f4xx_hash.template
│       │       │   ├── stm32f4xx_i2c.template
│       │       │   ├── stm32f4xx_iwdg.template
│       │       │   ├── stm32f4xx_pwr.template
│       │       │   ├── stm32f4xx_rcc.template
│       │       │   ├── stm32f4xx_rng.template
│       │       │   ├── stm32f4xx_rtc.template
│       │       │   ├── stm32f4xx_sdio.template
│       │       │   ├── stm32f4xx_spi.template
│       │       │   ├── stm32f4xx_syscfg.template
│       │       │   ├── stm32f4xx_tim.template
│       │       │   ├── stm32f4xx_usart.template
│       │       │   └── stm32f4xx_wwdg.template
│       │       └── src/
│       │           ├── misc.template
│       │           ├── stm32f4xx_adc.template
│       │           ├── stm32f4xx_can.template
│       │           ├── stm32f4xx_crc.template
│       │           ├── stm32f4xx_cryp_aes.template
│       │           ├── stm32f4xx_cryp_des.template
│       │           ├── stm32f4xx_cryp_tdes.template
│       │           ├── stm32f4xx_cryp.template
│       │           ├── stm32f4xx_dac.template
│       │           ├── stm32f4xx_dbgmcu.template
│       │           ├── stm32f4xx_dcmi.template
│       │           ├── stm32f4xx_dma.template
│       │           ├── stm32f4xx_exti.template
│       │           ├── stm32f4xx_flash.template
│       │           ├── stm32f4xx_fsmc.template
│       │           ├── stm32f4xx_gpio.template
│       │           ├── stm32f4xx_hash_md5.template
│       │           ├── stm32f4xx_hash_sha1.template
│       │           ├── stm32f4xx_hash.template
│       │           ├── stm32f4xx_i2c.template
│       │           ├── stm32f4xx_iwdg.template
│       │           ├── stm32f4xx_pwr.template
│       │           ├── stm32f4xx_rcc.template
│       │           ├── stm32f4xx_rng.template
│       │           ├── stm32f4xx_rtc.template
│       │           ├── stm32f4xx_sdio.template
│       │           ├── stm32f4xx_spi.template
│       │           ├── stm32f4xx_syscfg.template
│       │           ├── stm32f4xx_tim.template
│       │           ├── stm32f4xx_usart.template
│       │           └── stm32f4xx_wwdg.template
│       ├── scripts/
│       │   └── arm_cortex_m4_512.template
│       └── source/
│           ├── main.template
│           ├── startup_stm32f4xx.template
│           ├── syscall.template
│           ├── system_stm32f4xx.template
│           └── tinynew.template
├── __init__.py
├── log/
│   └── gen_stm32.log
├── pro/
│   ├── config
│   │   ├── __init__.py
│   │   ├── pro_name.py
│   │   └── template_dir.py
│   ├── __init__.py
│   ├── read_template.py
│   └── write_template.py
└── run/
    └── gen_stm32_run.py

Indices and tables