使用WSL2开发zephyr
本文开始之前必须阅读:使用WSL2+usbipd,解决ST-Link JLink无法被WSL直接识别问题-CSDN博客
https://blog.csdn.net/godmial/article/details/149854149?spm=1001.2014.3001.5502
本文默认你已经完成了WSL直接与ST-Linkl,JLink通信的工作
WSL 版本: 2.5.9.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6074
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26100.4652
一.配置zephyr环境
开始之前先更新一下以防万一
sudo apt update
sudo apt upgrade
1.安装依赖:
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 --version
python3 --version
dtc --version
2.创建python虚拟环境
python3 -m venv ~/zephyrproject/.venv
source ~/zephyrproject/.venv/bin/activate
3.安装west
pip install west
4.获取zephyr源码
west init ~/zephyrproject
cd ~/zephyrproject
west update
如果出现如下情况
继续使用 west update命令重新来一遍,如果还是错误,可以开代理尝试
成功:
5.导出cmake
west zephyr-export
6.安装packages
west packages pip --install
7.安装SDK
以下三种方式任选一种!!!
(1)常规安装方式
在网络状况良好的情况下推荐,省时省力
cd ~/zephyrproject/zephyr
west sdk install
(2)使用wget直接下载SDK
网络不好情况下可以使用
下载SDK
cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.2/zephyr-sdk-0.17.2_linux-x86_64.tar.xz
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.2/sha256.sum | shasum --check --ignore-missing
解压SDK
tar xvf zephyr-sdk-0.17.2_linux-x86_64.tar.xz
运行SDK部署脚本
cd zephyr-sdk-0.17.2
./setup.sh
(3)手动下载SDK并安装
下载地址:
通过网盘分享的文件:zephyr-sdk-0.17.2_linux-x86_64.tar.xz
链接: https://pan.baidu.com/s/1bYG6iEbrx3UMKsTNEwKR7Q?pwd=hgm3 提取码: hgm3
或者进qq群自取:478208286
将下载完毕的SDK直接拖到ubuntu的home/user目录
然后运行以下命令检测SDK是否损坏:
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.2/sha256.sum | shasum --check --ignore-missing
成功 :
然后同样运行SDK部署脚本
cd zephyr-sdk-0.17.2
./setup.sh
二.测试效果
cd ~/zephyrproject/zephyr
west build -p always -b <your-board-name> samples/basic/blinky
west flash --runner jlink
或者
west flash
文章到此结束,如有帮助请点赞收藏
参考文章:
如何让Windows的代理作用于wsl2? - 知乎
Getting Started Guide — Zephyr Project Documentation
Zephyr SDK — Zephyr Project Documentation