34 lines
1.6 KiB
ReStructuredText
34 lines
1.6 KiB
ReStructuredText
.. _apps_overview:
|
|
|
|
Application Overview
|
|
####################
|
|
|
|
A Zephyr application is a collection of user-supplied files that can be built
|
|
into an application image that executes on a board.
|
|
|
|
Each application resides in a distinct directory created by the developer.
|
|
The directory has the following structure.
|
|
|
|
* **Application source code files**: An application typically provides one
|
|
or more application-specific files, written in C or assembly language. These
|
|
files are usually located in a sub-directory called :file:`src`.
|
|
|
|
* **Kernel configuration files**: An application typically provides a configuration
|
|
file (:file:`.conf`) that specifies values for one or more kernel configuration
|
|
options. If omitted, the application's existing kernel configuration option values
|
|
are used; if no existing values are provided, the kernel's default configuration
|
|
values are used.
|
|
|
|
* **MDEF file**: A microkernel application typically provides a Microkernel
|
|
DEFinitions file (:file:`.mdef`) that defines the public kernel objects
|
|
used by the application and the kernel. If omitted, no public kernel objects
|
|
are defined. This file is not used with a nanokernel-only application.
|
|
|
|
* **Makefile**: This file typically contains a handful of lines that tell the build
|
|
system where to find the files mentioned above, as well as the desired target
|
|
board configuration and kernel type (either microkernel or nanokernel).
|
|
|
|
Once the application has been defined, it can be built with a single command.
|
|
The results of the build process, including the final application image,
|
|
are located in a sub-directory called :file:`outdir`.
|