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.c and task.h do all the heavy lifting for creating, scheduling, and maintaining tasks.
  • Communication: The queue.c and queue.h files 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


Hardware Considerations

Scheduling Tasks

Tasks

Lists

Queues

Semaphores and Mutexes

Memory Allocation

ISRs


(TODO) Debugging

(TODO) MPU support

https://www.aosabook.org/en/freertos.html

https://forums.xilinx.com/t5/Adaptable-Advantage-Blog/Partner-FreeRTOS-as-a-Xen-Virtual-Machine/ba-p/947030

https://blog.imi.moe/freertos-on-ch32v307/?utm_campaign=Blogroll&utm_content=238891180&utm_medium=social&utm_source=twitter&hss_channel=tw-1094007547952914432


Important RTOS considerations:


🌱 Back to Garden

11 items under this folder.