这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 过程贴-细致入微的教你在WSL里搭建Zephyr的开发环境

共1条 1/1 1 跳转至

过程贴-细致入微的教你在WSL里搭建Zephyr的开发环境

菜鸟
2026-05-25 17:04:01     打赏

依次执行下面的命令
首先刷新软件列表,输入下面的命令

sudo apt-get update

出现了下面的图片就代表刷新完毕

img_v3_0211r_c51e20b1-e960-4063-bba4-568baab2d09g.jpg

然后执行升级已安装的所有软件,执行下面的命令

sudo apt-get upgrade

出现下图就代表更新完毕

img_v3_0211r_4e02ddcb-9352-48a7-a34e-272dc446812g.jpg然后就是安装Zephyr开发的工具链,执行下面的命令

sudo apt install --no-install-recommends git cmake ninja-build gperf 
  ccache dfu-util device-tree-compiler wget python3-dev python3-venv python3-tk 
  xz-utils file make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1

出下面的图片就代表安装完成了
img_v3_0211r_2bc3e329-2f37-4ae5-8d2e-e5a752054bfg.jpgimg_v3_0211r_c0e63c46-190a-4ad8-b3b8-efefe04a8edg.jpg

然后就需要查看一下CMake / Python / DTC 的版本,是否满足Zephyr开发的最低版本需求
输入下面的命令

cmake --version
python3 --version
dtc --version

img_v3_0211r_c60eddac-6419-43e8-9070-a0e8fb9cec4g.jpg

其实对于老版本的Zephyr来说的话,到这已经OK了,我安装的是新版本4.2的Zephyr,所以需要的Python需要3.12以上
image.png所以如果和我一样想用新版的Zephyr的话,就需要再安装一下3.12的Python
输入下面的命令

sudo apt install python3.12 python3.12-dev python3.12-venv -y

出现下面的图片就代表安装成功了

img_v3_0211r_decf903e-3c28-40ca-8ebe-485e8ff4746g.jpg

这个时候需要注意,此时我们的虚拟机里有两个python版本了,所以在后续的创建虚拟环境中,需要使用跟自己Zephyr版本对应的Python去创建。

接下来就是创建虚拟环境了,执行下面的命令
最新版用这个命令

python3.12 -m venv ~/zephyrproject/.venv

其他版本用这个命令

python3 -m venv ~/zephyrproject/.venv

然后使用下面的命令去激活虚拟环境

source ~/zephyrproject/.venv/bin/activate

这个时候就会出现下面的图片,就代表虚拟环境激活成功
img_v3_0211r_13ad5e2b-88a6-42ee-bfa2-98a59adbc16g.jpg

然后在虚拟环境中安装Zephyr最重要的工具west,执行下面的命令

pip install west

出现下面的图片就代表安装成功了

img_v3_0211r_642defbe-92dd-4eff-8ca3-50aabb977d8g.jpg

这个时候他会提醒你更新一下pip的版本,可以更新也可以不更新,我建议还是更新一下比较好
输入下面的命令更新

pip install --upgrade pip

出现下面的图片就代表更新完成了
img_v3_0211r_7953c6d6-e418-4fdd-a31c-14411c9a0a4g.jpg

接下来就是初始化Zephyr工程,输入下面的命令

west init ~/zephyrproject

如果网络不好的话,也可以使用国内的镜像源进行下载,命令如下

west init -m https://gitee.com/zephyrproject-rtos/zephyr.git ~/zephyrproject

出现下面的图片就代表初始化完毕

img_v3_0211s_fc03de50-5b37-4a22-8aba-53971f9353dg.jpgimg_v3_0211r_cbfbda89-1a0f-45e0-b84e-620a3d25460g.jpg然后进入到工程目录

cd ~/zephyrproject

接着执行下面的命令下载 Zephyr 所有需要的模块、驱动、库、工具链

west update

如果在安装过程中出现失败,多试几次这个命令就好了,不会重复下载的
出现下面的图片就代表安装完成了
img_v3_0211s_85301c58-46d7-4090-ae9e-da85d7ea0fcg.jpgPS:如果安装完成出现了下面这种情况
这说明有些工具还是没有安装完成,但是使用west update还是下载失败img_v3_02120_95ba1fb7-63f0-4869-bb58-c5ca57c11f9g.jpg

这个时候就可以这样

先进入

cd ~/zephyrproject

然后删除之前下载失败的目录

rm -rf modules/lib/gui/lvgl

再从Git / Gitee镜像克隆完整仓库,哪个下载失败就拉哪个

git clone https://gitee.com/mirrors/lvgl.git modules/lib/gui/lvgl

然后再进入LVGL目录,检出Zephyr manifest要求的精确版本 如果是其他 Zephyr 版本,可以查看zephyr/west.yml文件中 LVGL 对应的 commit 号

cd modules/lib/gui/lvgl
git checkout 85aa60d18b3d5e5588d7b247abf90198f07c8a63

然后再返回项目根目录,验证west状态

cd ~/zephyrproject
west status

出现下图的照片就OK了

img_v3_02120_96ac9de2-2628-4a83-89d2-4f609b799fbg.jpg

这个时候再使用west update就会显示OK了

img_v3_02120_5259c261-a0af-4528-863f-341d38b7aabg.jpg

然后就是注册Zephyr环境,输入下面的命令

west zephyr-export

出现下图就代表注册成功了
img_v3_0211s_1aaaf89b-e2dc-4c78-b9d8-f2af35ffd5fg.jpg

接下来就是安装Zephyr所需要的所有Python依赖包
按照官方的说法,输入下面的命令,但是会报错

west packages pip --install

会直接显示根本没有这个命令
img_v3_0211s_a0364024-9e51-4bcd-a009-5d80fef1210g.jpg

这个时候输入下面的命令来安装依赖

pip install -r zephyr/scripts/requirements.txt

出现下图就代表安装完成了img_v3_0211s_6b85c5cc-270d-4367-a2e4-6cd14b7b1bcg.jpg

然后就是安装Zephyr的SDK,输入下面的命令,这个命令是自动现在sdk,并配置的

cd ~/zephyrproject/zephyr
west sdk install

在这个步骤我是下载失败了,所以我换了一种方式,我用的是手动下载SDK,先返回到

cd ~/zephyrproject

然后输入下面的命令,用加速链接下载 Zephyr SDK 1.0.1 开发工具包,并保存到当前目录

wget -O zephyr-sdk-1.0.1_linux-x86_64.tar.xz https://ghproxy.net/https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v1.0.1/zephyr-sdk-1.0.1_linux-x86_64.tar.xz

img_v3_02121_203ad412-bf38-40d4-9174-17788a261b6g.jpg

然后进入到解压,进入到这个sdk的目录下

tar -xf zephyr-sdk-1.0.1_linux-x86_64.tar.xz
cd zephyr-sdk-1.0.1

执行这个命令

./setup.sh

img_v3_02121_05151aeb-1ac0-455a-968a-f9bcaaf94fdg.jpg

然后把~/zephyr-sdk-1.0.1 这个路径,设置成 Zephyr 全局默认的 SDK 路径,执行下面的命令

west config --global sdk.dir ~/zephyr-sdk-1.0.1

让每次打开终端,都自动加载 Zephyr SDK 环境

echo "source ~/.zephyrrc" >> ~/.bashrc
source ~/.zephyrrc

image.png

然后就在zephyrproject里创建自己的工程目录,我是这样创建的image.png

然后再编译,就可以了。image.png

到这里在WSL里搭建Zephyr的开发环境就结束了。

然后还有一步,就是需要将windows的端口共享到WSL

先以管理员的身份进入打开终端,然后执行下面的命令

先查看 Windows 上的 USB 设备

usbipd list

image.png

然后绑定设备,我这里已经绑定过了,所以显示shared。执行下面的命令进行绑定

usbipd bind --busid=6-2

image.png

最后再把设备连接到WSL

usbipd attach --wsl --busid=6-2

image.png这样就OK了,再到WSL里面查看

lsusb

image.png

但是呢,这个时候还不能下载,还得安装NXP的下载工具,依次执行一下命令

下载 LinkServer

wget -O LinkServer.tar.gz https://ghproxy.net/https://github.com/NXPmicro/linkserver/releases/download/v1.5.30/LinkServer_1.5.30_Linux-x86_64.tar.gz

安装依赖库

sudo apt install -y libncurses5 libusb-1.0-0-dev


安装 LinkServer 本体

sudo ./LinkServer.deb.bin --accept

检查是否安装成功

linkserver --version

image.png

检查安装目录

ls -la /usr/local | grep LinkServer


image.png

查找 LinkServer 可执行文件,找到真正的 LinkServer 执行文件路径

cd /usr/local/LinkServer_24.9.75
ls -la

image.png创建软链接,让系统全局能用 linkserver 命令

sudo ln -sf /usr/local/LinkServer_24.9.75/LinkServer /usr/local/bin/linkserver

这个时候再下载就OK了

image.png





关键词: 嵌入式     WSL    

共1条 1/1 1 跳转至

回复

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