mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-06-05 20:09:05 -04:00
Kernel changes: - Remove an assert that was preventing xQueueSendFromISR() being used to give a mutex from an ISR (mutexes cannot be given using xSemaphoreGiveFromISR()). - Introduce xTaskNotifyAndQueryFromISR() as the interrupt safe version of xTaskNotifyAndQuery(). Common demo task changes: - Update IntSemTest.c to prove the theory that it is safe to give a mutex type semaphore from an interrupt using xQueueSendFromISR() instead of xSemaphoreGiveFromISR(). - Update TaskNotify.c to test the new xTaskNotifyAndQuery() from ISR fuction. |
||
---|---|---|
.. | ||
include | ||
portable | ||
croutine.c | ||
event_groups.c | ||
list.c | ||
queue.c | ||
readme.txt | ||
tasks.c | ||
timers.c |
Each real time kernel port consists of three files that contain the core kernel components and are common to every port, and one or more files that are specific to a particular microcontroller and or compiler. + The FreeRTOS/Source directory contains the three files that are common to every port - list.c, queue.c and tasks.c. The kernel is contained within these three files. croutine.c implements the optional co-routine functionality - which is normally only used on very memory limited systems. + The FreeRTOS/Source/Portable directory contains the files that are specific to a particular microcontroller and or compiler. + The FreeRTOS/Source/include directory contains the real time kernel header files. See the readme file in the FreeRTOS/Source/Portable directory for more information.