Source Tree Structure

The Zephyr source tree provides the following top-level directories, each of which may have one or more additional levels of subdirectories which are not described here.

arch

Architecture-specific nanokernel and board code. Each supported architecture has its own subdirectory, which contains additional subdirectories for the following areas:

  • architecture-specific nanokernel source files
  • architecture-specific nanokernel include files for private APIs
  • board-specific code
boards
Board related code and configuration files.
doc
Zephyr documentation-related material and tools.
drivers
Device driver code.
include
Include files for all public APIs, except those defined under lib.
kernel
Microkernel code, and architecture-independent nanokernel code.
lib
Library code, including the minimal standard C library.
misc
Miscellaneous code.
net
Networking code, including the Bluetooth stack and networking stacks.
samples
Sample applications for the microkernel, nanokernel, Bluetooth stack, and networking stacks.
tests
Test code and benchmarks for the various kernel features.
scripts
Various programs and other files used to build and test Zephyr applications.