NCS开发学习笔记-基础篇-前言
nRF5 SDK 与 nRF Connect SDK
目前Nordic有2套并存的SDK:老的nRF5 SDK和新的nRF Connect SDK(简称NCS),两套SDK相互独立。
nRF5 SDK
是nordic的上一代SDK,基于ARM的CMSIS框架,主要支持支nRF51、nRF52、nRF53等。提供了多种功能模块,包括蓝牙协议栈(SoftDevice)、外设驱动、无线协议栈、应用程序示例等。它支持多种开发环境,如 Keil、GCC 和 IAR。SDK 的结构清晰,模块化设计,方便开发者根据需要选择和使用不同的功能模块。但是已经不对蓝牙的性特性进行支持了。只是进行维护。
nRF Connect SDK (NCS)
是nordic的最新SDK,基于Zephyr RTOS可扩展的统一软件开发套件,用于构建基于所有 nRF52、nRF53、nRF54, nRF70 和 nRF91 系列无线设备的产品。它为开发人员提供了一个可扩展的框架,用于为内存受限的设备构建尺寸优化的软件,以及为更高级的设备和应用程序构建强大而复杂的软件。它集成了 Zephyr RTOS 和各种示例、应用程序协议、协议栈、库和硬件驱动程序。
为了开发低功耗蓝牙、Wi-Fi、蓝牙mesh网络、Thread、Zigbee 和 Matter 产品,nRF Connect SDK 包含所有需要的软件,包括协议栈。ANT 支持nRF5340 SoC。
总结
如果是刚开始接触Nordic的开发,nRF Connect SDK (NCS) 是一个非常好的起点。如果你想使用蓝牙的新特性(>5.0)或者想使用Nordic的新产品来构建的的项目,那么NCS开发是你应该掌握的一个知识点。
它提供了一个全面的开发环境,支持多种无线协议和应用场景,并且基于Zephyr RTOS,具有高度的可扩展性和灵活性。以下是一些关键特点:
- 多协议支持:支持蓝牙、Wi-Fi、蓝牙mesh网络、Thread、Zigbee 和 Matter 等多种无线协议。
- 低功耗设计:针对低功耗应用进行了优化,适用于电池供电的设备。
- 原始操作系统支持:基于开源的Zephyr RTOS
- 丰富的示例和文档:提供了大量的示例代码和详细的文档,帮助开发者快速上手。
- ANT 支持:nRF5340 SoC 支持ANT协议,扩展了设备的应用场景。
- 安全性:内置了多种安全功能,如安全启动、安全引导、安全存储和加密通信。
- 多核支持:nRF5340 SoC 是双核处理器,支持多核编程,提高了系统的处理能力和响应速度
过以上内容,大家应该了解了nRF5 SDK和NCS的区别,以及为什么要学习NCS开发。
本学习笔记将跟随官方开发者学院的教程,一步一步来认识和学习NCS。
NCS开发学习笔记-基础篇-前言的更多相关文章
- iOS开发学习笔记:基础篇
iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
- java学习笔记-基础篇
Java基础篇 1—12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28—31异常 1—12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...
- Java学习笔记——基础篇
Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package) ...
- Python学习笔记——基础篇【第四周】——迭代器&生成器、装饰器、递归、算法、正则表达式
目录 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 #作业:计算器开发 a.实现加减成熟及 ...
- Python学习笔记——基础篇【第六周】——面向对象
Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 同时可参考链接: http:// ...
- Python学习笔记基础篇-(1)Python周边
一.系统命令 1.Ctrl+D 退出Python IDLE input方法中输入EOF字符,键入Ctrl+D 2.命令行选项: -d 提供调试输出 -O 生成优化的字节码(.pyo文件) -S 不 ...
- Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...
- Python学习笔记——基础篇【第七周】———FTP作业(面向对象编程进阶 & Socket编程基础)
FTP作业 本节内容: 面向对象高级语法部分 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 参考:http://www.cnblogs.com/wupeiqi/ ...
随机推荐
- iaas,saas,paas,daas区别:
iaas,saas,paas,daas区别: Iaas(Infrastructure as a server):基础设施即服务,是基础层.PaaS(Platform as a Server):平台即服 ...
- Qt编写安防视频监控系统44-视频上传
一.前言 视频上传用来将本地存储的视频文件上传到云端服务器,间接的实现了本地视频存储到云端的功能,其实本质上是先存储在本地,文件生成后再去上传到云端的,最终的效果一样就是,为了拓展兼容性,直接做了单独 ...
- 详解AQS四:ReentrantLock条件队列原理
ReentrantLock的条件队列是实现"等待通知"机制的关键,之前在<java线程间通信:等待通知机制>一文中讲过了使用ReentrantLock实现多生产者.多消 ...
- Cesium 在线地图访问总结
参考:https://deyihu.github.io/src/maptalks-tileLayercollection/examples/?tdsourcetag=s_pcqq_aiomsg 以下u ...
- Vue cli 2.x 3.x及4.x区别
原文链接: 1.Vue cli 2.x 3.x及4.x区别 2.vue-cli2.0/3.0/4.0创建项目的方式差异解读和vue-cli4.0打包命令和环境配置
- C#中字符串格式化string.Forma中需要使用t转义字符的情况处理
此处汇总一下C#中字符串格式化string.Forma中需要使用t转义字符的情况处理. 1.C# string.Format() 方法中占位大括号的外面还有大括号,此时就需要使用转义大括号{}. 处理 ...
- kubernetes系列(七) - Pod生命周期
目录 1. pod生命周期 2. initC 2.1 initC介绍 2.2 initC的作用 2.3 initC的模版 2.4 initC的一些其他补充 3. Pod健康性检查(liveiness) ...
- C Primer Plus 第6版 第四章 编程练习参考答案
编译环境VS Code+WSL GCC 源码请到文末下载 /*第1题*************************/ #include<stdio.h> int main() { ch ...
- C Primer Plus 第6版 第七章 编程练习参考答案
编译环境VS Code+WSL GCC 源码请到文末下载 . 注意:本章部分题目有些超纲(回用到函数调用),不理解的同学可以先去看一下后面的知识点和注释. /*第1题***************** ...
- react之Lazy和Suspense(懒加载)
React.lazy React.lazy 函数能让你像渲染常规组件一样处理动态引入(的组件). 什么意思呢? 其实就是懒加载. 其原理就是利用es6 import()函数.这个import不是imp ...