FreeRTOS Overview
Table of contents
Overview
In the fields of Automotive, Aviation, and Military, which are life-critical sectors, an Electrical Control Unit (ECU) must guarantee precise execution at the desired time. Otherwise, catastrophic accidents could occur. To ensure time-based execution, we typically adopt a Real-Time Operating System (RTOS). In modern technology, RTOS is frequently used, and understanding it is one of the key skills required to become a versatile embedded software developer.
With the aim of becoming skilled software programmers, we are starting to master FreeRTOS. As a first step, we will go through the document Mastering-the-FreeRTOS-Real-Time-Kernel.v1.0, written by Richard Barry and the FreeRTOS team. This document explains modern OS theory in an easy-to-understand manner. Additionally, we will analyze the source code of FreeRTOS in detail. To reinforce our understanding of FreeRTOS, we will utilize a well-known lecture available on Udemy FreeRTOS Lecture. This lecture provides hands-on experiments with the ‘STM32F407VGT60’ discovery board. After extensively studying FreeRTOS, we will undertake a mini-project to port FreeRTOS onto the Infineon Tricore TC275 Evaluation Kit.
For the mini-project, we will base our work on the TC1775 Demo Project and Legacy FreeRTOS Port on TC277. The latter is a contribution from nine years ago, so if we identify areas for improvement, we will make the necessary updates. One of the goals of this project is to ensure versatility, meaning we will avoid relying on specific paid tools. Therefore, when implementing the port on the TC275, we will select open-source tools that are freely available.
Throughout this journey, we will cover topics such as FreeRTOS, STM32F407VGT60 and TC275 MCU Architecture, hands-on experiments, and development environments.
Reference
- Mastering-the-FreeRTOS-Real-Time-Kernel.v1.0
- Udemy FreeRTOS Lecture
- STM32F407VGT60 DataSheet
- STM32F407VGT60 User Manual and Product Specificatioin
- TC1775 Demo Project
- Legacy FreeRTOS Port on TC277
- TC275 lite kit
- FreeRTOS Port on TC399
- FreeRTOS Kernel v10.5.1
Sutdy with hands-on experiement
- STM32F407VGT60 discovery board
- STM32CubeIDE 1.16.0
Mini Project Development Environment
- TC275 lite kit
- Compiler: GCC
- FreeRTOS Kernel Version: the lastes one.
- Development Environment: Windows
- Reference Source Code: TC1775 Demo Project and Legacy FreeRTOS Port on TC277