# STM32F4-FreeRTOS **Repository Path**: null_095_5788/STM32F4-FreeRTOS ## Basic Information - **Project Name**: STM32F4-FreeRTOS - **Description**: A demo project of FreeRTOS running on a STM32F4 Discovery board. - **Primary Language**: C - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-07-31 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32F4-FreeRTOS A demo project of FreeRTOS running on a STM32F4 Discovery board. ## Steps to run this example ### Prerequisite 1. A PC running Linux or Windows with Cygwin(not tested). A Mac is also fine with this example. 2. A STM32F4Discovery board. 3. A FT232RL USB to serial board which is recommended if there's no serial port on your computer. 4. USB Cable, Dupont Line and other tools. ### Install the toolchain The pre-built version of GNU Tools for ARM can be downloaded from its [website](https://launchpad.net/gcc-arm-embedded). It's available for most systems. Follow the instructions in the readme file and installed the toolchain to your system. To verify your installation, simply type `arm-none-eabi-gcc --version` in your terminal, if everything goes right, you'll get output like this: ``` arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.7.3 20130312 (release) [ARM/embedded-4_7-branch revision 196615] Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` ### Install ST-Link utility #### Windows Grab the official utility from [ST website](http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168). Note that you should install the USB driver before install the st-util. #### Linux and OS X Clone this [git](https://github.com/texane/stlink), follow the instructions on that page and install st-util to your system. ### Compile this example The only thing you need to do is to edit the makefile and let it know your toolchain installation path. Change the `TOOLCHARN_ROOT` variable at the third line of makefile and point it to where you installed the toolchain. The you can simply type `make` and compile the example. ### Debug Connect your STM32F4Discovery with a USB cable. You can flash the binary into the board with this: `$ st-flash write binary/FreeRTOS.bin 0x8000000` The code is wrote directly into internal flash of STM32 processor and it starts to run after reset. To debug it, first start the GDB server: `$ st-util &` And then GDB: ``` $ arm-none-eabi-gdb binary/FreeRTOS.elf (gdb) tar ext :4242 (gdb) b main (gdb) c ``` You'll get breakpoint triggered at `main` function, and enjoy!