Files
lab-rv32i-freertos-c-event-…/README.md
T

27 lines
1.0 KiB
Markdown

# FC09 — Event Groups and multi-event synchronization
This deterministic card implements two distinct protocols on one genuine
FreeRTOS EventGroup:
1. a priority-3 coordinator waits for **ALL** independent readiness bits;
2. coordinator, worker A and worker B cross a three-party
`xEventGroupSync()` barrier.
READY (`0x01`, `0x02`) and SYNC (`0x10`, `0x20`, `0x40`) masks are disjoint.
The partial mask cannot release either protocol. Every participant receives a
return value containing `SYNC_ALL`, while the group value becomes zero after
the barrier's automatic clear.
```sh
make task1 host-test check-abi sim check-determinism
```
The test links upstream FreeRTOS V11.3.0 `event_groups.c`, uses finite
timeouts, records eleven commit-last events and prints a stable digest from
three clean Hazard3 processes.
Interactive views: A2 structure, A4 participant topology, A5 execution flow,
A6 mask/state machine, A7 runtime evidence and A8 synchronization patterns.
Source basis: FreeRTOS Kernel Book, Chapter 9.