What development tools do I need to work with Zephyr? 

Whenever your start a new embedded project it most often boils down to get access to the tools needed to build your software for the selected hardware. Building Zephyr projects is not different in that way but the good thing with Zephyr is that it also provides a toolchain. 

The most important thing is to have a compiler that can compile your code to the correct hardware. Zephyr regularly releases the Zephyr SDK for both Linux and MacOS. This SDK that is built on crosstool-ng contains compilers, assemblers, linkers and qemu for 10 different hardware architectures including i586, arc, riscv and arm. Zephyr also supports 3rd party toolchains like GNU ARM Embeeded, Intel oneAPI Toolkits and ARC Metaware Development Toolkit. Because it uses Devicetree to describe the drivers in the hardware, the DeviceTree compiler (dtc) is also needed but can easily be downloaded by apt or homebrew. 

To manage and build your code you also need a version control system and a build tool. For this Zephyr uses git and cmake which are open-source projects used in most of all C or C++ based projects today. To simplify the handling of git and cmake the Zephyr project has developed a meta-tool on top of cmake and git to give users an easy passage to the most important commands needed to build a Zephyr project. The tool is called west and is a Python tool with these major commands: 

  • west init – create a west workspace and optionally download the Zephyr source code. 

  • west update – update the workspace to latest version and download dependent projects 

  • west build – build the project 

  • west flash – download and flash your project on hardware (additional hardware needed) 

West can also help you setup a gdb debugserver to debug the running code on the hardware. 

To configure the project Zephyr uses Kconfig configuration files which can either be edited in a text editor or by using interactive Kconfig interfaces called menuconfig or guiconfig. 

All together you can say that the Zephyr project comes with all tools needed to get started with your embedded project. 

 

Previous
Previous

Setting up a Zephyr toolchain

Next
Next

Zellaco selected as Nordic distributor of HighTec’s products