这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【e起DIY】低功耗蓝牙温湿度计:把Zephyr的开发环境搭起来

共1条 1/1 1 跳转至

【e起DIY】低功耗蓝牙温湿度计:把Zephyr的开发环境搭起来

高工
2026-06-10 21:33:24     打赏

        要搭的环境是NXP FRDM-MCXW72这块板子上的Zephyr。工具链用 VSCode + MCUXpresso 这套,这是NXP这两年主推的方案,比老的那种MCUXpresso IDE(Eclipse 魔改版)体验好不少。下面这些步骤我都是在Windows 10上进行的,装的路径里没有空格、没有中文。这点很重要,重要到我后边会反复念叨。

一、基本概念

        一上来肯定蒙,Zephyr、NXP的MCUXpresso、VSCode插件、SDK、LinkServer啥啥分不清。
  • VSCode:写代码的地方,不解释;

  • MCUXpresso Installer:NXP 的"全家桶安装器",用它装LinkServer、GCC for Arm这些;

  • MCUXpresso for Visual Studio Code 插件:装在VSCode里的,把NXP那一套调试和烧录的功能集成进VSCode;

  • Zephyr本身:通过west工具拉源码,跟上面NXP那套其实是独立的两条线,但是能配合着用;

  • LinkServer:板载调试器的驱动,MCXW72这块板子板载的LinkServer走的是CMSIS-DAP协议。

        说白了,Zephyr和MCUXpresso之间的关系是:MCUXpresso帮你管NXP自家工具链(编译器、调试器、SDK),Zephyr自己管内核和构建。你只需要LinkServer那一部分就行了,其他不装也能跑。

二、装MCUXpresso Installer这一步别跳

        去NXP官网下个MCUXpresso Installer(注意下Installer,不是IDE,那个IDE没法选组件)。打开之后会让你选要装啥,我建议这么勾
  • GCC for Arm Embedded:交叉编译器,必装;

  • LinkServer:调试器驱动,必装;

  • MCUXpresso for Visual Studio Code:这个就是装那个VSCode插件用的,勾上

  • Zephyr的环境;

    a5345e51-a8ca-4ff9-9684-015a51a005a4.png

        下一步选安装路径,我又得说一遍,路径里不能有空格和中文。我一般就装在 D:\nxp\ 下面。

        装完之后会让你重启,重启不重启都行(我是没重启,下面那个步骤也没出问题)。

三、装VSCode和那几款插件

        VSCode官网下个安装包装上,然后装这几个插件:
  • C/C++(ms-vscode.cpptools):基本款;

  • Cortex-Debug:调试用的,特别好用

  • Serial Monitor(ms-vscode.vscode-serial-monitor):看串口输出用;

  • MCUXpresso for Visual Studio Code:NXP 官方的;

        装完MCUXpresso那个插件后,你 VSCode 左边栏会多一个 NXP的logo。点进去啥也不用干,先放着,回头 SDK管理在里头。从这里也可以直接打开MCUXpresso Installer:

f7bbeb15-6b21-4d79-9d44-44c1fd9ecff5.png

四、准备一个工程

        我们可以在插件中直接安装SDK:

b557255d-e42b-4493-afd5-f1de89c997ad.png

        安装之后加载例程:

f18da8e1-836a-450b-ae37-5f4f4d050901.png

五、构建

直接使用插件进行运行:


0b92e035-6c98-4d34-8016-42492c24fa5e.pngbuild成功:
258e729a-fac2-457c-94ac-f9d57585e96b.png

六、烧录

        板子插上USB,然后在VSCode插件中直接下载:

1abd6fff-806f-4bc8-b403-975f49096bc5.png

        一直卡在这里,我们通过重新设定的方式重新配置.vscode内容也不行,感觉类似于一个是基于

Downloading file [G:/NXP/Repository/zephyr/build/zephyr/zephyr.bin]... J-Link: Flash download: Bank 1 @ 0x10000000: 1 range affected (24576 bytes) J-Link: Flash download: Total: 0.228s J-Link: Flash download: Program & Verify speed: 205 KB/s O.K. Verify successful.

七、看串口

        MCXW72 这块板子板载了 USB-to-UART(很贴心,省了一根 CH340 的事),插上 USB 后会虚拟出一个 COM 口来。打开串口后你会看到:

c3ec4c54-81d6-4b82-bc60-37d5406954b5.png

        这行字出来,恭喜你,Zephyr 跑起来了

八、调试

        VSCode 里装好 Cortex-Debug 之后,调试其实挺简单的。先配一个launch.json:
{    "version": "0.2.0",    "configurations": [        {            "name": "Cortex Debug",            "cwd": "${workspaceFolder}",            "executable": "${workspaceFolder}/build/zephyr/zephyr.elf",            "request": "launch",            "type": "cortex-debug",            "device": "MCXW72",            "runToMain": true,            "server": {                "executable": "LinkServer",                "arguments": [                    "--probe", "--core-index=0",                    "--elf", "${workspaceFolder}/build/zephyr/zephyr.elf"                ]            }        }    ] }

        断点打上,F5 一下就能进 Zephyr 内核。你想看哪个变量、看哪个寄存器、看哪个调用栈,全都给你扒出来。你可能觉得Zephyr是搞软件的人在玩的东西,其实不是。Zephyr的devicetree跟你画原理图那是一一对应的。Zephyr改引脚不用动C代码,只改 devicetree overlay就行。这套环境装好之后,后面写应用那是真的爽。devicetree把硬件资源描述得清清楚楚,Kconfig让你按需裁剪,west把构建烧录都管了。MCXW72 这块板子本身设计得也挺好,板载LinkServer、板载USB-UART、Arduino兼容的排针,拿来做产品原型特别合适。





关键词: Zephyr     开发     环境    

共1条 1/1 1 跳转至

回复

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