Nordic开发生态全景解析:从nRF5 SDK到nRF Connect SDK
发布于 2025-02-28 23:30:34(微信公众号导出记录)。
本文来自公众号后台的“导出文章内容”功能。博客正文由导出长图进行本地 OCR 转写,并保留原始排版图用于逐段核对。
原文链接:查看原文
OCR 转写有效文字约 5112 字;代码、流程图和版式以文末原始排版图为准。
正文(本地 OCR 转写)
在物联网和低功耗无线通信领域,NordicSemiconductor作为行业领导者,提供了 两套主要的软件开发工具:传统的nRF5SDK和现代化的nRF Connect SDK。这两套 开发环境有着不同的架构理念、功能特点和运适用场景。本文将系统地梳理Nordic的开 发生态,帮助开发者选择最适合自己项目的开发路径。
一、nRF5 SDK17.0.2详解
nRF5 SDK是Nordic较早推出的开发套件。采用传统的单体死构设计。主要针对nRF5系列芯片。为提 机开发或搭配FreeRTOS使用而设计。
1.目录结构与功能组织
nRF5SDK的目录结构按照功能和协议类型进行分类。清晰直观:
1.1无线协收相关目录
ble_peripheral:外图设备角色的示例应用
-
bleapptenpLate:基酯项目模板
-
bleappblinky:简单LED控制示例
bLeappuart: BLE-UART
-
bleapphrs:心率服务
-
bleapphics_keyboard/mouse: HID设鲁实现
-
其他标准服务实现(血魅、血压、温度计等)
ble_central:中央设备角色的示例应用
- blcapphrs_c:心率服务客户端
bLeappuart_c: UART客户端
- blcapmultilink_central:多连接中央设备
blecentraland_peripheral:混合角色设备
- ant:ANT议相关示例
ant broadcast: 广播功能 ant_plus: ANT+标准实现 ant_fs:文件系统功能
-
antsearchsharing等盛级功能
-
nfc:近场通信实现
recordtext、recordurl等基强功能
- adafruittagrender:标签说取
802154:IEEE 802.15.4议支持 proprietary_rf: Nordic专有无线协议 esb: Enhanced ShockBurst
- gzl1: Gazell协议
1.2功能组件与外设目录
peripheral:丰富的外设驱动示例
- uart、sp1、12c、tvi等通信接口
pm、tiner、rtc等计时控制功能 flash、qsp1等存储接口
- blinky等基础示例
crypto:加密与安全功能
- dfu:设备国件升级
secure_bcotloader:安全启动
-
open_bootloadcr:开敏式启动
-
dtn:直接测试模式
multiprotocol:多诗议并存示例
1.3硬件支持
每个示例通常包含针对不同开发板的子目录: pca16640: nRF52832开发板
- pca10656:nRF52840开发板
pca16640e: nRF52818开发板
- pca10056e:nRF52811开发板
pca16859: nRF52840 US8 Dongle
- pca10180:nRF52833升发板
2.SoftDevice详解
SoftDevice是Nordic的专有协议栈,以预编译二进制形式提供,运行在应用程序之下,提供无线通 信功能。
2.1 5oftDevice 5112 (版本7.2.8)
■定位:内存优化的外图设备专用BLE协议栈
- 适用芯片: nRF52805、 nRF52818、nRF52811、nRF52820, nRF52832
■特点:资源占用少,仅支持外围角色
- 适用场景:葡单客器,遥控器等资源受限设备
2.2 5oftDevice S113 (版本7.2.0)
-
定位:内存优化的外图设备专用BLE协议税
-
适用片:nRF52805至nRF52848全系列
-
特点:支持更多芯片,功能仍聚焦于外围角色
-
适用场景:与S112英似,但硬件选择更灵活
2.3 5oftDevice 5122 (版本s.0.8)
-
定位:内存优化的中央设备专用BLE协议核
-
适用芯片:nRF52811、nRF52828、nRF52833
■特点:针对中央角色优化
- 适用场景:网关、控制器等需连接多个外围设备的应用
2.4 5oftDevice 5132 (版本7.2.0)
定位:高性能的中央和外图双角色BLE协议栈
- 适用芯片:nRF52816、nRF52832
特点:支持同时作为中央和外图设备
- 适用场景:需要角色切换的设备,如智能手表
2.5 5oftDevice S14θ (版本7.2.0)
-
定位:功能丰富的中央和外围双角色BLE协议栈
-
适用著片: nRF52811、 nRF52828、 nRF52833. nRF52840
-
特点:5132的增强版,支持更多喜芯片
适用场景:复杂设备,如医疗设备、高端穿敷设备
2.6 5oftDevice 5212 (版本6.1.1)
-
定位:ANT协议核实现
-
适用片:nRF52816、nRF52832
■特点:支持所有ANT助能和网络拓扑
- 适用场景:运动健身设备、心率监测器等
二、nRF Connect SDK详解
nRF Connect SDK是Nordic较新的开发套件,基于Zephyr RTOS构建。采用模块化设计。支持更 广泛的芯片系列和更多的无线协议。
1.核心特点
从官方文档中可以看出,nRF Connect SDK具有以下核心特点:
-
基于Zephyr RTOS:集成了开源实时操作系统,提供任务调疫、电源管理等功能
-
开源基础:与Zephyr一样,基于开源项目构證
-
中间件与安全性:包含QTT、CoAP、LaM2M等中间件,以及Trusted Firmare-M等安全组件
-
预认证库:提供预认证的优化库,包延SoftDevice、Matter,Thread等
-
事富的连接性支持:支持盐牙、Mesh、ANT、LTE-M/NB-IoT、DECT NR+、Matter、Thread、Wi-
F1等
-
远程可观测性:支持远程调试、监控和FOTA(空中固件升级)
-
可扩展:支持out-of-tree开发,适用于各种规模的项目
-
第三方集成:与An5、nRF Cloud、Mcnfault等集成
-
多样化参考设计:从HID设备到音预设备的高级硬件参考设计
2.目录结构
从G1tHub仓库可以看出,nRF Connect SDK的月录结构如下:
- applications: 成熟的应用示例,如nrf_desktop
samples:按功能和协议分类的示例代码 subsys:子系统,是供各和功能模块
-
Lib:可重用的库函数
-
include:头文件
-
drivers:设备驱动
modules:外部模块。如TF-H
- boards:开发板支持文件
dts:说备树堤范
- cmake:构注系统配置
sysbuild:系统构题工具
- config:配置文件
scripts:构胞和工具即本
- doc:文档
tests:测试用例 ext:外部依观项
- zephyr:Zephyr RTOS聚成
3.支持的硬件平台
nRF Connect SDK支持亚广泛的Nordic芯片系列: nRF52系列: nRF52818/820/832/833/848等
-
nRF53系列: nRF5346 (应用核和网络核)
-
nRF54系列: nRF54L15、nRF54H2e等新—代芯片
nRF70系9: nRF7802 (IW1-F1)
- nRF91系列: nRF916B, nRF9161 (蜂案IoT )
三、两套SDK的深度对比与选择指南
1.架构理念对比
nRF5 SDK:
- 传统的单体架构
南向视机或轻量缓RTOS(如FreeRTOS)开发
- 示例代码直接、易于理解
使用留编译的SoftDevice提供无线物议栈
- 技示例和协议组织代码
nRF Connect SDK:
- 现代化的模块化架构
基于Zephyr RTOS构腿
- 使用设备树指述硬件
■采用Kconfig系统配置软件组件
- 使用vest工具管睡项目
2.功能能力对比
nRF5 SDK:
-
专注于nRF5系列芯片
-
提供基础的BLE、ANT、NFC等无线协议支持
依额SoftDevice提供协议核功能
- 示例丰富但集成度较任
nRF Connect SDK:
- 支持nRF5/nRF53/nRF54/nRF78/nRF91全系列
提供更广泛的协议支持。包括Thread,Zigbee、Matter等
- 集成了Zephyr生态系接的所有功
■支持蜂寓IaT和Wi-Fi等高级连接方式
- 提供亚完善的安全特性和认证支持
3.开发流程对比
nRF5SDK开发流程:
1.复制量接近需求的示例项目
2.配置SoftDevice和应用程序
3.修改代码实现自定义功能
4. 使用IDE (如SES、Kei1、IAR) 编译和调试
nRF Connect SDK开发流程:
1.使用uest工具初始化工作区
2.选择合适的示例作为起点
3.通过Kcanfig和设备树配置硬件和软件
4.使用CMake构建系统编译
5.可快用vS Cade+nRF Cannect插件或命令行开发
4,适用场景与选择指南 选择nRF5SDK的场景: 简单的独立应用。不需要RTOS
- 资应极其有限的设备
■学习藏入式开发的初学者
- 维护已有的基于nRF5 SDK的项目
■仅需基础LE功能的应用 选择nRF Connect SDK的场景:
-
需要RTOS功能的复杂应用
-
需要支持量斯芯片系列(nRF53/54/76/91)
-
需要高级连接胁议(Thread/Natter/Wi-Fi)
-
希望利用开源生态系统的优募
-
关注安全性和可认证性的产品
■长期维护的商业产品
四、开发最佳实践
1.nRF5 SDK开发建议
- 从简单示例入手:先从blinky等基础示例开始,了解5DK结构
理解SoftDevice:熟悉SoftDevice的配置和事件处理机制
- 选择合适的SoftDevice:
■仅需外图设备功能:S112/S113
-
需要中央设备功能:S122
-
需要双角色:5132/S148
-
需要ANT物议:S212
-
示例驱动开发:基于与需求最接近的示例账改,登免从零开始
-
关注事件处理:BLE应用的核心是事件驱动模型,重点注解事件处理流程
2.nRFConnectSDK开发建议
■掌握Zephyr基础:学习Zephyr的线程、信号量等RToS概念
-
理解设备树:掌握设备树描述硬件的方法
-
熟悉Kconfig系统:了解如何通过Kconfig配置软件组件
-
使用West工具:学习West命令管理项目
■从样例学习:nRFConnectSDK有丰富的样例,从中学习各功能模块的使用 ■关注测试用例:测试用例通常包含模块使用的最简实现
- 善用命令行工具:熟悉构建和烧录的命令行工具,提高效率
3.迁移策略
如果需要从nRF5SDK迁移到nRFConnectSDK:
1.先理解应用的核心功能和工作流程
2.寻找nRFConnectSDK中的对应功能模块
3.从简单功能开始重构,逐步替换复杂功能
4.利用nRFConnectSDK的示例作为参考
5.适应基于Zephyr的事件处理和线程模型
6.重新设计硬件抽象层,利用设备树
五、未来发展趋势
从Nordic的产品路线来看,未来的发展趋势非常明确:
1.nRFConnectSDK是未来主力:
■所有新芯片系列(nRF53/54/70/91)只支持nRFConnectSDK ■新的协议和功能优先添加到nRFConnectSDK
1.nRF5SDK进入维护阶段:
■仍会维护以支持已有产品
- 不会添加重大新功能
■长期来看将逐渐被淘汰
1.Zephyr生态系统的重要性增加:
■越来越多的功能将基于Zephyr实现 ■与Zephyr社区的协作将加强
1.更强调安全性和认证:
- 安全启动、加密、安全存储等功能成为标准
■预认证组件将继续扩展
1.多协议融合:
■不同无线技术的协同工作将成为主流 ■统一的软件架构支持多种协议 结语 Nordic的开发生态从传统的nRF5SDK向现代化的nRFConnectSDK演进,反映了嵌入式系统开发 的整体趋势:从简单的裸机编程向基于RTOS的模块化开发转变。 对于开发者而言,选择合适的开发平台应基于项目需求、团队经验和长期规划。如果是短期项目或学习 目的,nRF5SDK凭借其简单直观的特点仍是不错的选择;而对于商业产品或需要长期支持的项目, nRFConnectSDK无疑是更具前瞻性的选择。 无论选择哪种开发路径,Nordic都提供了丰富的文档、示例和工具,帮助开发者高效地实现低功耗无 线应用。了解两套SDK的优缺点和适用场景,就可以在Nordic生态系统中找到最适合自己的开发之 路。 最重要的是,持续学习和适应新工具将是在快速发展的嵌入式和IoT领域保持竞争力的关键。Nordic 的开发生态正在不断演进,紧跟其步伐将为待开发的项目带来更多可能性。
收录于低功耗
原始排版图

