feat: publish FreeRTOS C FC02 card

This commit is contained in:
2026-07-19 16:36:02 +02:00
commit e3420748ee
208 changed files with 57240 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
# FC02 card plan
## Position
```text
C pointers and structures
→ heap_4 mechanics in C
→ FC02 raw FreeRTOS task in C
→ C++ language/OOP prerequisites
→ K02 Task<Derived> wrapper in FreeRTOS C++
```
FC02 and K02 are a controlled pair. They use the same kernel, config,
priorities, stack depths, workload and `E01E12` meanings. The variable under
study is the language-facing representation: raw C callback/context versus a
C++ CRTP wrapper.
## Task01
Two equal-priority CPU-bound workers independently sum `1..20000`. A lower
priority supervisor checks both results, task-stack evidence and an observed
`A,B,A` scheduling subsequence.
Enabled viewpoints:
- A1 Context;
- A2 Structure;
- A3 Dispatch;
- A5 Flow;
- A6 State;
- A7 Runtime.
A4 is unavailable because application topology is already complete in A2/A5.
A8 is unavailable because the relevant C idioms are attached directly to
A2/A3 rather than promoted into a decorative pattern diagram.
## Acceptance
- freestanding C11 build for RV32I/Hazard3;
- `make check-pair`, context contract, host workload and C-only ABI pass;
- simulator returns PASS with two results `200010000`;
- E03 proves `xTaskCreate` argument registers;
- E06 proves `a0 == &g_worker_a` at callback entry;
- E08 proves a real `A,B,A` subsequence;
- context, `&handle`, handle/TCB and separate task-stack range are not
conflated;
- all active UML anchors resolve and every RUN step has an event, strategy and
snapshot;
- navigation alone never mutates the simulator.