BLE空中升级 谈(一)
BLE 空中升级谈
-- CC2541 的产品开发中OAD注意事项
现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里不谈论它是满足所谓的刚性需求。许多新(shan)创(zhai)公司做的产品就只能凭一面之缘了,要是喜欢你就买下,反正后面觉得哪里不好,用着不爽就扔掉便是,看官自是不缺这几十一百块钱。比如像小米的一代手机 Mi BNAD(现售69),电子称Mi Scale(现售99)。虽说便宜事实上这确是匠心之作,就本人了解,从空中升级来看,它们就很棒,设备它的目前的程序存在严重问题,或者它的功能在现有硬件资源还能进行合理的扩增,小米会在后续推出相应的firmware,就算产品已经到了用户手上也可以得到升级,这一切都是免费的,甚至是不知不觉的,要不怎么说相信大公司呢。所以有着完美主义情节的在下总觉得空中升级就应该是此类设备必备的功能(之一)。
前言说小米是大公司,产品有带空中升级,话外音就是想说当前市面上许多众筹,或者外贸品牌转内销,一些刚开创的小牌产品,基于快速上市这一当前市场的最高原则,几乎把这个“不(hen)起(zhong)眼(yao)”的功能给选择性忽略了。话说在这里,不怕砖块。事实上这个功能之于产品是非常重要的, 对于这些很容易就被弃之不用的小物件是极重/相当重要的!
这么重要的功能,如何开发呢,以低功耗蓝牙来说,本人最早自TI BLE Stack 1.4.0开始了解,也基于这里开始开发。而这个版本的协议栈,就已经自带了空中升级的例程,并且编写了相当不错的boot,这是从IC原厂的角度来看,也是IC原厂的态度,一个小的智能设备本来就应当具备空中升级。没错,不用怀疑,必须的特性。虽然原厂给了这么大力的支持,还是很遗憾,现在市面还是有不(zhu)少(duo)产品就是没有空中升级的,让人难予置信。除了TI, 其他原厂比如NODIC也有,这是半导体大厂的共识。
有了这么好的基础,想演示空中升级已经是极其容易了,于是应该也出现了按照这个demo水准而推出的“产品”,但我没有去一一验证过,相信找找肯定还是会有的。有的产品根本没有,有的也只是一个demo,这让趟这行浑水的人总觉得世间坑无数,此处再添来的感慨。好了,牢骚发完,谢谢各位的耐心,我再接着讲讲这个空中升级也称Upgarade over the air(简记为OTA), Over Air Download(简记为OAD),大概怎么来做,原谅这里也不会太详细,详细的部分各方案的开发向导中就有,可能是英文的,但也容易读懂。以TI的CC2541为例,对于其他IC请举一反三。
第一条是了解原厂的空中升级方案,作为一线开发者,要达到深入的理解,只是了解还不够的。TI的OAD方案大致是使用 boot + image A + image B这样的方式,boot负责启动系统,image A能更新image B, 反过来image B也能更新Image A,这样设备就可以反复进行OAD了, Image A/B的作用是完全等同的。而通常在实际的开发中, image B才是设备正常使用时运行的程序, Image A仅是用来更新Image B会更好,一来安全,再者可以让Image B有更多的空间。按照后面的设计它们分别占用三个分区,仅image B区域是可以擦除的。另外还有一个区域是前面三者共同使用的,用于存储用户信息等,这个空间是共享的。具体的解读可以找度娘。
STEP BY STEP 1, http://bbs.ednchina.com/BLOG_ARTICLE_3019402.HTM
干货在后面。未完待续。。。
BLE空中升级 谈(一)的更多相关文章
- BLE空中升级 谈(二)
BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项(续) TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有 编号 名称 Hex 用法 1 Cc2540 ...
- 如何实现蓝牙空中升级BLE OTA
如何实现BLE OTA?什么叫DFU?如何通过UART实现固件升级?又如何通过USB实现固件升级?怎么保证升级的安全性?什么叫双备份(dual bank)DFU?什么叫单备份(single bank) ...
- iOS蓝牙空中升级(固件升级)
空中升级又叫固件升级,指你手机从服务器下载下来的包或者数据,通过蓝牙传输给你的外设升级固件.如果你能把蓝牙的基础搞懂,其实也并不是很难,我在这里只不过提供一下思路. 空中升级略难的地方在于数据处理和交 ...
- nRF Connect SDK(NCS)/Zephyr固件升级详解 – 重点讲述MCUboot和蓝牙空中升级
如何在nRF Connect SDK(NCS)中实现蓝牙空中升级?MCUboot和B0两个Bootloader有什么区别?MCUboot升级使用的image格式是怎么样的?什么是SMP协议?CBOR编 ...
- 详解BLE 空中包格式—兼BLE Link layer协议解析
BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...
- Android BLE dfu升级
dfu升级适用于nordic nRF51 nRF52 的系统,github上提供了相关升级的库https://github.com/NordicSemiconductor/Android-DFU- ...
- nRF52832 BLE_DFU空中升级OTA(三)准备升级工程(SDK14.2.0)
准备需要加入DFU功能的工程 在工程main文件services_init函数中加入DFU服务 uint32_t err_code; // Initialize the async SVCI inte ...
- NRF51800 空中升级DFU
下面是基础软件的安装:[抄袭他人所得] 1.安装Python软件,建议版本2.7.9及以上,不超过3.0版本[以下安装步骤需要联网]2.安装Python的pip模块,通过命令提示符进入到Python的 ...
- nRF52832 BLE_DFU空中升级OTA(二)编译下载(SDK14.2.0)
上一篇配置好了开发环境,现在就可以试着跑一下例程了,这里需要两个例程,一个是bootloader的,一个是应用程序的,其路径分别为: bootloader:SDK_14.2.0工程\examples\ ...
随机推荐
- ArcGIS API for JavaScript 4.2学习笔记[7] 鹰眼(缩略图的实现及异步处理、Promise、回调函数、监听的笔记)
文前说明:关于style就是页面的css暂时不做评论,因为官方给的例子的样式实在太简单了,照抄阅读即可. 这篇文章有着大量AJS 4.x版本添加的内容,如监听watch.Promise对象.回调函数. ...
- Linux发行版 CentOS6.5下的分区操作
本文地址http://comexchan.cnblogs.com/ ,尊重知识产权,转载请注明出处,谢谢! 查询磁盘信息并作分区规划 执行下述命令查询磁盘信息: fdisk -l 可知.数据盘大小50 ...
- PHP与REDIS
安装 1.一定要搞懂自己php的版本,和环境,今天试一上午,就是因为X86,而我的php环境是X64. 2. 将下载的php_redis.dll和php_igbinary.dll放在php扩展目录中( ...
- SQL Server 2016 行级别权限控制
背景 假如我们有关键数据存储在一个表里面,比如人员表中包含员工.部门和薪水信息.只允许用户访问各自部门的信息,但是不能访问其他部门.一般我们都是在程序端实现这个功能,而在sqlserver2016以后 ...
- Android 内存暴减的秘密?!
作者:杨超,腾讯移动客户端开发 工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest 导读 在我这样减少了26.5M Java内存! 一文中内存优化一期已经告一段落, ...
- PHP进阶,使用交互模式进行快速测试实验?
额,那啥,PHP很强,大家都知道哈.不过呢,在搞PHP里的人中,自然也要分高下的.当然了,我更喜欢用好玩来形容了. 什么叫做快速开发?我觉得,快就得快到随手写几个字,就能让代码跑起来!那么,PHP能做 ...
- vue的挖坑和爬坑之css背景图样式终极解决方法
原问题 #wrapper{ width:100%; height:100%; position:fixed; background-image:url(./img/open_bg.jpg) } 在.v ...
- Celery(三)实例Application
Celery必须实例化后才可以使用,实例称之为application或者简称app.实例是线程安全的,多个Celery实例(不同的配置.部件和任务)都可以在一个进程空间中运行. 创建一个最简单的app ...
- Nginx 解决WebApi跨域二次请求以及Vue单页面问题
一.前言 由于项目是前后端分离,API接口与Web前端 部署在不同站点当中,因此在前文当中WebApi Ajax 跨域请求解决方法(CORS实现)使用跨域处理方式处理而不用Jsonp的方式. 但是在一 ...
- timeline时间轴进度“群英荟萃”
timeline时间轴进度“群英荟萃” 是日,无论PC项目还是APP,都涉及到了通常称谓的“时间轴”UI展现布局.产品和设计师都喜欢横向.纵向的时间轴来传达产品的寓意.如此,如斯!总结一套 time ...