这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【FRDM-MCXW71开发实践01】从开箱到ZephyrBlinky:BLE温

共1条 1/1 1 跳转至

【FRDM-MCXW71开发实践01】从开箱到ZephyrBlinky:BLE温湿度节点的第一步

菜鸟
2026-07-01 15:08:07     打赏

【FRDM-MCXW71 开发实践 01】从开箱到 Zephyr Blinky:BLE 温湿度节点的第一步

写在前面

这次参加的是

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。

图片展示:

a978e6759efeb8c10f160bd79206d493.jpg

图 1 FRDM-MCXW71 开箱与配件

f6d7b2c03fb0868b275abc9db00e37aa

f6d7b2c03fb0868b275abc9db00e37aa.jpg


图 2 FRDM-MCXW71 开发板正面

6bdbaf2b5ad224c9c498036735fa6685.jpg

图 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,串口参数如下:

参数配置

Baudrate115200
Data bits8
ParityNone
Stop bits1

图片展示:

image-20260701024758824

image-20260701024758824.png


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

Snipaste_2026-07-01_02-42-08

Snipaste_2026-07-01_02-42-08.png


图 5 Windows 串口或终端输出截图

环境路线:为什么选择 VS Code + MCUXpresso + Zephyr

本项目使用的开发组合如下:

项目内容

编辑器Visual Studio Code
NXP 插件MCUXpresso for VS Code
RTOSZephyr
构建工具west / CMake / Ninja
调试器板载 MCU-Link
Zephyr board targetfrdm_mcxw71/mcxw716c

我选择这套环境的原因是:后续 BLE 和低功耗都更适合在 Zephyr 体系下逐步展开,而 MCUXpresso for VS Code 可以降低初次配置 Zephyr 工具链的门槛。

本次实测环境如下:

项目版本或路径

Zephyrv4.4.1
Zephyr workspaceD:\Project\zephyrproject
Zephyr SDK1.0.1
west1.5.0
LinkServerD:\AppLication\MCUXpressoIDE_25.6.136\ide\LinkServer

安装步骤简化如下:

  1. 安装 Visual Studio Code;

  2. 在扩展市场安装 NXP MCUXpresso for VS Code

  3. 打开 MCUXpresso Quickstart Panel;

  4. 通过 Open MCUXpresso Installer 安装 Zephyr Developer 环境;

  5. 确认 westcmakeninja 可用。

图片展示:

Snipaste_2026-06-30_22-24-32

Snipaste_2026-06-30_22-24-32.png


图 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

图片展示:

Snipaste_2026-07-01_02-38-37.png

图 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

图片展示:

Snipaste_2026-07-01_02-40-23

Snipaste_2026-07-01_02-40-23.png

图 8 FRDM-MCXW71 烧录成功

Snipaste_2026-07-01_02-45-37

Snipaste_2026-07-01_02-45-37.png


图 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 接线和传感器原始数据读取。

参考资料



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]