3. nRF开发环境与工具链搭建

nRF 系列芯片的开发并不是“装一个 IDE 就能跑”的单一工具场景,而是由多个工具分工协作构成的工具链。理解每个工具在链路中的位置,比记住安装步骤更重要。本节围绕 nRF Connect SDK(NCS)、Segger Embedded Studio(SES)、nRF Util 和 nRF Connect for Desktop 四件套,说明它们各自负责什么、如何安装配置,以及如何从零创建一个可编译、可烧录的工程。

一、四个工具在链路中的分工

先建立整体认识:nRF Connect SDK 是软件开发套件,包含 Zephyr RTOS、协议栈、驱动、示例工程和构建系统(基于 CMake + west);Segger Embedded Studio 是集成开发环境,负责代码编辑、编译、调试和下载;nRF Util 是命令行工具,负责固件打包、DFU 升级包生成、设备信息读取等;nRF Connect for Desktop 是图形化桌面工具集,内含 Programmer、RTT Viewer、Bluetooth Low Energy 等应用,用于烧录、日志查看和射频调试。四者关系可以用下面的结构图表示。

nRF 开发工具链分工与协作关系 nRF Connect SDK Zephyr RTOS + 协议栈 驱动 / 示例 / west 构建 提供源码与构建系统 Segger Embedded Studio 代码编辑 / 编译 / 调试 J-Link 下载与断点 工程打开与构建入口 nRF Util 命令行工具 DFU 包生成 / 设备信息 固件打包与升级 nRF Connect for Desktop Programmer 烧录 RTT Viewer 日志 BLE 射频调试 源码/构建 打包 烧录/调试

二、nRF Connect SDK 的安装与 west 工作区

NCS 推荐通过 nRF Connect for Desktop 中的 Toolchain Manager 安装,也可以手动用 west 命令行搭建。安装完成后,核心是得到一个“west 工作区”,目录结构大致如下:

ncs/
├── nrf/                 # NCS 主仓库(含 Zephyr、nrfxlib、示例)
├── zephyr/              # Zephyr RTOS 源码
├── modules/             # 各模块(hal、crypto、mcuboot 等)
├── tools/               # 工具链
└── .west/               # west 配置

安装后需要设置环境变量。在 Windows 上通常由 Toolchain Manager 自动完成;在 Linux/macOS 上手动执行:

west init -m https://github.com/nrfconnect/sdk-nrf --mr v2.6.0 ncs
cd ncs
west update
west zephyr-export

其中 west init 指定 NCS 版本,west update 拉取所有子模块,west zephyr-export 注册 Zephyr CMake 包。完成后可用 west --version 和 west list 验证工作区是否完整。

三、Segger Embedded Studio 的配置

SES 是 Nordic 官方推荐的 IDE,安装时需选择与 NCS 匹配的版本(如 SES 7.32 对应 NCS 2.6)。安装后关键配置有三处:

  • 工具链路径:在 Tools → Options → Building 中确认 GCC 路径指向 NCS 自带的 arm-zephyr-eabi 工具链,而不是 SES 内置的编译器。
  • J-Link 驱动:安装 SEGGER J-Link 软件包,确保调试器能被识别。
  • nRF Connect 插件:在 SES 中安装 nRF Connect 扩展,才能直接打开 NCS 工程并识别 west 构建系统。

配置完成后,SES 可以直接打开 NCS 示例工程,例如 ncs/nrf/samples/bluetooth/peripheral_uart,选择 board 为 nrf52840dk_nrf52840,点击 Build 即可编译。

四、nRF Util 与 nRF Connect for Desktop 的安装

nRF Util 是独立命令行工具,安装方式因平台而异。Windows 下可下载安装包,Linux/macOS 下推荐:

# 安装 nrfutil
curl -L https://developer.nordicsemi.com/.udl/nrfutil/install.sh | bash
# 安装 device 命令(用于设备信息读取)
nrfutil install device
# 安装 nrf5sdk-tools(用于 DFU 包生成)
nrfutil install nrf5sdk-tools

nRF Connect for Desktop 是图形化工具集,安装后需在应用商店中按需安装 Programmer、RTT Viewer、Bluetooth Low Energy 等应用。Programmer 用于烧录 hex 文件,RTT Viewer 用于查看日志,BLE 应用用于扫描和连接。

五、从零创建一个可编译工程

以 nRF52840 DK 为例,创建一个蓝牙外设工程并编译烧录,完整流程如下:

  1. 打开 SES,选择 File → Open nRF Connect SDK Project。
  2. SDK 路径选择 ncs/nrf,工程路径选择 ncs/nrf/samples/bluetooth/peripheral_uart。
  3. Board 选择 nrf52840dk_nrf52840,Build 目录可自定义为 build。
  4. 点击 Build,等待编译完成,生成 zephyr.hex。
  5. 用 USB 连接 DK 板,在 SES 中点击 Debug → Download 烧录。
  6. 打开 nRF Connect for Desktop 的 RTT Viewer,连接设备,查看日志输出。

如果编译报错,常见原因是工具链路径未设置或 west 工作区未更新。可先在命令行执行 west build -b nrf52840dk_nrf52840 验证工程能否编译,再回到 SES 排查。

提示:NCS 版本与 SES 版本必须匹配。例如 NCS 2.6 推荐 SES 7.32,NCS 2.5 推荐 SES 7.20。版本不匹配时,SES 可能无法识别工程结构或编译失败。
注意:不要混用 nRF5 SDK 和 nRF Connect SDK 的工程。nRF5 SDK 是旧版 SDK,使用 Keil/IAR/SES 传统工程结构;NCS 基于 Zephyr,使用 CMake + west 构建。两者工具链和目录结构完全不同。

六、验证工具链是否就绪

完成安装后,建议按以下顺序验证:

检查项命令/操作预期结果
west 工作区west list列出 nrf、zephyr、modules 等仓库
工具链arm-zephyr-eabi-gcc --version显示 GCC 版本号
SES 编译Build 示例工程生成 zephyr.hex,无报错
烧录Programmer 或 SES Download设备识别,烧录成功
日志RTT Viewer 连接看到串口日志输出

以上五步全部通过,说明 nRF 开发环境已经搭建完成,可以进入后续的协议栈配置、功耗测试和认证准备阶段。