STM32F4/7 Base Project
This base project is designed to provide a quick and platform independent method of building projects for STMicro STM32F4 and STM32F7 family processors.
Based on ryankurte/efm32-base.
STM32F4 & STM32F7 working. STM32L0 & STM32L1 processors experimental / broken.
- Getting started with Microcontrollers is hard (and time consuming)
- Vendor IDEs are ultimately useless when approaching testing and build-automation
- arm-none-eabi-gcc - Embedded ARM Compiler/Toolchain
- texane/stlink - STLink programmer application
This project can either be used directly or as a submodule in a larger project.
Note that submodule use will allow updates to this project for fixes or further device support.
For an example project using this method, see [TODO].
To use the project directly:
- Download this repository
- Change the project name and device in the CMakeLists.txt file
- Move your source and include files into the source and include directories
- Add your source files to the CMakeLists.txt file
- Make something awesome!
To use this project as a submodule:
- Add the submodule to your (already git controlled) project using:
git submodule add https://github.com/ryankurte/stm32f4-base.git
git submodule update
- Copy the CMakeLists.txt file from this project (stm32f4-base) to the top level of your project
- Update the project name and BASE_LOCATION variables in the new CMakeLists.txt
- Add your source files (and cmake libraries) to the CMakeLists.txt file
- Make something even more awesome!
Once you have integrated this project with your project, you can build in the standard cmake manner.
make flash(to program the attached device)
A couple of ST Examples ported to this framework are included in the examples directory. To use, change to the
examples/EXAMPLE directory and run the build steps above.
- As of 2016-06-01 the latest version of stlink in the homebrew repositories does not support STM32F7 devices. To use the flash command you will need to compile the latest tools from the github link above.
If you have any issues, suggestions or alterations, feel free to open an issue or a pull request.