Find a file
Gerard Marull-Paretas afa924418c manifest: only clone required modules
Optimize setup/CI time by cloning only what is necessary.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-04 23:13:19 +09:00
.github/workflows ci: simplify twister args 2023-05-03 19:06:23 +09:00
app app: adjust main definition 2023-04-14 11:25:03 +02:00
boards/arm/custom_plank boards: custom_plank: migrate to pinctrl 2022-11-19 16:08:49 +01:00
drivers drivers: sensor: examplesensor: use select in Kconfig 2022-08-25 23:55:10 -07:00
dts/bindings/sensor devicetree: remove usage of deprecated label property 2022-08-25 23:55:10 -07:00
include/custom_lib lib: Remove trailing whitespace 2022-11-19 16:16:52 +01:00
lib lib: Remove trailing whitespace 2022-11-19 16:16:52 +01:00
scripts west: add example west command 2022-08-31 17:26:45 +02:00
tests/lib/custom_lib tests: lib: custom_lib: fix includes 2022-11-19 17:41:07 +01:00
zephyr app: initial application skeleton 2021-05-07 10:04:22 -04:00
.gitignore gitignore: add twister folders 2023-05-03 19:06:23 +09:00
CMakeLists.txt lib: add custom_lib 2022-11-17 15:09:34 +01:00
Kconfig lib: create empty lib subsystem 2022-11-17 15:09:34 +01:00
LICENSE Initial commit 2021-01-12 14:16:14 +01:00
README.md readme: Mention Zephyr modules 2023-04-14 12:26:15 +02:00
west.yml manifest: only clone required modules 2023-05-04 23:13:19 +09:00

Zephyr Example Application

This repository contains a Zephyr example application. The main purpose of this repository is to serve as a reference on how to structure Zephyr-based applications. Some of the features demonstrated in this example are:

This repository is versioned together with the Zephyr main tree. This means that every time that Zephyr is tagged, this repository is tagged as well with the same version number, and the manifest entry for zephyr will point to the corresponding Zephyr tag. For example, the example-application v2.6.0 will point to Zephyr v2.6.0. Note that the main branch always points to the development branch of Zephyr, also main.

Getting Started

Before getting started, make sure you have a proper Zephyr development environment. Follow the official Zephyr Getting Started Guide.

Initialization

The first step is to initialize the workspace folder (my-workspace) where the example-application and all Zephyr modules will be cloned. Run the following command:

# initialize my-workspace for the example-application (main branch)
west init -m https://github.com/zephyrproject-rtos/example-application --mr main my-workspace
# update Zephyr modules
cd my-workspace
west update

Building and running

To build the application, run the following command:

west build -b $BOARD app

where $BOARD is the target board.

You can use the custom_plank board found in this repository. Note that Zephyr sample boards may be used if an appropriate overlay is provided (see app/boards).

A sample debug configuration is also provided. To apply it, run the following command:

west build -b $BOARD app -- -DOVERLAY_CONFIG=debug.conf

You can also use it together with the rtt.conf file if using Segger RTT. Once you have built the application, run the following command to flash it:

west flash