This application note illustrates the basic functionality of the FreeRTOSTM Real Time Operating System and show how to use it on SAM microcontroller by covering following points:
• What are a Real-Time application and a real time operating system?
• How to create and configure a FreeRTOS project
• How to make use of FreeRTOS basic functionality in an embedded project
• How to make use of Graphical debugging tool
The description is based on FreeRTOS kernel port available in Atmel Software Framework (ASF). All the processes illustrated in this document can be reproduced on any Atmel Studio project for SAM devices based on ASF3.8.1 or higher.
FreeRTOS is a real-time kernel (or real-time scheduler) on top of which Cortex®-M3/M4 microcontroller applications can be built to meet their hard real-time requirements. It allows Cortex-M3/M4 microcontroller applications to be organized as a collection of independent tasks to be executed. As most Cortex-M3/M4 microcontrollers have only one core, only one task can be executed at a time. The kernel decides which task should be executing by examining the priority assigned to each by the application designer. In the simplest case, the application designer could assign higher priorities to tasks that implement hard real-time requirements and lower priorities to tasks that implement soft real-time requirements. This would ensure that hard real-time tasks are always executed ahead of soft real-time one.