news 2026/9/19 9:08:51

Zephyr 中 Nordic nRF54L15 TAG 开发板实战指南:引脚资源、板级特性与 DK 调试烧录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Zephyr 中 Nordic nRF54L15 TAG 开发板实战指南:引脚资源、板级特性与 DK 调试烧录

Zephyr 中 Nordic nRF54L15 TAG 开发板实战指南:引脚资源、板级特性与 DK 调试烧录

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

nRF54L15 TAG(Target Application GPIO)是 Nordic Semiconductor 面向 nRF54L15 SoC 设计的一款小型硬件开发平台,可用于快速原型开发与传感器评估。本文以 Zephyr 仓库中 nRF54L15 TAG 板级文档 为主线,结合板级源码(设备树、Kconfig、CMake 配置)深入讲解其引脚分配、支持的特性、多核构建目标,以及如何借助 nRF54L DK 的板载调试器完成编程、调试与日志输出,帮助读者在 Zephyr 中快速上手这块开发板。

开发板概览:一块面向 nRF54L15 SoC 的 TAG 平台

nRF54L15 TAG 是用于为 nRF54L15 SoC 设计和开发应用的硬件开发平台。与完整的开发套件(DK)不同,TAG 形态通常更为紧凑,聚焦于将 SoC 的关键引脚、天线与调试接口暴露出来,便于直接集成到用户自己的硬件原型中。

在 Zephyr 仓库中,该板卡的定义位于 boards/nordic/nrf54l15tag,板级标识为nrf54l15tag,完整名称 "nRF54L15 TAG",厂商为nordic,SoC 为nrf54l15(见 board.yml)。

值得注意的是,nRF54L15 是双核 SoC,因此 TAG 板在 Zephyr 中对应多个构建目标(变体)。从 board.yml 可以看到:

构建目标说明
nrf54l15tag/nrf54l15/cpuapp应用核(Cortex-M33),默认目标
nrf54l15tag/nrf54l15/cpuapp/ns应用核非安全(Non-Secure)变体,配合 TF-M 使用
nrf54l15tag/nrf54l15/cpuflpr低功耗核(FLPR,RV32)
nrf54l15tag/nrf54l15/cpuflpr/xipFLPR 的 XIP(片上执行)变体

在 Kconfig.nrf54l15tag 中,这四个目标分别通过select SOC_NRF54L15_CPUAPPselect SOC_NRF54L15_CPUFLPR关联到对应的 SoC 配置,从而让同一套板级定义支撑不同核的构建。

硬件资源与默认引脚分配

原文档给出了 TAG 板在**默认状态下(用户未焊接任何可选组件)**可用的引脚清单。这些引脚专为应用定制用途暴露,整理如下:

引脚默认状态
P0.01可用
P0.02可用
P0.04可用
P1.02可用
P1.03可用
P1.11SCL(i2c21)
P1.12SDA(i2c21)
P1.13可用
P1.14可用
P2.05保留(Reserved)
P2.06可用
P2.07可用

注意:默认情况下,ANT1 天线通过 GPIO Hogs 连接到 SoC。这意味着天线开关的控制引脚在设备树中由 GPIO Hog 机制在启动早期直接拉高/拉低,无需应用代码干预。

结合 nrf54l15tag_common.dtsi 可以进一步看出 TAG 板上的板载资源分布:

  • RGB LED(LED1):由gpio2端口控制,红/蓝/绿分别位于 P2.08(led1_red)、P2.09(led1_blue)、P2.10(led1_green),均为低电平有效,led0别名指向蓝色灯;
  • LED2(RGB):红/绿/蓝分别位于 P0.02、P0.04、P2.07,设备树中默认status = "disabled",需要用户自行焊接后启用;
  • 按键button0位于 P0.00(上拉、低电平有效),button1位于 P0.01 但默认禁用;sw0别名指向button0
  • I2C 实例 i2c21:SCL=P1.11、SDA=P1.12,标准速率(I2C_BITRATE_STANDARD),并预置了 BME688(地址 0x76)与 ADXL367(地址 0x1d)两个默认禁用的传感器节点;
  • SPI 实例 spi22:SCK=P1.08、MOSI=P1.06、MISO=P1.05,片选 CS=P1.07,并预置 BMI270 IMU 传感器节点(8 MHz 最大 SPI 速率,中断引脚 P1.04);
  • 天线开关:由 Skyworks sky13348 控制,V1=P1.09、V2=P1.10。在 nrf54l15tag_cpuapp_common.dtsi 中,通过两个 GPIO Hog 将 V1 拉高、V2 拉低,从而把 ANT1 天线默认接通到 SoC。

设备树中还为i2c21spi22分别定义了defaultsleep两套 pinctrl 状态,睡眠态启用low-power-enable,便于低功耗场景下自动切换引脚配置。

支持的 Zephyr 特性

TAG 板的应用核目标在 nrf54l15tag_nrf54l15_cpuapp.yaml 中声明了如下支持的特性:

  • ADC(模数转换)
  • Counter(计数器/定时器)
  • DMIC(数字麦克风)
  • GPIO(通用输入输出)
  • I2C(两线接口)
  • I2S(数字音频接口)
  • PWM(脉宽调制)
  • Retained Memory(保持内存)
  • SPI(串行外设接口)
  • Watchdog(看门狗)

同时该目标还声明了ram: 188(KB)、flash: 664(KB)的可用资源量,并启用sysbuild: true,意味着构建时会走 sysbuild 流程(例如 cpuapp 与 bootloader 或 TF-M 的联合构建)。默认 defconfig(nrf54l15tag_nrf54l15_cpuapp_defconfig)只开启了CONFIG_GPIOCONFIG_ARM_MPU,其余外设按需通过 prj.conf 或 overlay 打开。

针对 cpuapp/ns 非安全变体,Kconfig.defconfig 做了几项关键默认配置:

  • 默认启用BUILD_WITH_TFM,即以 TF-M 作为安全执行环境(Secure Execution Environment);
  • HAS_BT_CTLR跟随BT使能,允许在非安全侧运行蓝牙控制器;
  • 选择USE_DT_CODE_PARTITION,代码分区由设备树指定;
  • 当启用 MCUboot 时,SPI NOR 的 Flash 布局页大小默认为 4096;
  • 硬件栈保护HW_STACK_PROTECTION默认跟随ARCH_HAS_STACK_PROTECTION

编程与调试:通过 nRF54L DK 板载调试器

nRF54L15 TAG 板上没有独立的调试器,其编程与调试依赖nRF54L DK 的板载调试器,连接方式如下图所示:

nRF54L15 TAG 调试连接示意(Credit: Nordic Semiconductor)

操作流程如下:

  1. 将 nRF54L15 TAG 插入 nRF54L DK 的DEBUG OUT排针;
  2. 此时 DK 板载调试器的 SWD 信号会从 DK 板上的 nRF54L15 SoC改道到 TAG 上的 nRF54L15 SoC
  3. 上电后,TAG 上的 SoC 即可像 nRF54L DK 板上的 nRF54L15 SoC 一样被编程和调试(参见 nrf54l15dk)。

供电方式与安全警告

需要特别留意的是:TAG 默认不会从DEBUG OUT接口取电。要为其供电,有两种方式:

  • 在电池座中装入一颗CR2032 纽扣电池
  • 或者在 nRF54L DK 的VDD SWD0引脚上外接 3.3V

如果使用 DK 供电,可以将 DK 配置为输出 3.3V VDD,然后在 DK 的任意VDDIO引脚与VDD SWD0引脚之间接一根跳线。

警告:如果 TAG 上已插入纽扣电池,切勿VDD SWD0或 TAG 上的VDD施加 3.3V,否则可能造成损坏。

支持的烧录/调试工具(Runners)

从 board.cmake 可以看到,TAG 板通过nrfutiljlink两套 runner 体系进行烧录调试,并根据目标核自动选择器件型号:

  • 应用核(CPUAPP):--device=nRF54L15_M33 --speed=4000(J-Link 器件名为 nRF54L15_M33);
  • 低功耗核(CPUFLPR):--device=nRF54L15_RV32

同时,board.yml 中为--recover--erase--reset等一次性操作定义了 runner 组合(nrfjprog / jlink / nrfutil),覆盖全部四个构建目标。若启用了CONFIG_TFM_FLASH_MERGED_BINARY,烧录目标会切换为合并后的tfm_merged.hex,确保 TF-M 与应用程序一并烧入。

另外,pre_dt_board.cmake 会向设备树编译流程追加-Wno-unique_unit_address_if_enabled编译标志,用于屏蔽 nRF54L15 中 power/clock/xo/lfclk 等节点地址重叠带来的设备树校验告警。

控制台与日志输出

nRF54L15 TAG 没有默认的控制台 UART 直连方案,Zephyr 文档推荐使用以下两种 snippet 获取控制台与日志输出:

方式一:Segger RTT(推荐)

启用 rtt-console snippet 将控制台重定向到 Segger RTT,配合 nRF Connect for Desktop / J-Link RTT Viewer 查看日志:

west build -p always -b nrf54l15tag/nrf54l15/cpuapp samples/hello_world --snippet rtt-console west flash

方式二:NUS(Nordic UART Service)BLE 透传

启用 nus-console snippet,将控制台通过 BLE NUS 服务透传,适合无线场景:

west build -p always -b nrf54l15tag/nrf54l15/cpuapp samples/hello_world --snippet nus-console west flash

两条命令均以samples/hello_world为例:先以-p always做干净构建并指定板型,再用west flash通过 DK 板载调试器烧录到 TAG 的 nRF54L15 SoC。读者也可以将samples/hello_world替换为 samples/drivers 下与 I2C、SPI、ADC 等特性对应的示例程序,以验证 TAG 板的实际外设功能。

小结

nRF54L15 TAG 是一块紧凑、灵活的 nRF54L15 原型平台:默认暴露了 P0/P1/P2 端口共 12 个引脚(含 I2C21 的 SCL/SDA),板载 RGB LED、按键、天线开关与预置传感器节点,支持应用核(含非安全变体)与 FLPR 低功耗核共 4 个构建目标。借助 nRF54L DK 的DEBUG OUT接口即可完成编程调试,再配合 RTT 或 NUS snippet 解决控制台输出问题。上述全部实现细节均可在 boards/nordic/nrf54l15tag 目录下的设备树、Kconfig 与 CMake 文件中找到依据,可作为在 Zephyr 中移植或扩展这块板卡时的直接参考。

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 9:07:06

PyTorch与TensorFlow深度对比:从动态图到部署的选型指南

1. 从两个框架的“性格差异”说起如果你在2018年前后入行深度学习,大概率经历过这样的场景:组里新来的实习生问“我该学PyTorch还是TensorFlow”,然后整个工位区瞬间分成两派,一派说“TF的部署生态无敌”,另一派说“Py…

作者头像 李华
网站建设 2026/9/19 9:02:42

AI智能体在养殖场落地实践:从环境调控到疾病预警的四大场景

养殖场这个场景,乍一看跟AI智能体离得很远——一个是最传统的农业养殖,一个是当下最前沿的技术概念。但我在过去一年多的时间里,陆续接触了几个养殖场的智能化改造项目,从最开始的环境控制到后来的饲喂决策、疾病预警,…

作者头像 李华
网站建设 2026/9/19 9:01:50

aardio plus控件进度条开发指南与实战技巧

1. 认识 aardio 中的 plus 控件进度条在 aardio 这个轻量级的 Windows 桌面应用开发工具中,plus 控件是一个功能强大的多功能组件。它最实用的特性之一就是可以轻松实现各种样式的进度条显示。与传统的进度条控件相比,plus 控件的进度条功能有几个显著优…

作者头像 李华