Building Greybus

Adding Greybus to Zephyr

To pull Greybus for Zephyr in as a Zephyr module, either add it as a West project in west.yaml or include it via a submanifest file (for example, zephyr/submanifests/greybus.yaml) with the following content, then run west update:

manifest:
  projects:
    - name: Greybus-Zephyr
      path: modules/lib/greybus
      revision: main
      url: https://github.com/beagleboard/greybus-zephyr

Building for BeagleConnect Freedom

Current testing has been performed using a mainline Linux kernel (6.12) on BeaglePlay with a CC1352P7 running greybus-host firmware and BeagleConnect Freedom.

west build -b beagleconnect_freedom --sysbuild \
  -p modules/lib/greybus/samples/basic -- \
  -DEXTRA_CONF_FILE="transport-tcpip.conf;802154-subg.conf"

The sample uses MCUboot to provide OTA support. The following commands can be used to merge MCUboot and application firmware and flash it to BeagleConnect Freedom:

cp build/mcuboot/zephyr/zephyr.bin zephyr.bin
dd conv=notrunc bs=1024 seek=56 \
   if=build/basic/zephyr/zephyr.signed.bin of=zephyr.bin
cc1352_flasher --bcf zephyr.bin
rm zephyr.bin