btstack/port/zephyr
2023-06-28 15:07:22 +02:00
..
src port/zephyr: fixed lc3 build, cleaned up CMakeLists.txt and fixed main signature warning 2023-06-28 15:07:22 +02:00
.gitignore
btstack_config.h
CMakeLists.txt port/zephyr: fixed lc3 build, cleaned up CMakeLists.txt and fixed main signature warning 2023-06-28 15:07:22 +02:00
env.sh zephyr: default to ~/zephyrproject 2023-06-20 14:49:23 +02:00
prj.conf port/zephyr: fixed lc3 build, cleaned up CMakeLists.txt and fixed main signature warning 2023-06-28 15:07:22 +02:00
README.md zephyr: update readme 2023-06-20 14:49:23 +02:00
sample.yaml

BTstack Port for Zephyr RTOS

Overview

This port targets any platform supported by Zephyr that either contains a built-in Bluetooth Controller or is connected to an external Controller via one of the supported Zephyr HCI Transports drivers (see zephyr/drivers/bluetooth/hci)

Status

Tested with nRF52 DK (PCA10040) and nRF52840 DK (PC10056) boards only. It uses the fixed static random BD ADDR stored in NRF_FICR, which will not compile on non nRF SoCs.

Building and Running

The first step needs to done once. Step two is needed every time to setup the environment.

1. Build Environment Preconditions

Follow the getting started guide until you are able to build an example.

Then update the ZEPHYR_ROOT variable in env.sh to point to your zephyrproject. Defaults to ~/zephyrproject

2. Prepare the build environmet

To setup your environment to build a BTstack example, run the provided setup in env.sh.

source env.sh

3. Build Example

You can build an example using:

west build -b nrf52840dk_nrf52840

nrf52840dk_nrf52840 selected the Nordic nRF52840 DK. For the older nRF52 DK with nRF52832, you can specify nrf52dk_nrf52832. To get a list of all supported Zephyr targets, run west boards

To change zephyr platform settings use:

west build -b nrf52840dk_nrf52840 -t menuconfig

To build a different example, e.g. the gatt_streamer_server, set the EXAMPLE environment variable:

EXAMPLE=gatt_streamer_server west build -b nrf52840dk_nrf52840

4. Flash Example

To flash a connected board:

west flash

TODO

  • Read NRF_FICR on Nordic SoCs
  • Allow/document use of Zephyr HCI Drivers