|
|
|
|
|
|
|
ac6 >> ac6-training >> Programming >> Real-Time >> FreeRTOS Real Time Programming |
![]() |
![]() |
![]() |
![]() |
RT3 | FreeRTOS Real Time Programming |
![]() |
Objectives
|
Exercise: | Interrupt Management on Cortex-M4 |
Exercise: | Analyse a Context Switch |
Exercise: | Task Management | |
Exercise: | Periodic Tasks | |
Exercise: | Task Statistics |
Exercise: | Check stack usage in existing programs |
Exercise: | Implement mutual exclusion between tasks |
Exercise: | Synchronizing a task with another one through binary semaphores | |
Exercise: | Synchronizing a task with another one through queues | |
Exercise: | Task Notifications | |
Exercise: | Properly use stream Buffers | |
Exercise: | Message Buffers |
Exercise: | The producer-consumer problem, illustrating (and avoiding) concurrent access problems | |
Exercise: | The philosophers dinner problem, illustrating (and avoiding) deadlock, livelock and starvation |
Exercise: | Synchronize Interrupts with tasks |
Exercise: | Implement Soft Timers |
Exercise: | Implement protected memory regions |
Exercise: | Build a general purpose linked list |
Exercise: | Write a simple, thread safe, buddy system memory manager | |
Exercise: | Write a generic, multi-level, memory manager | |
Exercise: | Enhance the memory manager for memory error detection |