依次执行下面的命令
首先刷新软件列表,输入下面的命令
sudo apt-get update
出现了下面的图片就代表刷新完毕

然后执行升级已安装的所有软件,执行下面的命令
sudo apt-get upgrade
出现下图就代表更新完毕
然后就是安装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
出下面的图片就代表安装完成了

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

其实对于老版本的Zephyr来说的话,到这已经OK了,我安装的是新版本4.2的Zephyr,所以需要的Python需要3.12以上
所以如果和我一样想用新版的Zephyr的话,就需要再安装一下3.12的Python
输入下面的命令
sudo apt install python3.12 python3.12-dev python3.12-venv -y
出现下面的图片就代表安装成功了

这个时候需要注意,此时我们的虚拟机里有两个python版本了,所以在后续的创建虚拟环境中,需要使用跟自己Zephyr版本对应的Python去创建。
接下来就是创建虚拟环境了,执行下面的命令
最新版用这个命令
python3.12 -m venv ~/zephyrproject/.venv
其他版本用这个命令
python3 -m venv ~/zephyrproject/.venv
然后使用下面的命令去激活虚拟环境
source ~/zephyrproject/.venv/bin/activate
这个时候就会出现下面的图片,就代表虚拟环境激活成功
然后在虚拟环境中安装Zephyr最重要的工具west,执行下面的命令
pip install west
出现下面的图片就代表安装成功了

这个时候他会提醒你更新一下pip的版本,可以更新也可以不更新,我建议还是更新一下比较好
输入下面的命令更新
pip install --upgrade pip
出现下面的图片就代表更新完成了
接下来就是初始化Zephyr工程,输入下面的命令
west init ~/zephyrproject
如果网络不好的话,也可以使用国内的镜像源进行下载,命令如下
west init -m https://gitee.com/zephyrproject-rtos/zephyr.git ~/zephyrproject
出现下面的图片就代表初始化完毕

然后进入到工程目录
cd ~/zephyrproject
接着执行下面的命令下载 Zephyr 所有需要的模块、驱动、库、工具链
west update
如果在安装过程中出现失败,多试几次这个命令就好了,不会重复下载的
出现下面的图片就代表安装完成了
PS:如果安装完成出现了下面这种情况
这说明有些工具还是没有安装完成,但是使用west update还是下载失败
这个时候就可以这样
先进入
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了

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

然后就是注册Zephyr环境,输入下面的命令
west zephyr-export
出现下图就代表注册成功了
接下来就是安装Zephyr所需要的所有Python依赖包
按照官方的说法,输入下面的命令,但是会报错
west packages pip --install
会直接显示根本没有这个命令
这个时候输入下面的命令来安装依赖
pip install -r zephyr/scripts/requirements.txt
出现下图就代表安装完成了
然后就是安装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

然后进入到解压,进入到这个sdk的目录下
tar -xf zephyr-sdk-1.0.1_linux-x86_64.tar.xz cd zephyr-sdk-1.0.1
执行这个命令
./setup.sh

然后把~/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

然后就在zephyrproject里创建自己的工程目录,我是这样创建的
然后再编译,就可以了。
到这里在WSL里搭建Zephyr的开发环境就结束了。
然后还有一步,就是需要将windows的端口共享到WSL
先以管理员的身份进入打开终端,然后执行下面的命令
先查看 Windows 上的 USB 设备
usbipd list

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

最后再把设备连接到WSL
usbipd attach --wsl --busid=6-2
这样就OK了,再到WSL里面查看
lsusb

但是呢,这个时候还不能下载,还得安装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

检查安装目录
ls -la /usr/local | grep LinkServer

查找 LinkServer 可执行文件,找到真正的 LinkServer 执行文件路径
cd /usr/local/LinkServer_24.9.75 ls -la
创建软链接,让系统全局能用 linkserver 命令
sudo ln -sf /usr/local/LinkServer_24.9.75/LinkServer /usr/local/bin/linkserver
这个时候再下载就OK了

我要赚赏金
