Overview of the course
  • About the instructor
  • Important Note
  • What is this course all about ??
  • FAQ
  • Note for the Students
RTOS Introduction
  • What is Real Time Application(RTAs) ??
  • What is Real Time Operating System(RTOS) ?
  • RTOS vs GPOS : Task Scheduling
  • RTOS vs GPOS : Latency
  • RTOS vs GPOS : Priority inversion
  • What is Multitasking ?
IDE installation and development board
  • About the IDE
  • IDE installation(Windows)
  • IDE installation(Linux)
  • Development board used in this course
  • Downloading documents
Downloading and Installing FreeRTOS
  • Downloading FreeRTOS kernel source
Creating FreeRTOS based project for STM32 MCUs
  • Creating new STM32 project
  • Adding FreeRTOS kernel source to project
  • Include path settings
  • FreeRTOSConfig.h and other settings
  • Time base selection for STM32+FreeRTOS project
FreeRTOS Task Creation
  • What is task ?
  • FreeRTOS task creation API
  • Task priorities in FreeRTOS
  • Exercise 001 coding
  • Scheduling policies
  • Exercise 001 coding contd.
  • Exercise 001 testing
  • Behind the scene task creation
  • Test Drive
Trace tool integration
  • Trace tool download
  • What is segger systemview software ?
  • Segger systemview recording modes
  • Segger systemview overview
  • Segger systemview target integration
  • Analyzing exercise 001 using segger trace
  • Analyzing cooperative scheduling trace
IDLE Task and Timer Svc Task of FreerRTOS
  • Idle and timer services task
FreeRTOS Scheduler
  • FreeRTOS scheduler
  • Understanding implementation of xPortStartScheduler() of port.c
FreeRTOS and ARM Cortex Mx Arch. Specific details
  • FreeRTOS Kernel interrupts
  • RTOS Tick and SysTick Timer explanation
  • Who configures the RTOS Tick Timer ?
  • What RTOS Tick ISR (SysTick ISR) does ? summary
Context switching
  • Introduction to context switching
  • Context Switching : understanding "State" of a Task
  • Context Switching : Task Switching out procedure with animation
  • Context switching : understanding pendSV handler code
  • Test Drive
  • Test Drive
SEGGER system view UART based recording
  • Segger system view continuous recording over UART
Exercise-2 LEDs and Tasks
  • Exercise 002
  • Exercise 002 implementation
  • Exercise 002 implementation contd.
  • Testing
Task states
  • Task states
  • Blocked and suspended state
FreeRTOS task delay APIs
  • FreeRTOS task delay APIs
  • Exercise 003
  • Exercise 004
FreeRTOS Task Notification
  • Task to task direct notification APIs
FreeRTOS Licensing model and API interface
  • freertos-licensing
  • FreeRTOS API Interface
Overview of FreeRTOS Memory manage, STACK and Synchronization services
  • Overview of FreeRTOS Memory Management
  • FreeRTOS Heap and Stack Management
  • Overview of FreeRTOS Synchronization and mutual exclusion Services
  • Test Drive
FreeRTOS Task Deletion
  • Deleting a Task
  • Exercise 005
  • Exercise 005 implementation and testing
ARM Cortex M Interrupt Priority and FreeRTOS Task Priority
  • Task priority Vs hardware priority
  • FreeRTOS Hardware interrupt configurable items
  • FreeRTOS Hardware interrupt configurable items contd.
  • Exercise 006
  • Exrecise 006 contd
  • Exercise 006 analyzing trace
  • Exercise 007
  • Exercise 007 code explanation
  • Test Drive