本發(fā)明涉及嵌入式設(shè)備技術(shù),藍(lán)牙技術(shù),特別是涉及OTA升級(jí)技術(shù)。
背景技術(shù):
當(dāng)前藍(lán)牙技術(shù)應(yīng)用廣泛,藍(lán)牙模組被安裝在各種系統(tǒng)中。有些系統(tǒng)結(jié)構(gòu)復(fù)雜,有些系統(tǒng)設(shè)計(jì)精密,有些系統(tǒng)高度集成,尤其是目前大多數(shù)設(shè)備都沒有預(yù)留對(duì)藍(lán)牙部分進(jìn)行升級(jí)及維護(hù)的接口。這些情況導(dǎo)致對(duì)整個(gè)系統(tǒng)的藍(lán)牙模組的升級(jí)和維護(hù)變得很困難,甚至終生得不到維護(hù)。一旦需要對(duì)藍(lán)牙模組進(jìn)行升級(jí),只能更換芯片、或更換主板、甚至更換整機(jī)。造成了很高的維護(hù)成本,同時(shí)時(shí)間周期比較長(zhǎng),不利于現(xiàn)在逐步升級(jí)的設(shè)備。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問(wèn)題在于,針對(duì)上述存在的問(wèn)題,提供了一種OTA升級(jí)的方法。其具有以下特點(diǎn):
1.無(wú)需對(duì)所在系統(tǒng)做任何改動(dòng);
2.無(wú)需有線連接;
3.異常終止升級(jí)進(jìn)程,藍(lán)牙系統(tǒng)仍然能夠以原固件正常工作;
本發(fā)明操作過(guò)程簡(jiǎn)單、靈活,有效降低系統(tǒng)維護(hù)成本,為眾多用戶提供高性能的藍(lán)牙服務(wù)。
附圖說(shuō)明
圖1為本發(fā)明OTA升級(jí)實(shí)施例結(jié)構(gòu)圖;
圖2為本發(fā)明OTA升級(jí)操作過(guò)程流程圖;
具體實(shí)施方式
為使本發(fā)明的技術(shù)方案及優(yōu)點(diǎn)更加清晰明白,以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。
如圖1所示,本發(fā)明所提供的OTA升級(jí)過(guò)程僅需要本地藍(lán)牙模組和遠(yuǎn)端藍(lán)牙設(shè)備參與,不再需要其它設(shè)備,也不需要改動(dòng)本地系統(tǒng)。遠(yuǎn)端藍(lán)牙設(shè)備可以是PC或其它具備SPP藍(lán)牙連接和透?jìng)鲾?shù)據(jù)功能的智能設(shè)備。整個(gè)升級(jí)過(guò)程操作簡(jiǎn)單、自由、靈活。
圖2所示為本發(fā)明所提供的OTA升級(jí)過(guò)程的流程圖。下面以實(shí)施例形式具體描述該過(guò)程。
首先,Step1:本地藍(lán)牙與遠(yuǎn)端藍(lán)牙設(shè)備建立SPP(Serial Port Profile)連接。
Step2:遠(yuǎn)端藍(lán)牙設(shè)備發(fā)送遠(yuǎn)程控制命令,控制本地藍(lán)牙進(jìn)入遠(yuǎn)程控制模式。
Step3:遠(yuǎn)端藍(lán)牙設(shè)備發(fā)送OTA起始命令,控制本地藍(lán)牙進(jìn)入OTA升級(jí)狀態(tài),等待接收升級(jí)包。
Step4:遠(yuǎn)端藍(lán)牙設(shè)備選擇固件升級(jí)包,開始分包發(fā)送。對(duì)每個(gè)小包進(jìn)行打包封裝,添加包序號(hào)和CRC校驗(yàn)信息。
普通數(shù)據(jù)透?jìng)鬟^(guò)程不會(huì)對(duì)傳輸數(shù)據(jù)進(jìn)行打包封裝,這里主要是為了保證傳輸數(shù)據(jù)的正確性,增加了包序號(hào)和CRC校驗(yàn)信息。
Step5:本地藍(lán)牙逐包接收,對(duì)接收的每包數(shù)據(jù)進(jìn)行拆包并校驗(yàn),校驗(yàn)正確則存儲(chǔ)在本地存儲(chǔ)器中;校驗(yàn)錯(cuò)誤則終止升級(jí)過(guò)程。
Step6:固件升級(jí)包傳輸完成后,本地藍(lán)牙系統(tǒng)隨即產(chǎn)生一個(gè)對(duì)全部接收數(shù)據(jù)(即固件升級(jí)包)的校驗(yàn)和sum1。此時(shí)遠(yuǎn)端藍(lán)牙設(shè)備發(fā)送OTA校驗(yàn)命令,本地藍(lán)牙依據(jù)命令再次對(duì)全部接收數(shù)據(jù)計(jì)算校驗(yàn)和sum2。
Step7:本地藍(lán)牙設(shè)備執(zhí)行復(fù)位操作,復(fù)位完成后,第三次對(duì)全部接收數(shù)據(jù)計(jì)算校驗(yàn)和sum3。對(duì)比3次校驗(yàn)和,若全部相等(sum1 == sum2 == sum3),就使用新的固件升級(jí)包刷新本地藍(lán)牙固件,完成后,本地藍(lán)牙再次重新啟動(dòng),將運(yùn)行新的固件程序,OTA升級(jí)過(guò)程成功結(jié)束。如果3次校驗(yàn)和不相等,則OTA升級(jí)過(guò)程失敗,本地藍(lán)牙仍然運(yùn)行原有固件程序,此時(shí)可嘗試重新執(zhí)行OTA升級(jí)過(guò)程。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但是本發(fā)明的保護(hù)范圍并不局限于上述的具體實(shí)施方式,上述的具體實(shí)施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。