写在前面
这次参加的是
e络盟e起DIY活动
是采用NXP FRDM-MCXW71 完成开发板活动,最终目标需要做成一个可以长期迭代的小项目:
使用 FRDM-MCXW71 + SHT30 + Zephyr RTOS,做一个低功耗 BLE 温湿度监测节点。
最终设备需要周期性采集温湿度,并通过 BLE 广播或 GATT 连接发送到手机 App 或网关。因为后面会涉及 I2C、传感器驱动、BLE 协议栈和低功耗,所以第一篇不急着接传感器,先把开发环境和最小 Zephyr 工程跑通。
本篇作为系列开发的起点,先把板子、环境和第一个可运行工程确认下来,后续每一篇都在这个基础上继续增加功能。
本篇完成什么
本篇只做第一阶段 Bring-up:
认识 FRDM-MCXW71 开发板;
搭建 VS Code + MCUXpresso for VS Code + Zephyr 环境;
创建独立 Zephyr Blinky 工程;
编译并烧录到 FRDM-MCXW71;
通过 LED 和串口确认程序已经运行。
本项目目录固定为:
D:\Project\Evaluation\FRDM_MCXW71_SHT30_BLE
第一篇对应的独立版本目录为:
D:\Project\Evaluation\FRDM_MCXW71_SHT30_BLE\01_board_bringup_zephyr_blinky
后续新增 SHT30、BLE 广播、GATT、低功耗时,都新建独立版本目录,不覆盖前面的工程。
开箱:先认识这块无线板
FRDM-MCXW71 是 NXP 面向 MCX W71 无线 MCU 推出的开发板,适合评估 Bluetooth LE、Zigbee、Thread 和 Matter 等无线应用。
从项目角度看,我最关注四点:
它支持 BLE,适合做无线温湿度节点;
它可以运行 Zephyr RTOS;
板载 MCU-Link,烧录和调试不用额外调试器;
有扩展接口,后面可以接 SHT30 的 I2C。
图片展示:

图 1 FRDM-MCXW71 开箱与配件


图 2 FRDM-MCXW71 开发板正面

图 3 FRDM-MCXW71 开发板背面
上电:确认电脑能识别开发板
使用 Type-C USB 线连接开发板和电脑。
正常情况下,Windows 设备管理器中会出现 MCU-Link 相关设备,例如:
MCU-Link CMSIS-DAP
MCU-Link VCom Port
本次连接 FRDM-MCXW71 后,LinkServer 可以识别到板载调试器:
MCU-LINK on-board (r0E3) CMSIS-DAP V3.117
Serial: TLACVSJGOK1ZE
Windows 分配到的虚拟串口是 COM14,串口参数如下:
参数配置
| Baudrate | 115200 |
| Data bits | 8 |
| Parity | None |
| Stop bits | 1 |
图片展示:


图 4 FRDM-MCXW71 通过 USB Type-C 连接电脑


图 5 Windows 串口或终端输出截图
环境路线:为什么选择 VS Code + MCUXpresso + Zephyr
本项目使用的开发组合如下:
项目内容
| 编辑器 | Visual Studio Code |
| NXP 插件 | MCUXpresso for VS Code |
| RTOS | Zephyr |
| 构建工具 | west / CMake / Ninja |
| 调试器 | 板载 MCU-Link |
| Zephyr board target | frdm_mcxw71/mcxw716c |
我选择这套环境的原因是:后续 BLE 和低功耗都更适合在 Zephyr 体系下逐步展开,而 MCUXpresso for VS Code 可以降低初次配置 Zephyr 工具链的门槛。
本次实测环境如下:
项目版本或路径
| Zephyr | v4.4.1 |
| Zephyr workspace | D:\Project\zephyrproject |
| Zephyr SDK | 1.0.1 |
| west | 1.5.0 |
| LinkServer | D:\AppLication\MCUXpressoIDE_25.6.136\ide\LinkServer |
安装步骤简化如下:
安装 Visual Studio Code;
在扩展市场安装 NXP MCUXpresso for VS Code;
打开 MCUXpresso Quickstart Panel;
通过 Open MCUXpresso Installer 安装 Zephyr Developer 环境;
确认 west、cmake、ninja 可用。
图片展示:


图 6 VS Code 扩展安装结果
第一个独立工程:不直接改官方示例
为了让文章和工程可以长期维护,我没有直接修改 Zephyr 官方示例,而是在自己的项目目录下创建独立应用:
01_board_bringup_zephyr_blinky\code\app
当前结构如下:
code/
build.cmd
build.ps1
flash.cmd
flash.ps1
app/
CMakeLists.txt
prj.conf
src/
main.c
这个 Blinky 工程做两件事:
使用 Zephyr 设备树里的 led0 控制板载 LED;
使用 printk() 从串口输出运行日志。
核心代码:
while (1) {
gpio_pin_toggle_dt(&led);
printk("LED toggled\r\n");
k_sleep(K_MSEC(1000));
}
编译:用脚本固定复现入口
进入项目根目录后,可以直接执行根目录脚本:
.\build.cmd
也可以进入第 1 版工程的 code 目录执行:
cd .\01_board_bringup_zephyr_blinky\code .\build.cmd
脚本内部调用的是:
west build -b frdm_mcxw71/mcxw716c app -d build -p auto
如果要强制重新构建:
.\build.cmd -Pristine
本次编译已经通过,生成的主要文件位于:
code\build\zephyr\zephyr.elf code\build\zephyr\zephyr.bin
编译后的资源占用如下:
FLASH: 17480 B / 1 MB RAM: 4008 B / 112 KB
图片展示:

图 7 Zephyr 工程编译成功
烧录和运行
开发板连接电脑后,在项目根目录执行:
.\flash.cmd
也可以进入同一个 code 目录执行 .\flash.cmd。
如果需要指定 LinkServer:
.\flash.cmd -Runner linkserver
预期现象:
板载 LED 每秒翻转一次;
串口输出启动信息和 LED toggled。
预期串口日志:
FRDM-MCXW71 Zephyr bring-up start Board target: frdm_mcxw71/mcxw716c LED toggled LED toggled LED toggled
本次烧录时,LinkServer 识别到的设备和探针如下:
Device: MCXW716CxxxA:FRDM-MCXW71 Probe: TLACVSJGOK1ZE, MCU-LINK on-board (r0E3) CMSIS-DAP V3.117
烧录后从 COM14 抓到连续输出:
LED toggled LED toggled LED toggled
图片展示:


图 8 FRDM-MCXW71 烧录成功


图 9 串口输出 Zephyr Blinky 运行日志
这一步遇到的注意点
Zephyr 环境安装较慢
Zephyr Developer 环境会安装 Zephyr SDK、Python 依赖、west、CMake、Ninja 和 NXP 相关工具。首次安装建议保持网络稳定,并记录好 Zephyr SDK 和 west 版本。
这次环境搭建中,west 被安装在 Python 用户目录,默认没有进入系统 PATH,所以工程里保留了 .cmd 入口,并在 PowerShell 脚本中自动查找 west.exe 或回退到 py -3.12 -m west。
另外,LinkServer 也不一定在系统 PATH 中。本文工程的 flash.ps1 会把 MCUXpresso IDE 自带的 LinkServer 目录临时加入当前烧录进程,避免手动修改系统环境变量。
board target 要写完整
本文使用的目标是:
frdm_mcxw71/mcxw716c
如果只写错一个字符,west build 就会在配置阶段失败。
第一篇不做低功耗
虽然最终目标是低功耗 BLE 设备,但第一篇只验证最基础的构建、烧录和运行。低功耗会影响调试接口可用性,后续单独开一篇记录。
本篇小结
到这里,FRDM-MCXW71 项目的第一块地基已经打好:
项目目录已经独立;
Zephyr 最小工程已经准备好;
构建和烧录入口已经脚本化;
文章图片位置已经预留;
后续可以开始接入 SHT30。
下一篇进入硬件部分:连接 SHT30,确认 I2C 接线和传感器原始数据读取。
参考资料
Zephyr FRDM-MCXW71 Board Documentation https://docs.zephyrproject.org/latest/boards/nxp/frdm_mcxw71/doc/index.html
NXP FRDM-MCXW71 Product Page https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXW71
MCUXpresso for VS Code
我要赚赏金
