23ea182e83
RTOS Timer tick handler is now the same as any other ISR. This causes a few subtle behaviour changes that seem OK but are worth noting: * RTOS tick handler sdk__xt_timer_int() is now called from one stack frame deeper (inside _xt_isr_handler()), whereas before it was called from the level above in UserHandleInterrupt. I can't see any way that the extra ~40 bytes of stack use here hurt, though. * sdk__xt_timer_int() was previous called after all other interrupts flagged in the handler, now it's called before the TIMER FRC1 & FRC2 handlers. The tick handler doesn't appear to do anything particularly timing intensive, though. * GPIO interrupt (value 3) is now lower priority than the SPI interrupt (value 2), whereas before it would have been called before SPI if both interrupts triggered at once. |
||
---|---|---|
.. | ||
include | ||
portable/esp8266 | ||
croutine.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.