GSoC23: Getting started with Zephyr for BeaglePlay CC1352
Hello everyone. In this post, I will go over setting up BeaglePlay and my Linux host for BeaglePlay CC1352 firmware development. Check out my GSoC 2023 Introduction post for more information about my project.
While it is possible to do Zephyr development on BeaglePlay itself, I will use my Linux PC to program and build the Zephyr application. This is because my Linux PC is much more powerful than BeaglePlay and thus plays well with Neovim + Clangd LSP.
So, I will now go over setting up the Linux host for development.
- Install host dependencies.
- Download Zephyr SDK Bundle.
- Extract the Zephyr SDK bundle archive. I extracted the bundle to
- Run the Zephyr SDK bundle setup script:
Since I will not use my Linux host for flashing, I did not need the udev rules.
I will be using a Zephyr fork with support for beagleplay-cc1352.
- Create a new Python virtual environment.
- Activate virtualenv. Since I am using zsh-autoswitch-virtualenv, this automatically happens when I enter the directory.
- Install west:
- Get the Zephyr source code:
- Export a Zephyr CMake package. This allows CMake to automatically load boilerplate code required for building Zephyr applications.
- Zephyr’s scripts/requirements.txt file declares additional Python dependencies. Install them with pip.
I will be using the
- Build the Zephyr Application.
- Copy the binary to BeaglePlay
k3-am625-beagleplay-bcfserial-no-firmware.dtsoverlay. This is needed to ensure the bcfserial driver isn’t blocking the serial port.
- Clone cc1352-flasher
- We need to checkout the
- Flash the application
- Try out the application:
Consider supporting me if you like my work.