Download FreeRTOS
 

Quality RTOS & Embedded Software

KERNEL
WHAT'S NEW
Simplifying Authenticated Cloud Connectivity for Any Device.
Designing an energy efficient and cloud-connected IoT solution with CoAP.
Introducing FreeRTOS Kernel version 11.0.0:
FreeRTOS Roadmap and Code Contribution process.
OPC-UA over TSN with FreeRTOS.

FreeRTOS Kernel Quick Start Guide

This 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 are even FreeRTOS Windows and Linux ports and QEMU projects to allow experimentation with FreeRTOS using free tools, and without any special hardware requirements.


Preliminary tips

Whether you are new to FreeRTOS or an experienced developer, it is always advised to start new developments with configASSERT() defined, a malloc failed hook implemented, and configCHECK_FOR_STACK_OVERFLOW set to 2.


RTOS quick start instructions

FreeRTOS 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 provides 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:

  1. Download the RTOS source code:

    The RTOS libraries are available individually from Git, but the easiest way to get started is to download the FreeRTOS .zip file as that also contains 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.

  2. Locate the relevant documentation page:

    View the "Supported Devices" page to see a list of microcontroller vendors that are officially 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 if a pre-configured port is not available for your development board.

  3. Building the project:

    Follow the instructions on the RTOS port documentation page to locate the required project within the FreeRTOS directory structure, then open and build the demo project.

  4. Running the demo application:

    Follow the instructions on the RTOS port documentation page to set up 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.

  5. 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 Reading

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

The following are some shortcuts to valuable information for the serious developer:

 

 

 

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.