原创 BLE 空中升级谈(二)

2015-9-24 07:06 3578 18 19 分类: 软件与OS

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

需要一个USB->UART,或者RS232->UART接口板,连接模块的P02,P03(UART0)

3

Cc2540 module

CC2540_SmartRF_HostTestRelease_All.hex

需要一个USB->UART,或者RS232->UART接口板,连接模块的P02,P03(UART0)

 

目前可以使用的软件有

 

编号

名称

平台

可用硬件

用法

验证

A

BLE device monitor

Windows PC

2,3

电脑与模块连接,可借助RS232-UART,或者USB-UART接口板,连接上以后的操作见软件使用向导。

B

BLE device monitor

Android

BLE android 手机

apk文件没有找到

C

Bluetooth LE OAD tool

Windows 8/10 带 BLE

BLE win8 / win10 电脑,可用dongle

将boot + imageA写入目标设备后,在系统设置/蓝牙中绑定设备,如果要输入PIN的话,输“0”,之后运行app,刷新列表后可以选定目标开始升级。

D

TI BLE Multitool

iOS

iPhone4s以上(含)

点此查看

 

 

以A2的组合来实现空中升级是比较容易凑齐硬件的,只是要注意A的串口配置,不要带流控,若是A1组合,则可以在ti.com找到很详细的说明,也可点这里。其他的软件基本可以相应平台直接运行, 不需要额外的硬件。

 

硬件齐备之后,准备一个可以用来升级的image B,TI-BLE Stack 1.4.0当中的SimpleBLEPeripheral工程有个CC254x-OAD-Img B选项,原封不动的编译生成一个bin文件就好了。它就是接下来空中升级的主角,为了说明,我们不妨给生成的文件取名为imgBSample.bin。

 

传输imgBSample.bin的时间在各个组合里是不一样的。通常生成的bin文件也就刚过100kb,使用BLE传输完成它,这几个平台都可能要3到4分钟,区别不大。但若使用原生的Image A,在windows 8/10就差不多要18分钟。这是非常慢的。想要缩短这个时间,密决就是调整连接参数。本人使用Bluetooth LE OAD Tool (WIN 10),简单测试过连接参数对传输时间的影响,大致如下。

 

序号

连接间隔

connInterval

 

SlaveLatency

 

Timeout

OAD耗时

Time

说明

 

1

6

1

50

3:27

 

2

48

0

960

18:00

Windows默认

3

11

0

50

4:58

 

4

6

0

50

Failed

 

5

7

0

50

Failed

 

6

8

0

50

3:49

 

注:这里的连接间隔1代表1.25ms

 

图一 Newbit Bluetooth LE OAD Tool 界面

 

传输完成后,系统自动重启,然后运行imgBSample.bin这个程序。但通常也会遇到如下问题,传输完成了,本应自复位后运行新程序,结果一定要手动复位才能正常运行,建议使用开发板来验证,若开发板可以自动重启并正常运行,说明程序没错,接着就要检查硬件了,比如电源供电,是否有32K晶体等,具体可以参考这里。

 

 

完成以上所有工作,那么你已经完整的体验了空中升级,若只是按照这样做也还是Demo, 并不是一个产品所需要的空中升级,完整的空中升级还应该有完全保护措施,比如升级的客户端身份确认, 升级失败后的处理,甚至断点断传也可考虑进来。据说nordic可以实现增量升级,可以大大地缩短升级的时间,但不清楚它具体如何实现。当然,关于这些暂时就不多说了,若见此文的你有兴趣,我们可根据本文所描绘的空中升级,在2541上做一个boot, image A的固件,外带image B的模板。

 

附windows 10, ios 8.3, miui 6的BLE连接参数默认值

 

Platform

connInterval

SlaveLatency

Timeout

Win10

48

0

960

MIUI 6

39

0

700

IOS 8.3

24

0

72

 

 

 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

2005jiangxu_694877046 2015-9-27 11:36

感谢分享,已经下载。
相关推荐阅读
emot 2016-06-29 23:39
想在网上直播来讲讲zigbee,大家怎么看
近来发现zigbee热度不减,不才想把所了解的zigbee都跟大家分享,大致按照这个来做。请大家提些建议,是不是还有特别重要但我遗漏的。先来攒些人,人够了我们就开。 --------------...
emot 2015-09-24 07:01
BLE 空中升级谈
BLE 空中升级谈   -- CC2541 的产品开发中OAD注意事项     现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里...
emot 2015-05-19 10:27
寻找共事的朋友[深圳科技园 嵌入式软件 可穿戴]
岗位职责:嵌入式软件工程师 招聘人数:2 简历语言要求:中文 语言能力:英语 掌握程度:熟练 工作地点:深圳南山科技园 工作待遇:面谈   工作职责: 1. 与硬件工程师合作完...
emot 2014-05-06 08:41
CC2530的通信速率实测
首先要说的是这里的测试包括了zigbee与非zigbee两种情况,测试zigbee的通信速率建议使用TI协议栈ZSTACK-2.5.1A(swrc126.zip)中的TransmitApp来进行测...
emot 2014-01-17 18:08
XBee与 RBee ZigBee透明传输模块互传测试
XBee与 RBee ZigBee透明传输模块互传测试   本次测试的目标是为了初步探索ZigBee透明传输模块的传输速率峰值范围,同时也要检查不同公司模块之间的兼容性。测试的目标是 由美国Digi提...
EE直播间
更多
我要评论
1
18
关闭 站长推荐上一条 /3 下一条