feat: publish FreeRTOS C FC02 card
This commit is contained in:
@@ -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 `E01–E12` 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.
|
||||
Reference in New Issue
Block a user