README

Introduction

FreeRTOS 8.0.0 porting on 32F429IDISCOVERY board using GCC on linux. The demo projects also work with current FreeRTOS (v8.0.1).

Building the projects requires an arm-none-eabi- toolchain with Cortex-M4F support. The known working toolchains are:

Get FreeRTOS and STM32F429 Discovery Firmware Ready

Download and decompress the FreeRTOS V8.0.0 from sourceforge.

unzip FreeRTOSV8.0.0.zip

Download and decompress the STM32F429 discovery firmware package from STMicroelectronics website.

unzip stsw-stm32138.zip

Clone and build the project.

git clone https://github.com/winfred-lu/stm32f429-freertos800
cd stm32f429-freertos800
make

stlink is required to flash the binary to the STM32F429I Discovery board. With stlink in the $PATH, then

make flash

(option) Download uGFX project

This would be only required if you would like to build the uGFX basic or notepad project.

git co https://bitbucket.org/Tectu/ugfx.git

Refrence: uGFX home and uGFX forum

Supported Projects

Multiple projects are supported:

  1. A loop to toggle LEDs (without OS)
    make clean
    make led-test
        

    No task will be created. An infinite loop to toggle LEDs that never breaks. Try this if there is a hardware issue or so.

  2. Simple LED flasher example (default)
    make clean
    make simple-led
        

    The LED flash tasks are created. Two of the tasks will toggle the STM32F429I Discovery board LED3 and LED4 in different frequency.

  3. Comprehensive test/demo application
    make clean
    make complex-led
        

    A lot of additional tasks and a software timer are crated. Please reference comments in main-led.c.

  4. LCD test/demo application
    make clean
    make lcd
        

    In addition to standard demo tasks, the following tasks are created:

    • LCD task : a gatekeeper task that receives messages from the queue and writes the messages to the LCD.
    • Check hook : periodically checks that all the demo tasks are still operational, and sends PASS or ERROR messages to the LCD task.
  5. basic uGFX application
    make clean
    make ugfx-basic
        

    With LED flash tasks existing, the LCD task draws a yellow box, a blue full rectangle, a red line, and a white dotted curve.

  6. uGFX notepad application
    make clean
    make ugfx
        

    With LED flash tasks existing, the LCD task demostrates notepad application after the LCD calibration. Watch the Demo video.