BLE空中升级 谈(一)】的更多相关文章

BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项(续) TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有 编号 名称 Hex 用法 1 Cc2540 dongle CC2540_USBdongle_HostTestRelease_All.hex 直接插在电脑上使用,驱动程序是ccxxxx_usb_cdc,usb作为CDC串口使用. 2 Cc2541 module CC2541_SmartRF_HostTestRelease_All.hex 需要…
BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项 现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里不谈论它是满足所谓的刚性需求.许多新(shan)创(zhai)公司做的产品就只能凭一面之缘了,要是喜欢你就买下,反正后面觉得哪里不好,用着不爽就扔掉便是,看官自是不缺这几十一百块钱.比如像小米的一代手机 Mi BNAD(现售69),电子称Mi Scale(现售99).虽说便宜事实上这确是匠心之作,就本人了解,从空…
如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank)DFU?什么叫后台式(background)DFU?本文将对上述问题进行探讨. 1.概述 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(…
空中升级又叫固件升级,指你手机从服务器下载下来的包或者数据,通过蓝牙传输给你的外设升级固件.如果你能把蓝牙的基础搞懂,其实也并不是很难,我在这里只不过提供一下思路. 空中升级略难的地方在于数据处理和交互,尤其要以怎样简单完整的代码来实现数据的读写是重点,这就需要你和硬件工程师的交流和你自己的逻辑思维了. 在上代码以前,说一下有关蓝牙的传输速度的,因为我开发中碰到较大数据的传输,着实害我费了很多脑筋. 蓝牙数据传输中有连接延迟.其是为了低功耗考虑,允许从机在跳频过程中不理会主机的跳频指令,继续睡眠…
如何在nRF Connect SDK(NCS)中实现蓝牙空中升级?MCUboot和B0两个Bootloader有什么区别?MCUboot升级使用的image格式是怎么样的?什么是SMP协议?CBOR编码如何解读?NCS可不可以进行单bank升级?可不可以把一个nRF5 SDK应用升级到NCS应用?MCUboot拷贝操作中的swap和overwrite有什么区别?为什么说MCUboot升级永远都不可能变砖?本文将对以上问题进行阐述. 目录 1.概述 先讲一下DFU和OTA的概念.DFU(Devic…
BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(packet)涉及BLE协议栈link layer,L2CAP,SMP和ATT等各层次,但link layer跟空中包格式关系最紧密,掌握了BLE packet的格式,就很容易理解BLE link layer协议的工作原理,因此文章取名"详解BLE空中包格式-兼BLE link layer协议解析&qu…
dfu升级适用于nordic  nRF51  nRF52 的系统,github上提供了相关升级的库https://github.com/NordicSemiconductor/Android-DFU-Library 支持 Android 4.3+ gradle配置如下: implementation 'no.nordicsemi.android:dfu:1.8.1' 在使用前请先配置好BLE的相关权限以及动态权限 读写权限 定位等可以使用EasyPermission配置 <uses-permis…
准备需要加入DFU功能的工程 在工程main文件services_init函数中加入DFU服务 uint32_t err_code; // Initialize the async SVCI interface to bootloader. err_code = ble_dfu_buttonless_async_svci_init(); //APP_ERROR_CHECK(err_code); if(NRF_ERROR_NO_MEM != err_code) { ble_dfu_buttonle…
下面是基础软件的安装:[抄袭他人所得] 1.安装Python软件,建议版本2.7.9及以上,不超过3.0版本[以下安装步骤需要联网]2.安装Python的pip模块,通过命令提示符进入到Python的安装目录,在命令提示符中输入命令“python.exe -m pip install SomePackage”进行安装(如图1),如果需要更新则按照命令提示符的提示输入命令进行更新, 更新命令应该是“python.exe -m pip install --upgrade pip”,[不同版本命令不同…
上一篇配置好了开发环境,现在就可以试着跑一下例程了,这里需要两个例程,一个是bootloader的,一个是应用程序的,其路径分别为: bootloader:SDK_14.2.0工程\examples\dfu\bootloader_secure_ble\pca10040\arm5_no_packs 应用程序:SDK_14.2.0工程\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040\s132\arm5_no_packs 这里用到了一些工…
Secure DFU环境搭建 升级原理,加密原理在此不做描述,详情参考http://www.cnblogs.com/iini/p/9314246.html 1.工具一览 gcc-arm-none-eabi编译环境:GCC编译环境 https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads mingw 平台(win版的Linux命令行) https://sourceforge.net/projects/mingw/fil…
准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好.我这里只是把步骤列出来,仅供参考 安装软件: 安装"make"编译环境 1,双击"make-3.81.exe"安装(下载地址http://gnuwin32.sourceforge.net/packages/make.htm) 2,双击"coreutils-5…
蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b…
转载来至beautifulzzzz,网址http://www.cnblogs.com/zjutlitao/,推荐学习 蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的…
NRF52832 SDK15.3.0 概述: 所谓DFU(Device Firmware Update),就是设备固件升级的意思,而OTA是DFU的一种类型,准确说,OTA的全称应该是OTA DFU,只不过大家为了方便起见,直接用OTA来指代固件空中升级(有时候大家也将OTA称为FOTA).DFU除了可以通过无线方式(OTA)进行升级,也可以通过有线方式进行升级,比如通过UART,USB或者SPI通信接口来升级设备固件. 不管采用OTA方式还是有线通信方式,DFU包括后台式(background…
空中包格式 BLE链路层的空中包格式非常简单,它所有的空中包都遵循下图所示的格式: 有上图可见,BLE空中包由4个部分组成,他们分别是: 前导码(Preamble) 访问地址(Access Address) 协议数据单元(Protocol Data Unit) CRC 前导码占1个字节,访问地址占4个字节,PDU占2到257个字节,CRC占3个字节,一个完整的空中包大小为10个字节到265个字节之间 LSB(The Least Significant)表示最低有效位:MSB(The Most S…
如何开发BLE数据透传应用程序?什么是BLE service和characteristic?如何开发自己的service和characteristic?如何区分ATT和GATT?有没有什么工具可以对BLE设备进行压力测试?如何提高BLE设备的数据上传速度?本文将对以上问题进行解答. 在很多应用场合,BLE只是作为一个数据透传模块,即将设备端数据上传给手机,同时接收手机端下发的数据.本文将和大家一起,一步一步演示如何开发一个BLE透传应用程序.按照本文的说明,大家可以很快就实现一个BLE透传应用,…
详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html 详解BLE 空中包格式—兼BLE Link layer协议解析https://www.cnblogs.com/iini/p/8977806.html 开发你的第一个BLE应用程序—Blinkyhttps://www.cnblogs.com/iini/p/8996025.html 手把手教你开发BLE数据透传应用程序.https://www.cnblogs.com/iini/p/90956…
android-dfu-library是nordic提供的对nRF5x芯片固件进行空中升级的库,地址是https://github.com/NordicSemiconductor/Android-DFU-Library 如果你的项目已经兼容了andoridx请使用1.9.0 否则请使用1.8.1 具体使用方法可以参考文档:https://github.com/NordicSemiconductor/Android-DFU-Library/blob/release/documentation 使用…
摘要:在前面的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…
转:http://blog.csdn.net/yueqian_scut/article/details/50849033 固件空中升级(OTA)与固件二次引导的原理和设计 原创 2016年03月10日 18:31:33 标签: OTA / DA14580 / 二次引导 / 固件空中升级 / 蓝牙 4952 蓝牙固件空中升级(OTA)涉及到蓝牙无线通信.固件外存分布.固件内存分布(定制链接脚本).固件二次引导等技术,需要开发人员深入理解蓝牙单芯片的存储架构.启动引导流程.外存设备驱动和产品电路设计…
不积跬步,无以至千里: 不积小流,无以成江海. 出自荀子<劝学篇> 1.概念解释 OTA是何物? 英文解释为 Over The Air,既空中下载的意思,具体指远程无线方式,OTA 技术可以理解为一种远程无线升级技术: FOTA:Firmware OverThe Air/固件空中升级,通过云端为具有连网功能的设备:例如手机.平板电脑.移动互联网设备等提供固件升级服务,手机中的固件升级即可称为 FOTA: 在3G.4G网络普遍的今天,很多时候还是要考虑流量限制,如果步入5G时代,虽然流量已不在是…
无线通信技术自19世纪中期诞生以来,从使用狼烟.火炬.闪光镜.信号弹等在视距内传输信息,到1838年塞缪尔・莫尔斯发明电报网,再到电报网被电话取代,再到几十年后的1895年马可尼首次从英国怀特岛到30km之外的一条拖船之间成功进行了无线传输,现代意义下的无线通信从此诞生.从这一天开始,无线通信技术迅速发展,使我们能够在更远的传输距离上实现更好的通信质量.更低的功耗.更小的体积和更便宜的价格,使公网和专网的无线通信.无线电视.无线网络等成为现实.而目前,无线浪潮依然没有退却,却已有愈演愈烈的趋势.…
开发环境搭建 开发环境涉及到协议栈SDK版本.keil PACK版本的匹配问题,目前测试通过的环境如下: windows系统:win10 硬件:NRF52832测试板.JLINK-V8仿真器 Keil uVision5 For ARM 5.14 nrfgostudio_win-64_1.21.2_installer nRF5_SDK_11.0.0 NordicSemiconductor.nRF_DeviceFamilyPack.8.5.0.pack 软件都安装完毕后,就可以开始进行调试了. 协议…
相比TI的CC254X.DIALOG的DA1458X,nordic推出的nrf51822和nrf52832在架构和开发商都有自己独特的地方.这几颗产品都是蓝牙低功耗芯片.DA1458X使用OTP硬件架构,功耗低,成本也低,但软件开发难度是个门槛,大团队才能做到量产,当然掌握了也是竞争力(想学习开发就参考博主之前的分享吧).如果对三种架构都很熟悉,然后从开发的角度做个比较,相信对nrf52832的架构和开发会更新青睐. 1. nrf52832有64K的ram和512K的flash,开发人员应该很喜…
从Hadoop到自主研发,技术解读阿里去IOE后的系统架构 原地址:...................... 云计算阿里飞天 摘要:从IOE时代,到Hadoop与飞天并行,再到飞天单集群5000节点的实现,阿里一直摸索在技术衍变的前沿.这里,我们将从架构.性能.运维等多个方面深入了解阿里基础设施. [导读]互联网的普及,智能终端的增加,大数据时代悄然而至.在这个数据为王的时代,数十倍.数百倍的数据给各个机构带来了无尽的机遇:然而,无可否认的是,数据体积的暴增同样前所未有的挑战着企业的基础设施…
在学习 BLUENRG-LP 的过程中,及时地把碰到的问题记录下来,并作解答,形成本文档. 该文档会时时更新,并且当某些章节内容过多时,会独立出来,形成新的文章. BLUENRG-LP 的特性 芯片内部有哪些存储介质,各的功能是什么? FLASH 存放固件和用户数据.支持读.写保护 OTP (1KB) 存放用户数据,支持读.写保护 ROM (7KB) 不对用户开放.存放 UART BOOTLOADER 固件和一些芯片的配置信息,如ADC校准值 BLE 5.0 的新特性及其作用: 2Mbps:更高…
今天是2014年7月1日,过几天就要到深圳实训去了,实训核心内容是Android开发.尽管Android现在很火,但作为程序猿的我们必须时刻保持清醒的头脑.我虽不是什么预言家,但近期接触的Android项目,却让我真实的感受到Android操作系统正在走向灭亡的道路...来看看是什么操作系统可能会灭亡Android吧:Firefox OS,专案名称为Boot to Gecko.是由谋智公司(Mozilla Corporation)主导研发的开放源码移动操作系统,採用Linux核心,应用于智能手机…
嵌入式企鹅圈原创团队成员黄鑫提供. 相比NRF52832和CC254X,蓝牙单芯片DA14580在OTA和二次引导上要复杂一些,不仅体现在memory map.引导过程等流程上,而且在固件格式.生成和工具链的操作上也稍显繁琐.之前分享的"固件空中升级(OTA)与固件二次引导的原理和设计"说明了DA14580 OTA的原理和过程,本节我们来看看升级过程中涉及的固件相关的知识. 一.DA14580固件分布 这里主要说明的是,sdk编译链接产生的固件都是hex格式的,能够直接通过JLINK下…