2015-08-07 00:41:40 +08:00
|
|
|
.. _building_zephyr:
|
|
|
|
|
|
|
|
Building the Zephyr Kernel
|
|
|
|
############################
|
|
|
|
|
|
|
|
This section describes the procedure to build the kernel with a sample
|
|
|
|
application. in a development system and describes how to get access to the
|
|
|
|
kernel's source code.
|
|
|
|
|
|
|
|
Building a Sample Application
|
|
|
|
*****************************
|
|
|
|
|
|
|
|
You can speed up builds by optionally using the :program:`ccache` utility.
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
$ export USE_CCACHE=1
|
|
|
|
|
|
|
|
To build an example application follow these steps:
|
|
|
|
|
|
|
|
#. Go to the root directory of the |project|.
|
|
|
|
|
|
|
|
#. Set the paths properly in the :file:`$ZEPHYR_BASE` directory,
|
|
|
|
type:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
$ source zephyr-env.sh
|
|
|
|
|
|
|
|
#. Build the example project, type:
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
$ cd $ZEPHYR_BASE/samples/microkernel/apps/hello_world
|
|
|
|
|
|
|
|
$ make pristine && make
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
2015-08-08 04:09:11 +08:00
|
|
|
You can override the default PLATFORM_CONFIG with the one you want
|
|
|
|
by adding :makevar:`PLATFORM_CONFIG=`. The complete options
|
|
|
|
available for the PLATFORM_CONFIG flag can be derived from the
|
|
|
|
names of the platform configuration files located under
|
|
|
|
:file:`$ZEPHYR_BASE/arch/$ARCH/configs`. For example, the following
|
|
|
|
command will use
|
|
|
|
:file:`$ZEPHYR_BASE/arch/x86/configs/micro_basic_atom_defconfig` if
|
|
|
|
building a microkernel, and
|
|
|
|
:file:`$ZEPHYR_BASE/arch/x86/configs/nano_basic_atom_defconfig` if
|
|
|
|
building a nanokernel.
|
|
|
|
|
|
|
|
:command:`make PLATFORM_CONFIG=basic_atom ARCH=x86`
|
|
|
|
|
|
|
|
The complete options available for the ARCH flag can be found under
|
|
|
|
:file:`$ZEPHYR_BASE/arch`, for example :file:`$ZEPHYR_BASE/arch/x86`.
|
2015-08-07 00:41:40 +08:00
|
|
|
|
|
|
|
The sample projects for the microkernel are found
|
|
|
|
at :file:`$ZEPHYR_BASE/samples/microkernel/apps`. After building the
|
|
|
|
application successfully, the results can be found in the :file:`outdir`
|
|
|
|
directory in the application root directory.
|
|
|
|
:file:`$SAMPLE_PROJECT/outdir/microkernel.elf`.
|
|
|
|
|
|
|
|
For sample projects in the :file:`$ZEPHYR_BASE/samples/nanokernel/apps`
|
2015-08-08 04:09:11 +08:00
|
|
|
directory, the results can be found at :file:`$SAMPLE_PROJECT/outdir/nanokernel.elf`.
|