From Zephyr Project Wiki
Jump to: navigation, search

Fundamental Terms and Concepts This section outlines the basic terms used by the Zephyr kernel ecosystem.

Term Definition
kernel The set of Zephyr-supplied files that implement the Zephyr kernel, including its core services, device drivers, network stack, and so on.
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 Makefile. 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.
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. The Zephyr kernel supports a variety of 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.
API (Application Program Interface) A defined set of routines and protocols for building software inputs and output mechanisms.
IDT Interrupt Descriptor Table
ISR Interrupt Service Routine
XIP eXecute In Place