Files
workspace-info/plans/informatyka/freertos-cpp.md
T

2.2 KiB
Raw Blame History

FreeRTOS C++ — plan kart

Status: K02K16 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: