AnsweredAssumed Answered

STM32F4-Discovery Updated Libraries w/Makefiles.

Question asked by frey.jedediah on Jan 6, 2014
Latest reply on Jan 6, 2014 by Clive One

Problem: The STM32F4-Discovery samples haven't been updated in a long time and there aren't any free IDE or toolchains supported. As a brand new developer for STM coming from Arduino land this was rather difficult even though I like the STM32F4-Discovery board better.

I started off with STM32F4-Discovery_FW_V1.1.0

I updated all libraries to the latest version 
CMSIS 3.20 (18 March 2013)
STM32F4xx Standard Peripherals Drivers 1.3.0 (08-November-2013)

I then added FreeRTOS 7.6.0 and 17 Examples from here. (Which was setup to use CrossWorks IDE. )

Then I went to work searching the internet and learning about Makefiles. Emb4Fun was where I probably got most of the help.

Everything I've been working on is available on Github. All of the FreeRTOS Examples build as does the STM32F4-Demonstration file and all 19 of the Peripheral Examples. I haven't tested all of the functionality but all of the folders build. Makefiles are also all recursive so if you run 'make' in Projects, FreeRTOS_Examples, or Peripheral_Examples it will compile all of the projects in subfolders. 

You will need make and arm-none-eabi installed. It has only been tested on Windows with yagarto-tools-20121018 and GNU Tools Arm Embedded 4.7 2013q3.

-Werror was also used in testing so I corrected a lot of lazy coding mistakes from FreeRTOS and ST. (Mainly just casting and unused variables). If you have ST-Link installed in the default location you should also be able to use 'make flash' and flash straight from the command line. (I am using Console2, but should also work).

I don't frequent these forums often so submitting issues on GitHub would be the best way to reach me.


  • Get all of the examples working for the Embest STM32 Base Board
  • Get stdin, stdout and sterr working over USART. As outlined here.
  • Keep all the libraries up to date.
  • Linux support.