.. _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:`getting_started`. * 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 :ref:`define_default_kernel_conf`. 4. Define kernel configuration override options for the application using :ref:`override_kernel_conf`. 5. For a microkernel application, define objects as you develop code 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. * :ref:`naming_conventions` * :ref:`src_makefiles_reqs` * :ref:`src_files_directories` 8. Build an application image. * :ref:`apps_build` 9. To test the application image's functionality on simulated hardware with QEMU, see :ref:`apps_run`. 10. To load an application image on a target hardware, see using :ref:`board` documentation.