main
FC10 — direct-to-task notifications
One receiver task exercises three notification contracts without a queue, semaphore or EventGroup object:
- three
xTaskNotifyGive()calls accumulate toulTaskNotifyTake(pdTRUE)==3; - two
eSetValueWithOverwriteposts retain the latest value0x22; - two
eSetBitsposts combine to0x24.
The high-priority sender waits for an explicit receiver phase and public
eBlocked state before every batch. Therefore the receiver cannot run between
posts and accidentally turn 3 into 1+1+1. A zero-time probe proves that
the slot value is cleared between protocols.
make task1 host-test check-abi sim check-determinism
The canonical Hazard3 run commits E01–E12 and prints digest c60747cb.
Interactive views A2, A3, A5, A6, A7 and A8 connect the target handle, TCB
slot, flow, state, runtime evidence and protocol choices.
Source basis: FreeRTOS Kernel Book, Chapter 10.
Languages
C
69%
Makefile
14.2%
Shell
11.9%
Assembly
3.4%
HTML
1.5%