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 Cmd.com should also work).

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

ToDo:

       
  • 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.

Outcomes