Table of Contents
Overview
FreeRTOS is an open source Real Time Operating System. It implements a very minimalist set of functions for basic task handling and memory management. FreeRTOS does not provide network communication, drivers for external hardware, or access to a filesystem. Among its features are the following characteristics:
- Preemptive tasks
- Small footprint
- Written in C and compiled with various C compilers
- Unlimited number of tasks can run at the same time
- Implements queues, binary and counting semaphores and mutexes.
- Inter-task communication accomplished using queues.
Application details
The objective of this application is to showcase FreeRTOS features like multiple task creation and inter-task communication using queues. This application creates two tasks and one message queue. Task one sends a constant message into the queue, and task two receives the message from the queue. After receiving each message, the second task prints the message to a serial terminal over UART.
Source Files briefly explained
- main.c - Main file that showcases the two tasks communicating with each other using a queue.
- pinmux.c - Pinmux configurations as required by the application.
- uart_if.c - To display status information over the UART
- startup_*.c - Initialize vector table and IDE related functions
Usage
- Setup a serial communication application. Open a serial terminal on a PC with the following settings:
- Port: Enumerated COM port
- Baud rate: 115200
- Data: 8 bit
- Parity: None
- Stop: 1 bit
- Flow control: None
- Run the reference application.
- Open the project in CCS/IAR. Build the application and debug to load to the device, or flash the binary using UniFlash.
- Observe the status messages displayed on the terminal by second task.