Introduction to FreeRTOS and Basic Task Management
1h 49mIntermediate2024-11-19
Authors

Israel Gbati
Course details
Unlock the fundamentals of real-time operating systems (RTOS) using freeRTOS, a leading solution for creating responsive and efficient embedded applications. Instructor Israel Gbati guides you through the process of multi-task creation, management, and communication, ensuring you understand how to maintain system reliability in high-stakes environments. Discover the importance of task priority and learn how to implement effective context switching to optimize your embedded system. Aimed at embedded systems developers with basic C programming knowledge, this course provides hands-on experience with practical examples. Explore the seamless integration of tasks, interrupts, and system resources under the guidance of an experienced instructor. Enhance your skill set and open up new opportunities in the field of embedded systems by mastering the essential features of freeRTOS.
Learning objectives
Grasp the fundamental concepts of RTOS, recognizing its significance in embedded systems and real-time applications.
Comprehend the crucial mechanism of context switching, which allows the system to manage multiple tasks efficiently.
Learn the advantages of RTOS over interrupt service routines (ISR) and busy wait systems in achieving multitasking and real-time responsiveness.
Explore the concept of threads as fundamental units of execution within an RTOS environment.
Gain insight into the role of FreeRTOS as a popular and versatile RTOS solution.
Understand FreeRTOS-specific naming conventions and macro names and how to facilitate effective interaction with the system.
Acquire practical skills in configuring embedded software projects to support FreeRTOS.
Get an overview of FreeRTOS thread management to manage and control tasks effectively.
Learning objectives
Grasp the fundamental concepts of RTOS, recognizing its significance in embedded systems and real-time applications.
Comprehend the crucial mechanism of context switching, which allows the system to manage multiple tasks efficiently.
Learn the advantages of RTOS over interrupt service routines (ISR) and busy wait systems in achieving multitasking and real-time responsiveness.
Explore the concept of threads as fundamental units of execution within an RTOS environment.
Gain insight into the role of FreeRTOS as a popular and versatile RTOS solution.
Understand FreeRTOS-specific naming conventions and macro names and how to facilitate effective interaction with the system.
Acquire practical skills in configuring embedded software projects to support FreeRTOS.
Get an overview of FreeRTOS thread management to manage and control tasks effectively.
Skills covered
Introduction toTime ManagementProfessional Development
Concepts
0. Introduction
- 01 - Get started with FreeRTOS
- 02 - What you should know
1. Introduction to Real-Time Operating Systems (RTOS)
- 03 - What is a real-time operating system (RTOS)
- 04 - Importance of RTOS in embedded systems
- 05 - The concept of a thread
- 06 - Understanding context switching in RTOS
- 07 - Introduction to ISR and busy-wait systems
- 08 - Comparing RTOS with ISR and busy-wait systems
2. Introduction to FreeRTOS
- 09 - History and evolution of FreeRTOS
- 10 - Key features of FreeRTOS
- 11 - Understanding FreeRTOS naming conventions
- 12 - Understanding FreeRTOS macro names
3. Configuring the System
- 13 - About the development board and setup
- 14 - Retargeting print()
4. FreeRTOS Task Management
- 15 - The task creation and deletion functions
- 16 - Creating Task Profilers and Task Functions
- 17 - Creating tasks in FreeRTOS
- 18 - Controlling hardware from different tasks
- 19 - Passing parameters to tasks
- 20 - The task priority functions
- 21 - Understanding preemption
- 22 - Experimenting with different task priorities
- 23 - Changing task priority at runtime
- 24 - Reading task priority
- 25 - The task suspension and resumption functions
- 26 - Suspending a task
- 27 - Resuming a suspended task
- 28 - Deleting a task in FreeRTOS
5. Setting Up the Development Tools
- 29 - Downloading STM32CubeIDE and STM32CubeMX
- 30 - Installing STM32CubeIDE and STM32CubeMX
- 31 - Installing the STM32F4 package
- 32 - Configuring a project with STM32CubeMX
- 33 - Cleaning up the project
- 34 - Setting up RealTerm for serial communication
Conclusion
- 35 - Next steps