FreeRTOS Kernel Quick Start GuideThis page starts by describing how to get the RTOS running on your target as quickly as possible. Below that the “Next steps – further reading” section provides a set of links to enable you to further your knowledge, answer common questions, and become an expert FreeRTOS user.
Also see the Getting Started With Simple FreeRTOS Projects documentation, and for the best possible start, the FreeRTOS books. There is even a FreeRTOS Windows port to allow experimentation with FreeRTOS on a Windows host, using free tools, and without any special hardware requirements. New developers are also encouraged to make use of the configASSERT() macro.
RTOS quick start instructionsFreeRTOS has been ported to many different architectures and compilers. Each RTOS port is accompanied by a pre-configured demo application to get you up and running quickly. Better still, each demo application is accompanied by a documentation page providing full information on locating the RTOS demo project source code, building the demo project, and configuring the target hardware.
The demo application documentation page also provided essential RTOS port specific information, including how to write FreeRTOS compatible interrupt service routines, which is necessarily slightly different on different microcontroller architectures.
Follow these easy instructions to get up an running in minutes:
- Download the RTOS source code:
Download the FreeRTOS .zip file. This contains the RTOS kernel source code and demo projects for every official port. Don’t be overwhelmed by the amount of files, only a tiny subset are required for one demo! Unzip the files into a convenient directory.
- Locate the relevant documentation page:
Find the “Supported Devices” under the Kernel dropdown, then click the “Officially Supported Demos” link (see image on right) to view a list of microcontroller vendors that are supported by FreeRTOS. Clicking a microcontroller vendor name will take you to a list of documentation pages specific to that vendor.
Refer to the Modifying a demo application to run on different hardware page should a pre-configured port not be available for your development board.
- Building the project:
Follow the instruction on the RTOS port documentation page to locate the required project within the FreeRTOS directory structure, then open and build the demo project.
- Running the demo application:
Follow the instructions on the RTOS port documentation page to setup the target hardware, download and execute the demo application. The same documentation page will provide information on the functionality of the demo application so you know if it is executing correctly or not.
- Create your own project:
The simplest way to create your own FreeRTOS project is to base it on the demo application that is provided for your chosen port. Once you have the demo application running, incrementally remove the demo functions and source files and replace them with your own application code. Troubleshooting help is available under the FAQ “My Application does not run, what could be wrong?“.
Further ReadingThe simplest way to create your own FreeRTOS application is to base it on the demo application that is provided for your chosen port. Once you have the demo application running, incrementally remove the demo functions and source files and replace them with your own application code.
Following are some shortcuts to valuable information for the serious developer:
- The FreeRTOS API reference is accessible through the API Reference menu. For example, the image on the right shows how to access documentation on all the FreeRTOS Task Control functions. A pdf Reference Manual is also available.
- Understanding the FreeRTOS directory structure.
- An introduction to the RTOS demo application projects.
- Modifying an RTOS demo application to run on different hardware.
- Understanding the FreeRTOS license.
- FAQ: My application does not run, what could be wrong?
- Using configASSERT() to trap user errors
- Obtaining free support.
- Obtaining commercial support and development services (links to a third party partner website!).