当前位置: 首页 > news >正文

轻松学习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.0;6) 配置环境变量并验证安装;7) 编译hello_world示例程序到STM32开发板。文章提供了从零开始搭建环境的每一步命令和注意事项,确保读者能够成功建立稳定的Zephyr开发环境,为后续的RTOS学习和项目开发打下坚实基础。

我的环境:

- Host:macOS(约 30GB 可用空间) - 虚拟机:VirtualBox - Guest:Ubuntu - 开发板: - 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 Desktop

VirtualBox 建议配置:

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-main

Step 4:创建新的工作区

mkdir~/zephyrprojectcd~/zephyrproject python3-mvenv .venvsource.venv/bin/activate

升级 pip:

pipinstall--upgradepip

Step 5:安装 West

pipinstallwest

检查:

west--version

Step 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.txt

Step 8:确认版本
执行:

cdzephyrcatVERSION

应该看到类似:

VERSION_MAJOR=4VERSION_MINOR=2PATCHLEVEL=0

安装 Zephyr SDK 0.17.0
对于 Zephyr v4.2.0,推荐使用 Zephyr SDK 0.17.x。

  1. 下载 SDK
    进入你的 Home 目录:
cd~

下载 SDK(Linux x86_64):

wgethttps://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.0

5. 验证 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.elf
Memory region Used Size Region Size %age Used
FLASH: 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

http://www.jsqmd.com/news/1382365/

相关文章:

  • Python subprocess.run() 在 Windows 下 FileNotFoundError 的根源与最佳实践
  • 电热水器选购指南:从功率、容量到能效与安全,全面解析如何避坑
  • 解锁音乐自由:3分钟掌握网易云NCM格式解密技巧
  • Windows Cleaner终极指南:三步彻底解决C盘爆红,让Windows重获新生
  • AI编程工具Cursor实战指南:从环境配置到项目开发全流程解析
  • Python实战:基于PyBullet仿真环境的人形机器人运动控制与步态规划
  • PoeCharm中文版:流放之路角色构建系统的技术架构与本地化实现
  • 轻松学习Zephyr: 03-Helloworld
  • 2026年8月合肥市瑶海区移动500M宽带怎么选怎么办才靠谱 - 找卡家园
  • RAG技术全流程解析:从向量检索到智能问答的工程实践
  • SAP Fiori Launchpad中Contact Support按钮的显示逻辑与配置
  • 二叉树中序遍历:原理、实现与工程应用
  • 技术竞赛项目全流程部署与实战指南:从环境搭建到性能优化
  • 第7章 HDR成像基础
  • MySQL 8.0降级至5.7实战指南:数据安全迁移与版本兼容性处理
  • DSC显示流压缩技术:从视觉无损原理到工程实践全解析
  • 推荐口碑好的值班岗亭制造商:严选 - 品牌推广大师
  • 阿里千问开放平台:大模型驱动的生活服务对话式集成开发指南
  • 【Bug已解决】[WebGPU EP] Meta-Llama-3.1-8B inference crash on QNN environments 解决方案
  • Ubuntu双系统安装与配置全攻略:从零搭建高效开发环境
  • Maven测试失败排查指南:从Surefire插件错误到十种常见场景解决方案
  • [基于OpenEvals的自动化评估-14]以静态代码分析方式评估Agent生成的代码
  • Recovery模式(恢复模式)
  • C++与Java性能深度对比与现代优化实践
  • 从“汤头”看体质:九种体质辨识+五运六气辨证,手把手教你完成完整自测
  • Unity与Visual Studio开发环境搭建:从硬件检查到调试验证的完整指南
  • 轻松学习Zephyr: 04-从零构建Blinky
  • JavaScript 去混淆器终极指南:快速解密混淆代码的完整教程 [特殊字符]
  • YOLOv8移动端部署全流程:从模型量化到安卓集成实战
  • 华为eNSP防火墙实验:从零搭建到安全策略与NAT实战