Synchronization in RTX
Semaphore
Priority Inversion
ECB- Mutex
FreeRTOS
Mailbox
Message Queue
Used to manage and protect access to shared resources
Functions
osSemaphoreCreate()
osSemaphoreWait()
osSemaphoreRelease()
osSemaphoreDelete()
Used for resource management
Special version of a semaphore
Functions
osMutexNew()
osMutexGetName()
osMutexAcquire()
osMutexRelease()
osMutexGetOwner()
osMutexDelete()
Scheduling in which a high priority task is indirectly preempted by a lower priority task effectively inverting the relative priorities of the two tasks
Data buffer that can store a fixed number of messages of a fixed size
Number of buffers of a fixed or maximum size that is controlled by the RTOS and also a queue for tasks that are waiting for messages
Minimal ROM, RAM and processing overhead
Binary image in the region of 6K to 12K bytes
Very simple kernel