43 lines
2.2 KiB
Markdown
43 lines
2.2 KiB
Markdown
# FreeRTOS C++ — plan kart
|
||
|
||
Status: K02–K16 są gotowe; blok 15 kart jest kompletny. Każda karta ma
|
||
freestanding build C++17, test hosta, kontrolę ABI, wykonanie na Hazard3 oraz
|
||
sprawdzony PDF. Źródła i artefakty używają wspólnej numeracji Kxx/16.
|
||
|
||
Karta `heap_4` należy do serii FreeRTOS C. FreeRTOS C++ zaczyna się dopiero po
|
||
ukończeniu dwóch torów prowadzonych równolegle: FreeRTOS C oraz C++. K02
|
||
wprowadza freestanding wrapper `Task<Derived>`, CRTP i statyczny trampoline.
|
||
K03 pokazuje krótki, celowo niepełny Vector V0 bez ukrytego wymagania wykonania
|
||
osobnej karty, a następnie buduje z niego move-only Vector V1 z RAII.
|
||
|
||
```text
|
||
FreeRTOS C++
|
||
├── K02 · C++ Task<Derived> Wrapper, CRTP and Lifecycle
|
||
├── K03 · Vector V1 — Destructor, Move, Ownership and RAII
|
||
├── K04 · Scheduler States, Priorities and Typed Ticks
|
||
├── K05 · C++ Heap Bridge, Heap Models and HeapStats
|
||
├── K06 · MemoryResource and FreeRtosAllocator<T>
|
||
├── K07 · TaskHandle_t, Explicit Start and Static Trampoline
|
||
├── K08 · DynamicTask, StaticTask, Deletion and Lifetime
|
||
├── K09 · Scheduler Facade and Scoped Kernel Guards
|
||
├── K10 · Queue<T> and StaticQueue<T, N>
|
||
├── K11 · Mutex, LockGuard and Priority Inheritance
|
||
├── K12 · Semaphores and Task Notifications
|
||
├── K13 · EventGroup and Coordinated State
|
||
├── K14 · Software Timer and the Timer Daemon Task
|
||
├── K15 · Explicit FromISR, UART and GPIO Wrappers
|
||
└── K16 · Integrated Real-time Application and Evidence
|
||
```
|
||
|
||
Pełna specyfikacja każdej lekcji znajduje się w
|
||
`series/freertos/lab-rv32i-freertos-task-stack-vector/doc/cpp-wrappers-roadmap.md`.
|
||
Kernel oraz port pozostają w C; publiczna warstwa dydaktyczna C++ jest
|
||
freestanding, bez wyjątków, RTTI i zależności od hosted `libstdc++`.
|
||
Każda karta linkuje również do osobnej serii OOP, gdy wrapper rzeczywiście
|
||
realizuje wzorzec lub idiom wymagający osobnego omówienia.
|
||
|
||
Materiały wejściowe K02 oraz kontrolowane porównanie z FC02:
|
||
|
||
- [K02 Task01 — A1–A8 plan](../../../../series/freertos/lab-rv32i-freertos-task-stack-vector/doc/task01-a1-a8-plan.md)
|
||
- [FC02/K02 — paired first-task experiment](freertos-first-task-a1-a8.md)
|