Files
lab-rv32i-freertos-c-static…/doc/card-plan.md
T

52 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FC11 card plan — static and dynamic allocation
## Goal
Prove the storage policy of task, queue and timer objects without confusing it
with their behavior. The application observes heap deltas, address provenance,
equal messages and equal timer callbacks.
## Task tree
```text
FC11 · Static and dynamic allocation
└── Task01 · Same behavior, two storage policies
├── Block · A1 Context
│ └── Phase · OWNERSHIP
│ ├── Step 01 · application owns the experiment
│ ├── Step 02 · dynamic branch requests storage
│ ├── Step 03 · static branch supplies storage
│ ├── Step 04 · kernel owns object semantics
│ └── Step 05 · Hazard3 RAM contains both arenas
├── Block · A2 Structure
│ └── Phase · OBJECT PAIRS
│ ├── Steps 0102 · dynamic/static task
│ ├── Steps 0304 · dynamic/static queue
│ ├── Steps 0506 · dynamic/static timer
│ └── Step 07 · static Idle/timer-service storage
├── Block · A4 Application
│ └── Phase · PARITY
│ ├── Step 01 · dynamic worker
│ ├── Step 02 · static worker
│ ├── Step 03 · daemon callbacks
│ └── Step 04 · verifier
├── Block · A5 Flow
│ └── Phase · H0/H1/H2/H3
│ └── Steps 0108 · create, run and verify
└── Block · A7 Runtime
└── Phase · EVIDENCE
├── Step 01 · dynamic handles in ucHeap
├── Step 02 · static handles in named buffers
├── Step 03 · kernel-service static buffers
├── Step 04 · heap relation
└── Step 05 · bounded log and digest
```
## Acceptance
- `H1 < H0`, `H2 == H1`, `H3 == H2`.
- No exact byte delta is assumed.
- All compared objects remain alive through H3.
- Both queues deliver `0xCAFE`; both timers call back exactly once.
- Host model, ABI check, Hazard3 run and three-run determinism pass.