Please enable JavaScript.
Coggle requires JavaScript to display documents.
FreeRTOS - Coggle Diagram
FreeRTOS
Resource Management
Critical Sections
taskENTER_CRITICAL and taskEXIT_CRITICAL
Disables and Enables interrupts
Cannot be used for long sections of code
Could adversely affect system if critical section is too long
Suspending Scheduler
Protects region of code from other tasks
Interrupts remain enabled
vTaskSuspendAll() and xTaskResumeAll()
Gatekeeper Task
Only this task allowed to access the resource directly
Only one task at a time can access this resource
Any other task have to access the resource indirectly through the gatekeeper task
Could use a Queue
Binary Semaphores
Discarded after use
Does not need to exist to be used
One task creates the semaphore for another task to use it
Mutex
Mutex must exit before being used
Token like properties
Must always be returned
Only one task is needed to get the token
Task Managment
Timed cyclic loop with burn
Task Switching
Suspended
Ready
Blocked
Running
Simple Task loop
Foreground and Background
Memory Management
Static Memory allocation
Heap 1
Dynamic memory allocation
Heap 1
Heap 2
Heap 3
Heap 4
Heap 5
Properties
Deterministic Behaviour