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:
- Basic Zephyr application skeleton
- Zephyr workspace applications
- Zephyr modules
- West T2 topology
- Custom boards
- Custom devicetree bindings
- Out-of-tree drivers
- Out-of-tree libraries
- Example CI configuration (using Github Actions)
- Custom west extension
- Doxygen and Sphinx documentation boilerplate
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
.
Before getting started, make sure you have a proper Zephyr development environment. Follow the official Zephyr Getting Started Guide.
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
To build the application, run the following command:
cd example-application
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
Once you have built the application, run the following command to flash it:
west flash
To execute Twister integration tests, run the following command:
west twister -T tests --integration
A minimal documentation setup is provided for Doxygen and Sphinx. To build the
documentation first change to the doc
folder:
cd doc
Before continueing, check if you have Doxygen installed. It is recommended to use the same Doxygen version used in CI. To install Sphinx, make sure you have a Python installation in place and run:
pip install -r requirements.txt
API documentation (Doxygen) can be built using the following command:
doxygen
The output will be stored in the _build_doxygen
folder. Similarly, the
Sphinx documentation (HTML) can be built using the following command:
make html
The output will be stored in the _build_sphinx
folder. You may check for
other output formats other than HTML by running make help
.
libzdriver's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.