Nordic nRF5 SDK和softdevice介绍】的更多相关文章

SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevice帮助文档在哪里?如何选择某个SDK例子 (example) 以开始我们的BLE开发之旅?本文将对以上问题进行解答. Nordic目前有2套完全独立的SDK:nRF5 SDK和nRF Connect SDK.一般来说,开发nRF51/52产品推荐使用nRF5 SDK,开发nRF91/nRF53等新…
本文将介绍Nordic nRF5 SDK软件架构以及softdevice工作原理,以加深大家对Nordic产品开发的理解,这样开发过程中碰到问题时,大家也知道如何去调试. 如果你刚开始接触nRF5 SDK,建议先看一下这篇文章“Nordic nRF5 SDK和softdevice介绍”,以建立Nordic nRF5 SDK的一些基本知识. 首先说明一下,Nordic nRF5系列产品都是使用Flash存储器的,确切说,是嵌入式可执行代码的Flash存储器,也就是说,代码是可以直接在上面运行的,这…
本文将讲述Nordic nRF5 SDK的主要调试手段,以帮助大家快速定位问题,并解决问题.一般来说,你可以通过打log方式,IDE的debug模式,SDK自带的app_error_check函数,以及命令行方式等多种手段来调试你的代码. 1. 通过打log方式进行调试 nRF5 SDK支持UART和SWD J-Link(RTT)两种底层通信方式来打印日志,SDK14之后日志也可以通过蓝牙或者Flash进行输出和存储打印,一般来说,UART和SWD用得比较多,其中UART使用串口助手来查看日志,…
一: 官网介绍地址:http://www.nordicsemi.com/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh Nordic offers a complete solution for the Bluetooth mesh specification with the nRF5 SDK for Mesh and the nRF51 and nRF52 Series SoCs. It provides a powerful solution…
官方文档教程编译源码: http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk%2Fdita%2Fsdk%2Fmesh_sdk.html&cp=4_1 Building the mesh stack The mesh library and example applications can be built using either CMake or SEGGER Embedded Studio.…
Getting started To get started, take a look at the Light switch demo. It shows how a simple application can use the mesh stack and serves as an introduction to the Bluetooth Mesh concepts and nRF5 SDK for Mesh features and APIs. Bluetooth Mesh introd…
nRF5 SDK for Mesh(六) BLE MESH 的 基础概念 Basic Bluetooth Mesh concepts The Bluetooth Mesh is a profile specification developed and published by the Bluetooth SIG. This document explains the basic concepts of the Bluetooth Mesh and gives an overview of th…
阿里云 OCS SDK for NodeJS介绍 阿里云技术团队:熊亮 阿里云 SDK for NodeJS 是为 NodeJS 开发者提供使用阿里云各项服务的统一入口,由阿里云UED团队负责开发维护.目前集成了OCS(Memcached), OSS, RDS(MySQL) 三项阿里云服务.代码地址:https://github.com/aliyun-UED/aliyun-sdk-js 使用阿里云 OCS SDK for NodeJS 接入阿里云 OCS 将会变得非常简单.当你通过试用或者购买获…
Installing the mesh toolchain To build the example applications, a toolchain based on either CMake or SEGGER Embedded Studio is required. Install instructions are provided for Windows and Debian/Ubuntu. The steps should be similar for other platforms…
1. Nordic官网及资料下载 Nordic官网主页:https://www.nordicsemi.com/,进入官网后,一般点击“Products”标签页,即进入Nordic产品下载首页,其独立链接为: Nordic产品下载链接:https://www.nordicsemi.com/eng/Products,在这个页面中,你可以下载Nordic SDK/参考设计/开发环境驱动/Nordic开发工具等等,同时这个页面也包含开发板或者芯片样品购买链接(Nordic不对外直接销售开发板和芯片,所以…
FDS,全称Flash Data Storage,用来访问芯片内部Flash的.当你需要把数据存储在Flash中,或者读取Flash中的用户数据,或者更新或者删除Flash中的数据,那么FDS模块是你最好的选择.FDS采用文件和记录方式来组织Flash数据,也就是说,真正的数据是放在一条记录中,而多条记录组成一个文件.根据应用的需要,整个系统可以只有一个文件,也可以包含多个文件.文件采用文件ID来标示,文件ID为2个字节(注:不能取值为0xFFFF).一个文件下面可以放一条记录,也可以放多条记录…
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行.可以初始化硬件设备.建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境. 在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成.在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就…
由于一些原因,Google相关很多服务都无法访问,所以在很多时候我们SDK也无法升级,当然通过技术手段肯定可以解决,但是比较麻烦,而且下载速度也不怎么样. 这里笔者介绍一个国内的Android镜像站,这样升级速度也贼快了.首先我们要感谢东软提供镜像服务器. 近来我发现一个更加简洁的方法: 1.Tools->Options 2.设置如图代理: 这样可以省去手动添加xml URL列表的烦恼.…
Light switch demo  灯开demo   Purpose This demo project consists of four sub examples - The light switch server with and without GATT proxy support, the light switch client and a provisioner example. It demonstrates the mesh eco system containing devic…
由于一些原因,Google相关很多服务都无法访问,所以在很多时候我们SDK也无法升级,当然通过技术手段肯定可以解决,但是比较麻烦,而且下载速度也不怎么样. 这里笔者介绍一个国内的Android镜像站,这样升级速度也贼快了.首先我们要感谢东软提供镜像服务器. 近来我发现一个更加简洁的方法: 1.Tools->Options 2.设置如图代理: 这样可以省去手动添加xml URL列表的烦恼. 镜像相关的地址: http://mirrors.neusoft.edu.cn/android/reposit…
它的源代码和头文件分别为app_timer.c/app_timer.h.这是Nordic为我们提供的虚拟定时器,这个定时器不同于硬件上的TIMER,而是基于RTC1实现的一种虚拟定时器,其将定时功能作为了一个资源进行管理,所以会有初始化.创建等过程.    nrf51822的SDK采用封装思想,需要暴露给用户的信息都在相关模块的头文件中:为了提醒用户不去看具体实现细节,我们可以发现相关的API,比如app_timer_create()的源码部分都是没有接口描述信息的,相关使用方法需要看app_t…
Android SDK目录的具体结构: 1.add-ons:该目录下存放第三方公司为Android平台开发的附加功能系统. 2.build-tools:编译工具.保存着一些通用工具,比如aapt.aidl.dx等文件. 3.docs:该文件夹下存放了Android SDK开发文件和API文档等. 4.extras:该文件夹下存放了Google提供的USB驱动.Intel提供的硬件加速等附加工具包. 5.platforms:该文件夹下存放不同版本的Android系统. 6.platform-too…
Android SDK目录下有很多文件夹,主要都是干什么的呢? 1. add-ons 这里面保存着附加库,比如Google Maps,当然你如果安装了Ophone SDK,这里也会有一些类库在里面. 2. docs 这里面是Android SDK API参考文档,所有的API都可以在这里查到. 3. market_licensing 作为Android Market版权保护组件,一般发布付费应用到电子市场可以用它来反盗版. 4. platforms 是每个平台的SDK真正的文件,里面会根据API…
The mesh architecture   The mesh stack consists of a number of subsystems that are interfaced through a set of API modules. The API modules hide the complexity of their subsystems. The functionality provided in the API is sufficient to make a functio…
Basic Bluetooth Mesh concepts The Bluetooth Mesh is a profile specification developed and published by the Bluetooth SIG. This document explains the basic concepts of the Bluetooth Mesh and gives an overview of the operation and capabilities of the p…
app_timer是大家经常用到的一个库,app_timer的功能就是定时,也就是说,你在某一时刻启动一个app timer并设定超时时间,超时时间一到,app_timer就会回调timeout handler,然后执行你需要的工作.使用app_timer时有如下几点需要注意: app_timer底层使用的是RTC1,而不是timer1/2/3/4,所以app_timer的功耗非常低:0.1uA左右. app_timer计时精度为1ms,也就是说,app_timer只能计时毫秒的倍数,如果你的计…
镜像的验证 在执行设备固件更新之前,应验证新映像. 在传输实际固件(预验证)之前,可以检查某些信息(例如,兼容性). 其他信息,例如图像的散列,应在传输(验证后)后进行验证. Init packet 执行DFU时,必须提供包含固件映像的包(zip格式),init数据包和指示包格式的清单文件. init数据包包含有关用于验证映像的固件映像的信息,必须对其进行签名以确保更新来自受信任的源. init数据包的所需内容在协议缓冲文件dfu-cc.proto中定义. 在验证init数据包期间,将检查ini…
Exploring Mesh APIs using light switch example The light switch example is meant to showcase the APIs for the provisioner and provisionee roles and how a simple Bluetooth Mesh network may be set up and configured. The network consists of one static p…
DFU控制点特性用于控制DFU过程的状态. 通过写入该特征来请求所有DFU程序. 标记过程结束的响应将作为通知收到. BLE传输 Transfer of an init packet DFU控制器首先检查init数据包是否已成功传输. 如果没有,DFU控制器检查它是否已部分转移. 如果已经传输了一些数据,则继续传输. 否则,DFU控制器发送Create命令以创建新数据对象,然后传输init数据包. 当init数据包可用时,DFU控制器发出Execute命令以启动init数据包的验证. Trans…
NRF52832 SDK15.3.0 概述: 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(有时候大家也将OTA称为FOTA).DFU除了可以通过无线方式(OTA)进行升级,也可以通过有线方式进行升级,比如通过UART,USB或者SPI通信接口来升级设备固件. 不管采用OTA方式还是有线通信方式,DFU包括后台式(background…
摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程希望你和我一样采用有log的bootloader进行.可以看到执行流程,也能在出错时进行检查. 1.生成秘钥(一定要保留好) 2.生成USB或者UART的BootLoader程序(需要算法库和秘钥) 3.生成APP工程 4.合成初始的固件.并下载到相应的硬件 5.生成需要更新的APP固件 6.合成升…
在我们开始前,默认你已经安装好了一些基础工具,如nrfutil,如果你没有安装过请根据官方中文博客去安装好这些基础工具,连接如下:Nordic nRF5 SDK开发环境搭建(nRF51/nRF52芯片平台) - iini - 博客园 (cnblogs.com) 本文只是对整个升级过程进行一次完整操作,以及其中可能出错的地方进行记录,如果你想知道具体原理,那么请你看官方中文博客的两篇文章,如果仅仅只是基于SDK,那么你参考第一篇即可,如果你需要在NCS上进行请参考第二篇,相信你在看了该博客后会对D…
本文将和大家一起编写我们的第一个BLE应用程序:Blinky(闪灯程序),哪怕你之前没有任何BLE开发经验,也不用担心,只要跟着文中所述步骤,你就可以一步步搭建自己的第一个BLE应用程序.通过这个Blinky程序的搭建,你将体会到BLE的一些基本概念,对BLE将会有一个非常直观的认识,为后续自己的BLE应用程序开发打下一个坚实的基础. 1. 开发准备 1)     nRF52或者nRF51开发板1块.请参考"Nordic nRF51/nRF52开发流程说明",购买相应开发板(DK).…
如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank)DFU?什么叫后台式(background)DFU?本文将对上述问题进行探讨. 1.概述 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(…
本文将介绍Nordic官方网络资源,包括Nordic官网,开发者论坛(devzone),以及Nordic在GitHub上的共享资源. 1. Nordic官网(产品/SDK/工具/文档库) Nordic官网主页:https://www.nordicsemi.com/,界面如下所示.可以看出,Nordic官网有四个主入口:搜索,Products(Nordic是一家芯片公司,产品就是芯片啦),software and tools,以及Documentation(也称为Doclib). 搜索 一般来说,…