feat: publish FreeRTOS C FC07 card

This commit is contained in:
2026-07-19 16:36:03 +02:00
commit 9fad4f4ccc
196 changed files with 59368 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
# FC07 — real external IRQ and semaphore handoff
This card drives Hazard3 external IRQ input 5 through testbench MMIO. The
external vector enters the official FreeRTOS full-context trap path, switches to
`xISRStack`, calls an application ISR and returns through the context selected
by `portYIELD_FROM_ISR()`.
The ISR clears the hardware source before `xSemaphoreGiveFromISR()`. Because a
priority-3 waiter is blocked while a priority-2 stimulus is interrupted,
`xHigherPriorityTaskWoken` becomes `pdTRUE`. Evidence E07 proves that the waiter
runs before E08, where the interrupted stimulus continues after its MMIO store.
```sh
make check
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 .
```