Figures¶
Every figure on this site is drawn by a Python module from facts extracted from the code, so it is rebuilt,
not redrawn, when the code changes. CI runs hardfoc-docs figures --check and fails when a
committed figure no longer matches the code. Each figure below lists the files it is drawn from.
One API, one backend per scheduler¶
Figure description and sources
From top to bottom. Your code uses the C++ classes (listed from include/.h). Every class calls the C portability layer, the OS_ types and os_* functions of OsAbstraction.h and OsUtility.h, and nothing else. That layer includes exactly one backend header from include/os/, chosen by a compile definition (read from the table in OsAbstraction.h); with no definition the no-RTOS backend is used, for host tests and bare metal. The backend is the only code that names a kernel.
Drawn from: include classes; include/OsAbstraction.h backend table; figure module docs/diagrams/figures/rtos-layers.py.
Figure module: docs/diagrams/figures/rtos-layers.py
Drawn from:
classesinincludebackend tableininclude/OsAbstraction.h