BLE空中升級 談(二)


BLE 空中升級談

 -- CC2541 的產品開發中OAD注意事項(續)

 

TI CC2541支持多個硬件,多個軟件對它進行空中升級,可以有不同的組合,硬件有

 

編號

名稱

Hex

用法

1

Cc2540 dongle

CC2540_USBdongle_HostTestRelease_All.hex

直接插在電腦上使用,驅動程序是ccxxxx_usb_cdcusb作為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

23

電腦與模塊連接,可借助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 BTI-BLE Stack 1.4.0當中的SimpleBLEPeripheral工程有個CC254x-OAD-Img B選項,原封不動的編譯生成一個bin文件就好了。它就是接下來空中升級的主角,為了說明,我們不妨給生成的文件取名為imgBSample.bin

 傳輸imgBSample.bin的時間在各個組合里是不一樣的。通常生成的bin文件也就剛過100kb,使用BLE傳輸完成它,這幾個平台都可能要34分鍾,區別不大。但若使用原生的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 界面

圖一 Newbit Bluetooth LE OAD Tool 界面

  

傳輸完成后,系統自動重啟,然后運行imgBSample.bin這個程序。但通常也會遇到如下問題,傳輸完成了,本應自復位后運行新程序,結果一定要手動復位才能正常運行,建議使用開發板來驗證,若開發板可以自動重啟並正常運行,說明程序沒錯,接着就要檢查硬件了,比如電源供電,是否有32K晶體等,具體可以參考這里

  

完成以上所有工作,那么你已經完整的體驗了空中升級,若只是按照這樣做也還是Demo, 並不是一個產品所需要的空中升級,完整的空中升級還應該有完全保護措施,比如升級的客戶端身份確認, 升級失敗后的處理,甚至斷點斷傳也可考慮進來。據說nordic可以實現增量升級,可以大大地縮短升級的時間,但不清楚它具體如何實現。當然,關於這些暫時就不多說了,若見此文的你有興趣,我們可根據本文所描繪的空中升級,在2541上做一個boot, image A的固件,外帶image B的模板。

 

windows 10, ios 8.3, miui 6BLE連接參數默認值

 

Platform

connInterval

SlaveLatency

Timeout

Win10

48

0

960

MIUI 6

39

0

700

IOS 8.3

24

0

72


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM