FreeRTOS uses a . If a high-priority task becomes "Ready," the scheduler immediately stops the lower-priority task to run the more urgent one. Fundamental Synchronization Tools

This code creates two tasks, sender_task and receiver_task , and uses a queue to send and receive messages between them.

: Ensure high-priority tasks always run first.

FreeRTOS does not rely on a standard C library malloc and free because these are often not deterministic on microcontrollers. Instead, it provides several heap management schemes in C files (e.g., heap_1.c , heap_2.c , heap_4.c ).