FreeRTOS: Difference between revisions
Created page with "FreeRTOS is an open source real time operating system commonly used in embedded development. ==Task notifications== Rather than using semaphores for wakeup, task notifications are faster and less heavyweight. ==Mutexes== FreeRTOS mutexes are a special class of semaphores. Note that they cannot be taken in interrupt handlers (i.e. <tt>xSemaphoreTakeFromISR()</tt> should only be used on semaphores created using <tt>xSemaphoreCreateBinary()</tt>). Using <tt>xSemaphoreTake..." |
|||
| Line 5: | Line 5: | ||
==Mutexes== | ==Mutexes== | ||
FreeRTOS mutexes are a special class of semaphores. Note that they cannot be taken in interrupt handlers (i.e. <tt>xSemaphoreTakeFromISR()</tt> should only be used on semaphores created using <tt>xSemaphoreCreateBinary()</tt>). Using <tt>xSemaphoreTakeFromISR()</tt> on a mutex-type semaphore will generally fail if the lock is already held. | FreeRTOS mutexes are a special class of semaphores. Note that they cannot be taken in interrupt handlers (i.e. <tt>xSemaphoreTakeFromISR()</tt> should only be used on semaphores created using <tt>xSemaphoreCreateBinary()</tt>). Using <tt>xSemaphoreTakeFromISR()</tt> on a mutex-type semaphore will generally fail if the lock is already held. Relative to a binary semaphore, mutexes have a priority inheritance mechanism. | ||