ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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

轻松学习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

返回列表