2.2 KiB
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.
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: