2015-08-13 03:46:55 +08:00
|
|
|
.. _application_fundamentals:
|
|
|
|
|
|
|
|
Application Fundamentals
|
|
|
|
########################
|
|
|
|
|
|
|
|
A Zephyr application is defined by creating a directory containing the
|
|
|
|
following files.
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
2015-09-11 13:12:02 +08:00
|
|
|
A microkernel application typically provides an additional :abbr:`MDEF (Microkernel
|
|
|
|
Definitions File)` under the extension :file:`.mdef`. This file defines
|
|
|
|
all of the system's public microkernel objects. This file is not used with a
|
|
|
|
nanokernel-only application.
|
2015-08-13 03:46:55 +08:00
|
|
|
|
|
|
|
* 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
|
|
|
|
platform configuration and kernel type (either microkernel or nanokernel).
|
|
|
|
|
|
|
|
Once the application has been defined it can be built using a single command.
|
|
|
|
The results of the build process, including the final application image,
|
|
|
|
are located in a sub-directory called :file:`outdir`.
|
|
|
|
|
|
|
|
For additional information see:
|
|
|
|
|
|
|
|
* :ref:`application`
|