简介
简单的记录下wsl下搭建zephyr编译环境的过程
配置环境
编译zephyr需要得到最小版本分别为
| Tool | Min.Version |
|---|---|
| cmake | 3.20.5 |
| python | 3.10 |
| dtc | 1.4.6 |
而我们的系统除了dtc其他的都需要升级

先更新一下

升级cmake
详情见之前的文章
升级python3
详情见之前的文章
增加kitware源
我的版本是20.04,而官方提到如果不是22.04版本的还需要单独加kitware的apt源

安装过程如下
wget https://apt.kitware.com/kitware-archive.sh
sudo bash kitware-archive.sh


安装依赖
sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1

sudo apt install python3-venv

sudo apt-get install python3.10-venv

获取zephyr代码
创建python的虚拟环境并激活,在虚拟环境中安装west工具
python3 -m venv ~/raspi_zephyr/.venv
source ~/raspi_zephyr/.venv/bin/activate
pip install west


获取zephyr的源码,注意路景观
west init ~/raspi_zephyr
cd ~/raspi_zephyr
west update


update结束

导出cmake的包,这样cmake就可以自动加载构建zephyr应用程序所需的样板代码
west zephyr-export

更新python需要的包
west packages pip --install


安装zephyr sdk
进入zephyr文件夹下,使用west安装sdk
cd zephyr
west sdk install



mcxa156 demo
打算用zephyr的mcxa156的demo,不过因为我是wsl的环境,所以在烧录flash的操作那一步没进行下去,这个等后面有时间回头看看怎么操作,这里先记录过程。
zephyr提供了一些类似于hello world之类的简单demo,可以点开下面的链接,查看哪些支持的板子
https://docs.zephyrproject.org/latest/boards/index.html#boards=
按照下图的关键词来搜索

搜索后可以看到具体的版子都显示出来了,点击进去,有简单的使用提示

编译代码,生成镜像
west build -b frdm_mcxa156 samples/hello_world


根据zephyr官方的提示,我们的mcxa156板子用的是MCU-Link,所以烧录的话,直接使用下列命令
west flash
不过因为我们是在wsl里面开发,所以得指定设备节点,不然是没法使用的

参考了一个esp32的文档,按道理应该就是用/dev/ttyACM0节点的,不过好像mcxa156使用都是失败的,反正就先记录到这里,等后面有空回头来解决这个问题
west flash --frdm_mcxa156-device /dev/ttyACM0
west flash --mcxa156-device /dev/ttyACM0
raspi 4b
接下来记录树莓派4B板子的demo使用过程
找到我们的boardname,这里是rpi_4b

rm -rf build
west build -b rpi_4b samples/hello_world

拷贝我们的bin文件出来
cp build/zephyr/zephyr.bin /d/ubuntu_swap/

放到树莓派的SD卡,如下,zephyr demo启动成功

参考链接
待办事项
-
写一个简单的
zephyr demo -
配置
zephyr,使其拥有shell界面,如同linux的命令行一样 -
上述
zephyr的下载过程实在是太繁琐了,而且编译还依赖zephyr的SDK,感觉就跟用MDK软件之类的没啥区别,所以看看有没有简单的配置流程