In each core, only one individual program can run at a time. This is where the scheduler's work comes into play. The scheduler decides which program will run at any given time (or, which program will win the processor at any given time).
Real-Time Systems are systems in which there is a limitation on the time it takes for the system to respond to an event. In other words, if the system does not respond to a specific event within time x, it has failed.
A Real-Time system of a small size, essentially just a scheduler, that allows it to run in micro-controllers that are limited in size.
In the FreeRTOS operating system, each program that runs has a priority, and then the scheduler selects which program will run based on their priorities.
Several characteristics of FreeRTOS:
- Free and open-source.
- Small in size.
- Supports 35 different architectures.
- Supports two different types of scheduling: Round Robin (for programs with the same priority) and preemptive (for programs with different priorities).
- Its API is user-friendly.
Objects available in FreeRTOS:
- Binary Semaphore
- Counting Semaphore
- Recursive Mutex
- Software Timer
- Event Group
Who is the FreeRTOS course for?
- Software engineers, developers, programmers.
- Those interested in learning Embedded Systems development under the Linux operating system.
- Embedded Bare-Board Engineers who want to learn developing device drivers under the Linux operating system.
- Hardware, software, and computer science engineers who seek practical knowledge in the world of the Linux Kernel.
Free RTOS Course Prerequisites
- Knowledge and experience in the Linux operating system.
- Background and/or experience in C++/C development (mandatory for the professional conversion track).
FreeRTOS Course Description
The FreeRTOS course is a practical course that includes lectures and hands-on exercises.
The duration of the FreeRTOS course is approximately 90 academic hours.
The FreeRTOS course includes:
- Class exercises accompanied by explanations, homework assignments, and solutions on the website
- Course booklet
- Videos and presentations on the course website
- Toward the end of the course, each student will complete a practical project that summarizes the acquired knowledge during the course
The lectures take place once a week in the evening or morning hours.