轻松学习Zephyr: 02-安装搭建环境

发布时间:2026/8/13 2:54:21
轻松学习Zephyr: 02-安装搭建环境 根据我们刚才拟定的 Zephyr 学习计划现在开始 第01 课安装开发环境Install Environment。根据我们刚才拟定的 Zephyr 学习计划现在开始 第01 课安装开发环境Install Environment。摘要本文详细介绍了Zephyr RTOS开发环境的完整搭建流程。主要内容包括1) 在macOS主机上通过VirtualBox安装Ubuntu 22.04虚拟机2) 安装Git、Python、CMake、Ninja等基础工具3) 使用West工具管理Zephyr项目4) 初始化Zephyr v4.2 LTS稳定版源码5) 安装匹配的Zephyr SDK 0.17.06) 配置环境变量并验证安装7) 编译hello_world示例程序到STM32开发板。文章提供了从零开始搭建环境的每一步命令和注意事项确保读者能够成功建立稳定的Zephyr开发环境为后续的RTOS学习和项目开发打下坚实基础。我的环境- HostmacOS约 30GB 可用空间 - 虚拟机VirtualBox - GuestUbuntu - 开发板 - ESP32-S3 - Nucleo STM32F303RE目标是最终能够macOS │ VirtualBox │ Ubuntu22.04│ Zephyr SDK West Python CMake Ninja Git │ Zephyr Project │ Compile │ Flash │ Run on STM32 / ESP32本课目标完成下面所有安装Ubuntu22.04✓ Git ✓ Python ✓ pip ✓ west ✓ CMake ✓ Ninja ✓ Device Tree Compiler ✓ Zephyr SDK ✓ Zephyr Source完成后能够执行west build虽然还不能下载到板子但能够完成编译。Step 1 安装 Ubuntu建议Ubuntu22.04LTS DesktopVirtualBox 建议配置30GB 空闲空间基本够学习 Zephyr不过后续安装 SDK、源码和多个 toolchain 后会比较紧张因此动态磁盘至少分配40GB 更合适。Step 2 更新系统sudoaptupdatesudoaptupgrade-y我的建议由于我们是按照完整的 Zephyr 学习计划从环境搭建一直到 ESP32-S3 和 STM32 项目实践我建议1.删除旧的zephyr, 如4.4.99 工作区。2.重新创建一个 Zephyr v4.2 LTS或当前最新稳定版的工作区。3.安装与之匹配的 Zephyr SDK。4.然后开始 02-HelloWorld后续课程都基于这一套稳定环境。这样后面的每一步都会更加顺利也更容易与官方文档保持一致。好吧 按你的建议做我建议这样做。因为我们的目标是系统学习 Zephyr而不是体验最新开发版。稳定版能让我们把精力放在 RTOS、驱动和开发流程上而不是处理工具链兼容问题。我推荐的版本我们使用- Zephyr v4.2 LTS长期支持版 - 与 v4.2 匹配的 Zephyr SDK - Ubuntu22.04- 后续开发板 - NUCLEO-F303RE - ESP32-S3这一套环境稳定非常适合学习Step 3 保留当前环境不要删除先把现在的工作区保留以防后面需要参考。mv~/zephyrproject ~/zephyrproject-main确认ls~应该能看到zephyrproject-mainStep 4创建新的工作区mkdir~/zephyrprojectcd~/zephyrproject python3-mvenv .venvsource.venv/bin/activate升级 pippipinstall--upgradepipStep 5安装 Westpipinstallwest检查west--versionStep 6初始化 Zephyr v4.2这里不要直接 west init而是指定版本标签west init-mhttps://github.com/zephyrproject-rtos/zephyr--mrv4.2.0然后同步west update这个过程会下载所有官方模块可能需要几分钟。Step 7安装 Python 依赖pipinstall-rzephyr/scripts/requirements.txtStep 8确认版本执行cdzephyrcatVERSION应该看到类似VERSION_MAJOR4VERSION_MINOR2PATCHLEVEL0安装 Zephyr SDK 0.17.0对于 Zephyr v4.2.0推荐使用 Zephyr SDK 0.17.x。下载 SDK进入你的 Home 目录cd~下载 SDKLinux x86_64wgethttps://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.0/zephyr-sdk-0.17.0_linux-x86_64.tar.xz如果你的网络较慢也可以先在浏览器下载再复制到 Ubuntu。2. 解压tarxf zephyr-sdk-0.17.0_linux-x86_64.tar.xz会得到~/zephyr-sdk-0.17.0/3. 安装 SDK进入目录cd~/zephyr-sdk-0.17.0执行./setup.sh安装过程中Register Zephyr SDK with CMake package registry?输入Y然后Install udev rules?如果是在 VirtualBox Ubuntu 中建议也输入Y这样以后烧录 STM32 会方便很多。4. 设置环境变量编辑nano~/.bashrc最后加入exportZEPHYR_SDK_INSTALL_DIR$HOME/zephyr-sdk-0.17.0保存后source~/.bashrc然后确认echo$ZEPHYR_SDK_INSTALL_DIR应该输出/home/cxicc/zephyr-sdk-0.17.05. 验证 SDK在你的 Python 虚拟环境中cd~/zephyrprojectsource.venv/bin/activate执行west sdk list应该能看到已安装的 SDK。然后我们编译第一个程序cd~/zephyrproject/zephyr west build-bnucleo_f303re samples/hello_world– Zephyr version: 4.2.0 (/home/cxicc/zephyrproject/zephyr), build: v4.2.0[141/141] Linking C executable zephyr/zephyr.elfMemory region Used Size Region Size %age UsedFLASH: 14592 B 512 KB 2.78%RAM: 4480 B 64 KB 6.84%CCM: 0 GB 16 KB 0.00%IDT_LIST: 0 GB 32 KB 0.00%Generating files from /home/cxicc/zephyrproject/zephyr/build/zephyr/zephyr.elf for board: nucleo_f303re