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

2.1 KiB
Raw Blame History

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

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.