Zephyr 容器
Zephyr 环境配置我们这里采用容器,好处是几乎不影响宿主机环境,但是要求对 Docker/Podman 任意一种容器运行时比较熟悉.
我们首先建立一个空白的项目 repo,然后将特定版本的 Zephyr 进行添加为 Git 子模块.
mkdir eepw-e14-2026-thermo
cd eepw-e14-2026-thermo
git init
git submodule add https://github.com/zephyrproject-rtos/zephyr.git vendor/zephyr
cd vendor/zephyr && git switch v4.2.0

这里我们要使用特定版本的 Zephyr 构建容器,因为不是所有 Zephyr 的版本都兼容某个构建容器的版本,查询之后 v4.2.0 的 Zephyr 可用 v0.27.3 的构建容器,用 podman pull zephyrprojectrtos/zephy-build:v0.27.3 即可拉取容器镜像.

我们在项目根目录下执行以下创建容器命令,这样可以将项目根挂载到容器内的 /app 目录,并且将 pin 住的 Zephyr 仓库给挂载到 /workdir 下.
podman run -itu root \
--privileged \
-v /dev:/dev \
-v $(PWD)/vendor:/workdir \
-v $(PWD):/app \
--name eepw-e14 \
-h eepw-e14 \
docker.io/zephyrprojectrtos/zephyr-build:v0.27.3
使用 podman exec -it eepw-e14 bash 进入容器,然后设置 Zephyr 开发环境
west init -l /workdir/zephyr
west update

LinkServer
为了方便后续 Zephyr 开发的项目烧录测试,我们要用到 NXP 官方的 LinkServer 工具用来调试或烧录 MCU,首先需要安装 whiptail 否则会导致用户许可的对话框无法显示,从而无法安装.

从 NXP 官网拿到安装包后直接执行,然后同意用户许可,就安装成功了.



然后可以用将其加入 PATH 方便使用
export PATH="/usr/local/LinkServer_25.3.31:$PATH"
Zephyr 小试牛刀
我们先跑一个例子程序看一下,进入 Zephyr 仓库目录的 samples/hello_world 下执行
west build -b frdm_mcxw71
就可以构建项目,构建成功后使用 west flash 就可以烧录了.

串口成功输出 Hello world 了,也算是翻山越岭跑通第一个 Zephyr 程序了.

我要赚赏金
