.. _source_tree_v2:

Source Tree Structure
#####################

Understanding the Zephyr source tree can be helpful in locating the code
associated with a particular Zephyr feature.

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.

:file:`arch`
    Architecture-specific kernel and system-on-chip (SoC) code.
    Each supported architecture (for example, x86 and ARM)
    has its own subdirectory,
    which contains additional subdirectories for the following areas:

    * architecture-specific kernel source files
    * architecture-specific kernel include files for private APIs
    * SoC-specific code

:file:`boards`
    Board related code and configuration files.

:file:`doc`
    Zephyr documentation source files and tools.

:file:`drivers`
    Device driver code.

:file:`ext`
    Externally created code that has been integrated into Zephyr
    from other sources, such as hardware interface code supplied by
    manufacturers and cryptographic library code.

:file:`include`
    Include files for all public APIs, except those defined under :file:`lib`.

:file:`kernel`
    Architecture-independent kernel code.

:file:`lib`
    Library code, including the minimal standard C library.

:file:`misc`
    Miscellaneous code that doesn't belong to any of the other top-level
    directories.

:file:`samples`
    Sample applications that demonstrate the use of Zephyr features.

:file:`scripts`
    Various programs and other files used to build and test Zephyr
    applications.

:file:`tests`
    Test code and benchmarks for Zephyr features.

:file:`subsys`
    Subsystems of Zephyr, including:
    * USB device stack code.
    * Networking code, including the Bluetooth stack and networking stacks.
    * File system code.
    * Bluetooth host and controller

