gut readme
Some checks failed
Build / build (macos-12) (push) Waiting to run
Build / build (macos-14) (push) Waiting to run
Build / build (windows-2022) (push) Waiting to run
Build / build (ubuntu-22.04) (push) Failing after 14s
Documentation / build (push) Successful in 5s

This commit is contained in:
2024-04-30 00:33:08 -06:00
parent 91caca175f
commit f3510b1bcb

View File

@ -1,51 +1,7 @@
# Zephyr Example Application # Zephyr Example Application
<a href="https://zephyrproject-rtos.github.io/example-application">
<img alt="Documentation" src="https://img.shields.io/badge/documentation-3D578C?logo=sphinx&logoColor=white">
</a>
<a href="https://zephyrproject-rtos.github.io/example-application/doxygen">
<img alt="API Documentation" src="https://img.shields.io/badge/API-documentation-3D578C?logo=c&logoColor=white">
</a>
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][app_dev] skeleton
- [Zephyr workspace applications][workspace_app]
- [Zephyr modules][modules]
- [West T2 topology][west_t2]
- [Custom boards][board_porting]
- Custom [devicetree bindings][bindings]
- Out-of-tree [drivers][drivers]
- Out-of-tree libraries
- Example CI configuration (using Github Actions)
- Custom [west extension][west_ext]
- Doxygen and Sphinx documentation boilerplate
This repository is versioned together with the [Zephyr main tree][zephyr]. This
means that every time that Zephyr is tagged, this repository is tagged as well
with the same version number, and the [manifest](west.yml) 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`.
[app_dev]: https://docs.zephyrproject.org/latest/develop/application/index.html
[workspace_app]: https://docs.zephyrproject.org/latest/develop/application/index.html#zephyr-workspace-app
[modules]: https://docs.zephyrproject.org/latest/develop/modules.html
[west_t2]: https://docs.zephyrproject.org/latest/develop/west/workspaces.html#west-t2
[board_porting]: https://docs.zephyrproject.org/latest/guides/porting/board_porting.html
[bindings]: https://docs.zephyrproject.org/latest/guides/dts/bindings.html
[drivers]: https://docs.zephyrproject.org/latest/reference/drivers/index.html
[zephyr]: https://github.com/zephyrproject-rtos/zephyr
[west_ext]: https://docs.zephyrproject.org/latest/develop/west/extensions.html
## Getting Started ## Getting Started
Before getting started, make sure you have a proper Zephyr development
environment. Follow the official
[Zephyr Getting Started Guide](https://docs.zephyrproject.org/latest/getting_started/index.html).
### Initialization ### Initialization
The first step is to initialize the workspace folder (``my-workspace``) where The first step is to initialize the workspace folder (``my-workspace``) where
@ -65,21 +21,8 @@ west update
To build the application, run the following command: To build the application, run the following command:
```shell ```shell
cd example-application cd mellifera_firmware
west build -b $BOARD app west build -b mellifera_rev1 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:
```shell
west build -b $BOARD app -- -DOVERLAY_CONFIG=debug.conf
``` ```
Once you have built the application, run the following command to flash it: Once you have built the application, run the following command to flash it:
@ -88,6 +31,30 @@ Once you have built the application, run the following command to flash it:
west flash west flash
``` ```
```shell
go install github.com/apache/mynewt-mcumgr-cli/mcumgr@latest
```
### Bootloader
```shell
# build and flash the bootloader
west build -p -b mellifera_rev1 ../mcuboot/boot/zephyr/ -- -DCONF_FILE=$(pwd)/boot.conf
west flash
# define serial connection to device
~/go/bin/mcumgr conn add acm0 type="serial" connstring="dev=/dev/ttyACM0,baud=115200,mtu=512"
~/go/bin/mcumgr conn add ttyusb0 type="serial" connstring="dev=/dev/ttyUSB0,baud=115200,mtu=512"
# hold button while power cycling to enter bootloading mode
~/go/bin/mcumgr -c usbtty0 image list
# build the app
west build -p -b mellifera_rev1 app
~/go/bin/mcumgr -c ttyusb0 image upload -e build/zephyr/zephyr.signed.bin
~/go/bin/mcumgr -c usbtty0 image list
```
### Testing ### Testing
To execute Twister integration tests, run the following command: To execute Twister integration tests, run the following command: