这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【e起DIY】低功耗蓝牙温湿度计:搭一个能跑Zephyr的开发环境(Window

共1条 1/1 1 跳转至

【e起DIY】低功耗蓝牙温湿度计:搭一个能跑Zephyr的开发环境(Windows版)

高工
2026-06-09 21:13:19     打赏
        说真的,Zephyr 这玩意儿刚上手的时候,劝退的第一道坎不是写代码,是搭环境。官方文档写得挺全,但是它默认你是个老手,很多坑都不写在明面上。本文就以Windows 10为例,把"从零到 hello world 跑通"完整走一遍,尽量多说两句"为什么要这么做",少留点坑。

一、先搞清楚 Zephyr 是啥

Zephyr是Linux基金会下面搞的一个实时操作系统(RTOS),专门给资源受限的嵌入式设备用。它的特点是:
  • 内核本身非常小,最小可以压到几 KB;

    • 代码全部模块化,你要啥开啥(Kconfig + devicetree这套玩法);

  • 官方支持了700+ 块开发板,ARM、RISC-V、x86都有;

  • 上游社区(Nordic、NXP、Intel、ST等大厂都在贡献代码)。

所以如果你的MCU项目之前一直在用裸机或者FreeRTOS那种"东拼西凑"的方式开发,Zephyr算是一个非常正经的"工业级"替代方案。

二、装之前先把账算清楚

装 Zephyr 的环境之前,先确认你机器上有这些东西(缺啥补啥):

工具推荐版本作用
Python3.10 ~ 3.12跑 west、构建脚本、kconfig 啥的
CMake3.20.0+构建系统
Ninja1.10+比 make 快很多的并行构建工具
Git2.30+拉源码
Devicetree Compiler (DTC)1.4.6+编译设备树
Zephyr SDK0.16.x / 0.17.x交叉编译工具链全家桶

        小提示:Zephyr官方其实更推荐在Linux或者macOS上开发。Windows上也不是不能搞,但是坑要多一些(路径里有空格啊、符号链接啊、Python的MSVC版本啊……),本文就先按 Windows 走。

三、Windows上的具体步骤

1. 装Python(一定记得勾 PATH)

        去python.org下个 3.11 或者 3.12 的安装包,安装的时候一定要把"Add Python to PATH"勾上,不然后面pip命令会找不到。

        装完之后打开 cmd 验证一下:

python --version pip --version

2. 装 Git

        直接装Git for Windows即可。装完后记得把git加到 PATH(一般默认就会加)。

3. 装CMake 和 Ninja

        推荐用Chocolatey(一个Windows下的包管理器)来装,省心:

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' choco install ninja choco install dtc-msys2

        没有chocolatey的话,CMake官网下个安装包也成,Ninja直接去GitHub release 下一个exe扔到PATH里的目录即可。

4. 装 west

        west是 Zephyr官方搞的一个"meta-tool",你可以理解成它就是Zephyr的"项目经理",负责拉源码、跑构建、管理多仓库。没有west寸步难行。

pip install west

5. 初始化 Zephyr 仓库

        挑一个目录(路径里千万不要有空格和中文),比如 F:\zephyrproject:

cd F:\ mkdir zephyrproject cd zephyrproject west init . west update

        west init .会在当前目录下创建.west/目录和zephyr/子目录。west update会去GitHub上拉一堆module(hal、modules、tools 等),这一步网络一定要通畅,建议开代理或者用国内镜像,否则容易卡住。

6. 装Python依赖

        进入zephyrproject\zephyr目录,然后:

pip install -r scripts/requirements.txt

        注意,这个requirements.txt跟zephyr仓库绑定的版本比较严,最好别用系统全局的pip套件多,强烈建议用virtualenv:

python -m venv .venv.venv\Scripts\activatepip install -r scripts/requirements.txt

7. 装 Zephyr SDK

        这个是最容易被忽略的坑。Zephyr SDK是官方打包好的一整套交叉编译工具(gcc-arm-none-eabi、newlib、qemu、openocd、ninja、python 等),单独装也行,但官方建议直接装SDK包,省事。

Zephyr SDK 0.16+ 下载页 下个 zephyr-sdk-x.x.x-windows-x86_64.7z,目前最新版本为1.0.1,。解压缩到任意目录(同样不要有空格和中文),然后:

cd zephyr-sdk setup.cmd

这一步会问你是否安装toolchain(小的那种只有几 MB,大的接近1GB),第一次建议直接选大的,一劳永逸。

8. 设置环境变量

        把下面这几个加到系统环境变量(或者写个 setup_env.cmd每次开cmd跑一下):

ZEPHYR_BASE=F:\zephyrproject\zephyr
ZEPHYR_TOOLCHAIN_VARIANT=zephyr
ZEPHYR_SDK_INSTALL_DIR=F:\zephyr-sdk

四、验证一下环境

        在zephyrproject\zephyr目录下创建工程:

af136f12-d4af-4b61-b1e8-1b2cdd11db44.png

west build -b frdm_mcxw72 'd:/NXP/project/hello_world' -p auto

  • frdm_mcxw72是Zephyr支持的实际板子;

  • 如果构建成功,恭喜你环境基本通了;


7fdcb561-8f3d-4e18-90e0-1402f516c6ef.png

六、几个最常踩的坑(提前打个预防针)

  1. 路径里千万不能有空格和中文,特别是ZEPHYR_BASE和SDK安装路径。否则一堆构建脚本会莫名其妙报错。

  2. Python版本别太新也别太旧,建议就用3.12。

  3. west update失败:基本是网络问题,国内的话可以试试改~/.gitconfig配 proxy。

  4. 找不到arm-none-eabi-gcc:八成是SDK没装全,重新跑一遍setup.cmd,把toolchain 选上。

  5. ZEPHYR_BASE没设:每次新开cmd都要export一次,建议写成脚本。

        Zephyr的环境搭完之后,后续的开发体验其实比裸机/老式RTOS好太多——驱动用devicetree描述、配置用Kconfig裁剪、构建用west管,工具链一致、社区活跃、文档规范。第一次搭环境可能要花个把小时,这很正常。等你跑通hello_world,后面写Bluetooth、写网络、写sensor驱动,都是同一套路子。





关键词: Windows     Zephyr     环境    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]