nuttx/Documentation/components/index.rst

35 lines
771 B
ReStructuredText
Raw Normal View History

=============
2020-07-20 19:18:26 -03:00
OS Components
=============
NuttX is very feature-rich RTOS and is thus composed of various different
subsystems. The following sections explain how each of these main RTOS components
work and can be used. For detailed documentation on the specific API used in this
case, you can head to the :doc:`reference <../reference/index>`.
2020-07-20 19:18:26 -03:00
.. toctree::
:maxdepth: 2
:caption: Contents:
binfmt.rst
concurrency/index.rst
include/nuttx: Add link-time iterable sections infrastructure Add generic support for link-time registration of struct instances, modeled after the Zephyr STRUCT_SECTION_* mechanism: - include/nuttx/iterable_sections.h: STRUCT_SECTION_ITERABLE/DECLARE/ FOREACH/GET/COUNT macros placing instances in name-sorted linker sections delimited by _<type>_list_start/_end symbols (attributes through the nuttx/compiler.h macros; FOREACH takes a caller-declared iterator, like list_for_every_entry). - include/nuttx/linker/iterable_sections.ld: ITERABLE_SECTION() macro emitting the KEEP + SORT_BY_NAME collection statements (linker scripts in ARCHSCRIPT are CPP-preprocessed). - include/nuttx/linker/common-rom.ld / common-ram.ld: central aggregators meant to be included by board linker scripts (inside .text and .data respectively); subsystems register their sections here guarded by their Kconfig options, so the fragments expand to nothing on configurations that do not use them. - CONFIG_ITERABLE_SECTIONS_LINKER_INSERT + include/nuttx/linker/ common-insert.ld (added before the board script by tools/Config.mk and by the top-level CMakeLists.txt): optional zero-touch mode that supplements the board script through GNU ld INSERT AFTER, collecting the subsystems' ITERABLE_SECTION blocks in one output section; the common-rom.ld/common-ram.ld fragments expand to nothing in that mode. See the option help for the constraints. - Documentation/components/iterable_sections.rst. First user: the Zephyr zbus message bus port (apps/system/zbus in nuttx-apps); its board integration comes in a companion PR. Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-08-21 14:24:11 -03:00
iterable_sections.rst
2020-07-20 19:18:26 -03:00
drivers/index.rst
nxflat.rst
nxgraphics/index.rst
paging.rst
2023-10-25 15:20:40 +02:00
audio/index.rst
2023-10-25 15:21:20 +02:00
filesystem/index.rst
2023-10-25 15:21:50 +02:00
libs/index.rst
2023-10-25 15:22:15 +02:00
net/index.rst
2023-10-25 15:22:48 +02:00
mm/index.rst
2023-10-25 15:23:21 +02:00
syscall.rst
2023-10-25 15:26:30 +02:00
tools/index.rst
2023-10-25 15:26:43 +02:00
arch/index.rst
boards.rst
cmake.rst
openamp.rst
video.rst
crypto.rst
wireless.rst