main
FC11 — Static and dynamic allocation
This card compares two behaviorally equivalent FreeRTOS object sets. One task,
queue and timer are allocated through heap_4; the other set uses persistent
application-owned buffers and the *Static APIs. Idle and timer-service task
memory is also supplied by the application, so scheduler startup cannot hide a
dynamic allocation.
The decisive runtime relation is:
H1 < H0 dynamic task + queue + timer consume ucHeap
H2 = H1 static equivalents consume no ucHeap
H3 = H2 scheduler startup consumes no ucHeap
Both branches receive 0xCAFE and execute exactly one timer callback. Handles
of dynamic objects must lie in ucHeap; handles of static objects must point to
named persistent buffers outside that arena.
make clean
make task1 host-test check-abi sim check-determinism
python3 /home/user/dev/workspace/stem/tools/card-layouts/tools/build_freertos_c_card.py .
python3 /home/user/dev/workspace/stem/tools/card-layouts/tools/render_card.py .
Languages
C
41.2%
Python
40.3%
Makefile
8.5%
Shell
7.2%
Assembly
1.9%
Other
0.9%