zephyr/doc/quick_start/application.rst
Sergio Rodriguez 2e2ad8166e qemu: Creation of QEMU specific platforms
Setting up new platforms to handle emulation, and make them the only
ones able to run on QEMU from the Makefile "qemu" target to avoid
confusion with other platforms. We have now platform qemu_x86 and
platform qemu_cortex_m3, also modification to the sanity checks to have
qemu support only on those platforms

Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
Change-Id: I9291918a1d58fea4f37750ada78234628f9a5d98
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:56 -05:00

84 lines
2.6 KiB
ReStructuredText

.. _building_zephyr:
Building and Running a Sample Application
#########################################
Building a Sample Application from Source
=========================================
To build an example application follow these steps:
#. Go to the root directory of the Zephyr Project.
#. Set the paths properly in the :file:`$ZEPHYR_BASE` directory,
type:
.. code-block:: console
$ source zephyr-env.sh
#. Build the example project, type:
.. code-block:: console
$ cd $ZEPHYR_BASE/samples/microkernel/apps/hello_world
$ make
The above invocation of make will build the hello_world sample application using
the default settings defined in the application Makefile, for example:
.. code-block:: console
$ make PLATFORM_CONFIG=basic_atom
You can build for a different platform by defining the variable PLATFORM_CONFIG
with one of the supported platforms.
For a list of supported platforms of a particular architecture, run:
.. code-block:: console
$ make ARCH=<arch> help
The sample projects for the microkernel and the nanokernel are found
at :file:`$ZEPHYR_BASE/samples/microkernel/apps` and
:file:`$ZEPHYR_BASE/samples/nanokernel/apps` respectively.
After building an application successfully, the results can be found in the
:file:`outdir` sub-directory under the application root directory.
The default ELF binaries generated by the build system are named zephyr.elf. The
build system generates different format for different use cases and depending on
the hardware and platforms used.
Running a Sample Application
============================
To perform rapid testing of an application in the development environment you can
use QEMU with some of the supported platforms and architecture. This can be easily
accomplished by calling a special target when building an application that
invokes Qemu once the build process is completed.
To run an application using the default platform configuration, type:
.. code-block:: console
$ make qemu
To run an application using the x86 basic_atom platform configuration, type:
.. code-block:: console
$ make PLATFORM_CONFIG=qemu_x86 qemu
To run an application using the ARM basic_cortex_m3 platform configuration, type:
.. code-block:: console
$ make PLATFORM_CONFIG=qemu_cortex_m3 ARCH=arm qemu
Qemu is not supported on all platforms and architectures and some samples and
test cases might fail when running in the emulator. When developing for a
specific hardware target you should always test on the actual hardware and should
not rely on testing in the QEMU emulation environment only.