FreeRTOS’s code breaks down into three main areas: tasks, communication, and hardware interfacing.
- Tasks: A task is a user-defined C function with a given priority.
tasks.candtask.hdo all the heavy lifting for creating, scheduling, and maintaining tasks. - Communication: The
queue.candqueue.hfiles handle FreeRTOS communication. Tasks and interrupts use queues to send data to each other and to signal the use of critical resources using semaphores and mutexes. - The Hardware Whisperer: The approximately 9000 lines of code that make up the base of FreeRTOS are hardware-independent; the same code runs whether FreeRTOS is running on the humble 8051 or the newest, shiniest ARM core. About 6% of FreeRTOS’s core code acts a shim between the hardware-independent FreeRTOS core and the hardware-dependent code. We’ll discuss the hardware-dependent code in the next section.
Important Note about task priority and task scheduling
https://www.aosabook.org/en/freertos.html
Important RTOS considerations:
