| :orphan: | 
 |  | 
 | .. _glossary: | 
 |  | 
 | Glossary of Terms | 
 | ################# | 
 |  | 
 | .. glossary:: | 
 |    :sorted: | 
 |  | 
 |    API | 
 |       (Application Program Interface) A defined set of routines and protocols for | 
 |       building application software. | 
 |  | 
 |    application | 
 |       The set of user-supplied files that the Zephyr build system uses | 
 |       to build an application image for a specified board configuration. | 
 |       It can contain application-specific code, kernel configuration settings, | 
 |       and at least one CMakeLists.txt file. | 
 |       The application's kernel configuration settings direct the build system | 
 |       to create a custom kernel that makes efficient use of the board's | 
 |       resources. | 
 |       An application can sometimes be built for more than one type of board | 
 |       configuration (including boards with different CPU architectures), | 
 |       if it does not require any board-specific capabilities. | 
 |  | 
 |    application image | 
 |       A binary file that is loaded and executed by the board for which | 
 |       it was built. | 
 |       Each application image contains both the application's code and the | 
 |       Zephyr kernel code needed to support it. They are compiled as a single, | 
 |       fully-linked binary. | 
 |       Once an application image is loaded onto a board, the image takes control | 
 |       of the system, initializes it, and runs as the system's sole application. | 
 |       Both application code and kernel code execute as privileged code | 
 |       within a single shared address space. | 
 |  | 
 |    architecture | 
 |       An instruction set architecture (ISA) along with a programming model. | 
 |  | 
 |    board | 
 |       A target system with a defined set of devices and capabilities, | 
 |       which can load and execute an application image. It may be an actual | 
 |       hardware system or a simulated system running under QEMU. A board can | 
 |       contain one or more :term:`SoCs <SoC>`. | 
 |       The Zephyr kernel supports a :ref:`variety of boards <boards>`. | 
 |  | 
 |    board configuration | 
 |       A set of kernel configuration options that specify how the devices | 
 |       present on a board are used by the kernel. | 
 |       The Zephyr build system defines one or more board configurations | 
 |       for each board it supports. The kernel configuration settings that are | 
 |       specified by the build system can be over-ridden by the application, | 
 |       if desired. | 
 |  | 
 |    board name | 
 |       The human-readable name of a :term:`board`. Uniquely and descriptively | 
 |       identifies a particular system, but does not include additional | 
 |       information that may be required to actually build a Zephyr image for it. | 
 |       See :ref:`board_terminology` for additional details. | 
 |  | 
 |    board qualifiers | 
 |       The set of additional tokens, separated by a forward slash (``/``) that | 
 |       follow the :term:`board name` (and optionally :term:`board revision`) to | 
 |       form the :term:`board target`. The currently accepted qualifiers are | 
 |       :term:`SoC`, :term:`CPU cluster` and :term:`variant`. | 
 |       See :ref:`board_terminology` for additional details. | 
 |  | 
 |    board revision | 
 |       An optional version string that identifies a particular revision of a | 
 |       hardware system. This is useful to avoid duplication of board files | 
 |       whenever small changes are introduced to a hardware system. | 
 |       See :ref:`porting_board_revisions` and :ref:`application_board_version` | 
 |       for more information. | 
 |  | 
 |    board target | 
 |      The full string that can be provided to any of the Zephyr build tools to | 
 |      compile and link an image for a particular hardware system. This string | 
 |      uniquely identifies the combination of :term:`board name`, :term:`board | 
 |      revision` and :term:`board qualifiers`. | 
 |      See :ref:`board_terminology` for additional details. | 
 |  | 
 |    CPU cluster | 
 |      A group of one or more :term:`CPU cores <CPU core>`, all executing the same image | 
 |      within the same address space and in a symmetrical (SMP) configuration. | 
 |      Only :term:`CPU cores <CPU core>` of the same :term:`architecture` can be in a single | 
 |      cluster. Multiple CPU clusters (each of one or more cores) can coexist in | 
 |      the same :term:`SoC`. | 
 |  | 
 |    CPU core | 
 |      A single processing unit, with its own Program Counter, executing program | 
 |      instructions sequentially. CPU cores are part of a :term:`CPU cluster`, | 
 |      which can contain one or more cores. | 
 |  | 
 |    device runtime power management | 
 |       Device Runtime Power Management (PM) refers the capability of devices to | 
 |       save energy independently of the system power state. Devices will keep | 
 |       reference of their usage and will automatically be suspended or resumed. | 
 |       This feature is enabled via the :kconfig:option:`CONFIG_PM_DEVICE_RUNTIME` | 
 |       Kconfig option. | 
 |  | 
 |    idle thread | 
 |       A system thread that runs when there are no other threads ready to run. | 
 |  | 
 |    IDT | 
 |       (Interrupt Descriptor Table) a data structure used by the x86 | 
 |       architecture to implement an interrupt vector table. The IDT is used | 
 |       to determine the correct response to interrupts and exceptions. | 
 |  | 
 |    ISR | 
 |       (Interrupt Service Routine) Also known as an interrupt handler, an ISR | 
 |       is a callback function whose execution is triggered by a hardware | 
 |       interrupt (or software interrupt instructions) and is used to handle | 
 |       high-priority conditions that require interrupting the current code | 
 |       executing on the processor. | 
 |  | 
 |    kernel | 
 |       The set of Zephyr-supplied files that implement the Zephyr kernel, | 
 |       including its core services, device drivers, network stack, and so on. | 
 |  | 
 |    power domain | 
 |       A power domain is a collection of devices for which power is | 
 |       applied and removed collectively in a single action. Power | 
 |       domains are represented by :c:struct:`device`. | 
 |  | 
 |    power gating | 
 |       Power gating reduces power consumption by shutting off areas of an | 
 |       integrated circuit that are not in use. | 
 |  | 
 |    SoC | 
 |       A `System on a chip`_, that is, an integrated circuit that contains at | 
 |       least one :term:`CPU cluster` (in turn with at least one :term:`CPU core`), | 
 |       as well as peripherals and memory. | 
 |  | 
 |    SoC family | 
 |       One or more :term:`SoCs <SoC>` or :term:`SoC series` that share enough | 
 |       in common to consider them related and under a single family denomination. | 
 |  | 
 |    SoC series | 
 |       A number of different :term:`SoCs <SoC>` that share similar characteristics and | 
 |       features, and that the vendor typically names and markets together. | 
 |  | 
 |    subsystem | 
 |        A subsystem refers to a logically distinct part of the operating system | 
 |        that handles specific functionality or provides certain services. | 
 |  | 
 |    system power state | 
 |       System power states describe the power consumption of the system as a | 
 |       whole. System power states are represented by :c:enum:`pm_state`. | 
 |  | 
 |    variant | 
 |       In the context of :term:`board qualifiers`, a variant designates a | 
 |       particular type or configuration of a build for a combination of :term:`SoC` | 
 |       and :term:`CPU cluster`. Common uses of the variant concept include | 
 |       introducing both secure and non-secure builds for platforms with Trusted | 
 |       Execution Environment support, or selecting the type of RAM used in a | 
 |       build. | 
 |  | 
 |    west | 
 |       A multi-repo meta-tool developed for the Zephyr project. See :ref:`west`. | 
 |  | 
 |    west installation | 
 |       An obsolete term for a :term:`west workspace` used prior to west 0.7. | 
 |  | 
 |    west manifest | 
 |       A YAML file, usually named :file:`west.yml`, which describes projects, or | 
 |       the Git repositories which make up a :term:`west workspace`, along with | 
 |       additional metadata. See :ref:`west-basics` for general information | 
 |       and :ref:`west-manifests` for details. | 
 |  | 
 |    west manifest repository | 
 |       The Git repository in a :term:`west workspace` which contains the | 
 |       :term:`west manifest`. Its location is given by the :ref:`manifest.path | 
 |       configuration option <west-config-index>`. See :ref:`west-basics`. | 
 |  | 
 |    west project | 
 |       Each of the entries in a :term:`west manifest`, which describe a Git | 
 |       repository that will be cloned and managed by west when working with the | 
 |       corresponding :term:`west manifest repository`. Note that a west project | 
 |       is different from a :term:`zephyr module`, although many projects are also | 
 |       modules. See :ref:`west-manifests-projects` for additional information. | 
 |  | 
 |    west workspace | 
 |       A folder on your system with a :file:`.west` subdirectory and a | 
 |       :term:`west manifest repository` in it. You clone the Zephyr source code, | 
 |       as well as that of its :term:`west projects <west project>` onto your | 
 |       system by creating a west workspace using the ``west init`` command. See | 
 |       :ref:`west-basics`. | 
 |  | 
 |    XIP | 
 |       (eXecute In Place) a method of executing programs directly from long | 
 |       term storage rather than copying it into RAM, saving writable memory for | 
 |       dynamic data and not the static program code. | 
 |  | 
 |    zephyr module | 
 |       A Git repository containing a :file:`zephyr/module.yml` file, used by the | 
 |       Zephyr build system to integrate the source code and configuration files | 
 |       of the module into a regular Zephyr build. Zephyr modules may be west | 
 |       projects, but they do not have to. See :ref:`modules` for additional | 
 |       details. | 
 |  | 
 | .. _System on a chip: https://en.wikipedia.org/wiki/System_on_a_chip |