Overview
Established a Zephyr RTOS v4.4.2 development environment on Ubuntu Linux and successfully compiled and executed a Zephyr application using the native simulation target.
The implementation verified the Zephyr build system, development dependencies, and host-based RTOS execution environment.
Development Environment
| Component | Configuration |
|---|---|
| Host operating system | Ubuntu 26.04.1 LTS, x86-64 |
| RTOS | Zephyr v4.4.2 |
| Python | 3.14.4 |
| West | 1.5.0 |
| CMake | 4.2.3 |
| Ninja | 1.13.2 |
| Zephyr SDK | 1.0.1 |
| Simulation target | native_sim |
Workspace Configuration
The Zephyr workspace was established at:
~/GitHub/embedded/zephyrproject
A Python virtual environment was created to isolate development dependencies.
cd ~/GitHub/embedded
mkdir -p zephyrproject
cd zephyrproject
python3 -m venv .venv
source .venv/bin/activate
python -m pip install west
On the development host, the python3.14-venv package was installed to provide the Python virtual environment support required by the system.
Zephyr Repository Initialization
The Zephyr workspace was initialized using West:
west init -m https://github.com/zephyrproject-rtos/zephyr --mr main .
The Zephyr repository was then checked out at version 4.4.2:
cd zephyr
git checkout v4.4.2
git describe --tags --exact-match
cd ..
The supporting repositories and Python dependencies were synchronized:
west update
west packages pip --install
Zephyr SDK Integration
The Zephyr SDK was installed through West:
west sdk install
The SDK installation was verified with:
west sdk list
The installed SDK provides cross-compilation toolchains for supported embedded architectures.
Native Simulation Build
The Zephyr Hello World sample was compiled for the native_sim target.
cd ~/GitHub/embedded/zephyrproject
source .venv/bin/activate
west build -b native_sim zephyr/samples/hello_world \
-d build-hello -p always
The initial build identified missing 32-bit development headers on the Ubuntu host. The required multilib packages were installed:
sudo apt install gcc-multilib g++-multilib
The build was then repeated successfully, producing the native simulation executable.
Application Execution
The compiled application was executed using:
./build-hello/zephyr/zephyr.exe
The verified output was:
*** Booting Zephyr OS build v4.4.2 ***
Hello World! native_sim/native
This confirmed successful application compilation, Zephyr startup, and execution within the native simulation environment.
Technical Scope
The native_sim target executes a Zephyr application on the development host. It is distinct from building firmware for the ARM Cortex-M3 STM32F103 microcontroller.
This milestone verified the Zephyr development and execution environment. Custom application threads, synchronization mechanisms, and STM32-targeted Zephyr firmware remain future implementation activities.
Verification Summary
- Zephyr v4.4.2 repository configured
- West workspace and dependencies synchronized
- Zephyr SDK installed and verified
- Native simulation build completed
- Zephyr application executed successfully
- Console output verified
Next Engineering Activities
Subsequent development will focus on Zephyr thread creation, scheduling, semaphores, mutexes, and inter-thread communication.
The resulting application behavior will be verified in native simulation before proceeding to supported STM32 hardware targets.