Autoplay
Autocomplete
Previous Lesson
Complete and Continue
FreeRTOS From Ground Up™ on ARM Processors
Introduction
What is a Realtime Operating System (RTOS) (4:29)
Understanding Context Switching (11:05)
Comparing RTOS with ISR and Busy Wait Systems (3:58)
The Concept of a Thread (11:06)
Setting Up
Notice : Development Board Choice
Downloading CubeIDE (4:16)
Setting Up STM32CubeIDE (7:25)
Installing Packages (6:07)
Overview (17:17)
Introduction to FreeRTOS
FreeRTOS naming conventions (4:22)
Understanding FreeRTOS Macro Names (2:34)
Coding : Configuring our System (30:21)
FreeRTOS Thread Management
Overview of the TaskCreate functions (3:03)
Complete Source Code Download
Coding : Creating Tasks (26:12)
Coding : Creating Tasks from other Tasks (2:42)
Coding : Working with Task functions (28:25)
Coding : Understanding Task Priorities (7:56)
Coding : Changing a Task Priority in Runtime (14:40)
Coding : Reading the Priority of a Task (4:02)
Coding : Suspending a Task (6:01)
Coding : Resuming a suspended Task (8:50)
Understanding Task States (3:40)
Using the Blocked State to create delays (2:39)
Coding : Blocking a Task (5:20)
Coding : Executing Tasks Periodically (6:59)
Coding : Terminating a Task (8:44)
Overview of the Idle Task (4:34)
Coding : Working with Idle Task (11:19)
Overview of the Tick Hook (2:00)
FreeRTOS Queue and Queueset Management
Understanding Queues and Queuesets (4:56)
Coding : Working with Queues (21:12)
Coding : Updating printf (6:02)
Coding : Synchronizing Tasks with Queues (11:34)
Coding : Sending more complex data with Queues (18:59)
Coding : Working with Queuesets- (15:36)
Understanding FreeRTOS Semaphores
Understanding Semaphores (8:04)
Coding : Working with Binary Semaphores (22:45)
Developing Some Drivers
Coding : Developing some driver (Pt.1) (35:42)
Coding : Developing some driver (Pt.2) (8:25)
Coding : Testing the drivers (14:25)
Understanding FreeRTOS Semaphores (contd.)
Coding : Working with a Mutex (15:47)
Coding : Working with Counting Semaphores (5:51)
Gatekeepers
Coding : Implementing the Gatekeeper task (9:38)
FreeRTOS Software Timers
Overview of Software Timers (4:54)
Coding : Working with Software Timers (13:45)
Coding : Stopping the Auto-Reload Timer during runtime (6:39)
FreeRTOS Interrupt Management
Coding : Receiving data from the UART using Polling (14:49)
Coding : Interacting with Interrupt Service Routines (ISRs) (16:28)
Coding : Receiving an entire data packet (29:05)
Understanding FreeRTOS EventGroups
Overview of EventGroups (2:00)
Coding : Setting and Reading EventBits in an EventGroup (12:53)
Coding : EventGroup with Multiple Setters (10:58)
Coding :Synchronizing Tasks using EventGroups (11:43)
Understanding FreeRTOS Notifications
Overview of Task Notifications (2:54)
Coding : Working with Task Notifications (13:01)
The FreeRTOS Scheduler
Understanding the FreeRTOS Scheduler (3:45)
Coding : Understanding the Scheduler Configuration - Preemption Only (10:51)
Coding : Understanding the Scheduler Configuration -Pseudo Timeslicing (5:26)
CMSIS-RTOS Generic APIs
Introduction to CMSIS-RTOS (12:32)
Coding : Creating Threads using CMSIS-RTOS2 APIs (16:38)
Coding : Changing Thread priorities using CMSIS-RTOS2 APIs (6:28)
Coding : Suspending Threads using CMSIS-RTOS2 APIs (6:52)
Coding : Resuming Threads using CMSIS-RTOS2 APIs (5:40)
Coding : Terminating Threads using CMSIS-RTOS2 APIs (4:28)
Coding : Putting Threads in the Blocked State using CMSIS-RTOS2 APIs (4:20)
Coding : Creating Software Timers using CMSIS-RTOS2 APIs (9:15)
Coding : Creating Mutexes using CMSIS-RTOS2 APIs (6:12)
Coding : Creating Semaphores using CMSIS-RTOS2 APIs (8:52)
Coding : Creating Message Queues using CMSIS-RTOS2 APIs (13:37)
Coding : Creating EventFlags using CMSIS-RTOS2 APIs (10:07)
Closing
Closing Remarks
Teach online with
Installing Packages
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock