The Zephyr OS is based on a small-footprint kernel designed for use on resource-constrained systems: from simple embedded environmental sensors and LED wearables to sophisticated smart watches and IoT wireless gateways.You can build your innovative projects for smart cities, smart home, and even more cool use cases – simpler and easier with software tools for the tinyTILE board.
The Zephyr kernel supports multiple architectures, including ARM Cortex-M, Intel x86, ARC, NIOS II and RISC V,and offers a number of features that distinguish it from other small-footprint OS’s:
- Highly configurable: Allows an application to incorporate only the capabilities it needs as it needs them, and to specify their quantity and size.
- Compile-time resource definition: Allows system resources to be defined at compile-time, which reduces code size and increases performance.
- Minimal error checking: Provides minimal run-time error checking to reduce code size and increase performance. An optional error-checking infrastructure is provided to assist in debugging during application development.
- Extensive suite of services. Offers a number of familiar services for development, including – Multi-threading Services, Memory Allocation Services, Inter-thread Data Passing Services and, Power Management Services
SETTING UP THE DEVELOPMENT ENVIRONMENT:
To install the software components required to build Zephyr applications on Windows, you will need to build or install a toolchain.
- Install Python
- Install Git
- Install MinGW – MinGW is the minimalist GNU development environment for native Windows applications. The Zephyr build system will execute on top of this tool set.
Install the following packages for MinGW from their installer mingw-get-setup.exe:
- Under Basic Setup
- Under All Packages -> MSYS
mingw-get install libpthread msys-libregex-dev --all-related
When done, move libregex files (libregex.a, libregex.dll.a, libregex.la) from C:\MinGW\msys\1.0\lib to C:\MinGW\mingw32\lib.
cp /etc/fstab.sample /etc/fstab
Run this line to confirm that the mapping was added
git clone https://gerrit.zephyrproject.org/r/zephyr
This will verify that all the tools and toolchain are setup correctly for your own Zephyr development. In the next blog post I’d be writing about how to setup and use ISSM to run the Hello World Example.
Rishabh is an Intel Software Innovator and Senior Software Engineer at Ericsson. While not at work, he loves to review restaurants, get acquainted with new technology, and visit new places.