zephyr/doc/application/apps_dev_process.rst

57 lines
1.4 KiB
ReStructuredText
Raw Normal View History

.. _apps_dev_process:
Application Development Workflow
################################
The application development workflow identifies procedures needed to create, build, and
run a Zephyr microkernel or nanokernel application.
Before you build
----------------
* Check that your Linux host meets the minimum requirements specified in the
:ref:`quick_start`.
* Check that environment variables have been configured correctly as outlined
in :ref:`apps_common_procedures`.
Workflow
--------
1. Create a directory structure for your Zephyr application.
a) :ref:`create_directory_structure`
2. Add a Makefile
b) :ref:`create_src_makefile`
3. Define the application's default kernel configuration using
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
:ref:`define_default_kernel_conf`.
4. Define kernel configuration override options for the application
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
using :ref:`override_kernel_conf`.
5. For a microkernel application, define objects as you develop code
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
using :ref:`create_mdef`.
6. For all applications, define nanokernel objects as you need them in
code.
7. Develop source code and add source code files to the src directory.
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
* :ref:`naming_conventions`
* :ref:`src_makefiles_reqs`
* :ref:`src_files_directories`
8. Build an application image.
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
* :ref:`apps_build`
9. To test the application image's functionality on simulated hardware
doc: Fix warnings shown when building the documentation. Fixes broken labels and the following warnings: /home/nashif/Viper/forto-collab/doc/about_zephyr.rst:1: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:26: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:73: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/apps_code_dev.rst:90: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/ apps_common_procedures.rst:12: ERROR: Unknown target name: "set_environment_variables". /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:26: WARNING: Block quote ends without a blank line; unexpected unindent. /home/nashif/Viper/forto-collab/doc/application/apps_kernel_conf.rst:75: WARNING: Malformed :option: u'CONF_FILE =', does not contain option marker - or -- or / /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:109: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application /apps_kernel_conf.rst:172: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_kernel_conf.rst:208: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:24: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:76: WARNING: malformed hyperlink target. /home/nashif/Viper/forto-collab/doc/application/ apps_object_conf.rst:89: WARNING: Include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/proj.mdef' not found or reading it failed /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ defines.rst:65: WARNING: Line spec '42-47': no lines pulled from include file u'/home/nashif/Viper/forto-collab/samples/microkernel/apps/ philosophers/src/phil.h' /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/doxygen/ functions.rst:13: ERROR: Unknown interpreted text role "code:c". /home/nashif/Viper/forto-collab/doc/collaboration/code/ gerrit_practices.rst:53: WARNING: Title underline too short. Change-Id: I41cb0ee3edb401b0f8e9ecab1819278f0465343d Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2015-10-24 00:42:56 +08:00
with QEMU, see :ref:`apps_run`.
10. To load an application image on a target hardware, see using
:ref:`board` documentation.