Command line tool to generate CMakeLists.txt from STM32CubeMX projects.
From this repository:
git clone https://github.com/eugene-babichenko/cubemx2cmake.git
pip install .
Or you can install it from PyPI:
pip install cubemx2cmake
Generate your initialization code from STM32CubeMX with the following Code Generation Options:
- Toolchain: SW4STM32
- [X] Generate under root
Then open your project directory and run cubemx2cmake <your_cube_mx_file>.ioc. If your working directory contains only one CubeMX project file (.ioc), you can simply run *cubemx2cmake and it will find your project file automatically. This will generate CMakeLists.txt, STM32Toolchain.cmake, openocd_debug.cfg and openocd_flash.cfg files.
To get all the things done right use -DCMAKE_TOOLCHAIN_FILE=STM32Toolchain.cmake command line option with CMake.
CMakeLists contains the separate target called flash, which compiles your code and then flashes it to the target processor with OpenOCD. By default stlink-v2 is specified as the debugging interface. You can specify any other interface with –interface command line option. You can also specify flash memory start address with –memory_start option (0x08000000 by default). Telnet and GDB ports can be changed with –telnet-port and –gdb-port (4444 and 3333 are the defaults).
This scripts also generates a bunch of shell script files: * openocd_flash.sh - flashes the target MCU; * openocd_debug.sh - open debugging port for the target MCU; * gdb.sh - connect to the target MCU after openocd_debug.sh was started.