嵌入式設(shè)備藍(lán)牙無線升級(jí)方法
【專利摘要】本發(fā)明提供一種嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,涉及無線數(shù)據(jù)傳輸技術(shù)領(lǐng)域。該發(fā)明包括以下步驟:主設(shè)備與藍(lán)牙設(shè)備建立無線連接;主設(shè)備與藍(lán)牙設(shè)備進(jìn)行數(shù)據(jù)傳輸;定義藍(lán)牙設(shè)備在系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu);系統(tǒng)通過無線技術(shù)開始升級(jí)。本發(fā)明避免了打開和拆除設(shè)備對(duì)設(shè)備造成的損害,方便快捷,操作簡單,更新速度快。
【專利說明】
嵌入式設(shè)備藍(lán)牙無線升級(jí)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種無線數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別是涉及一種嵌入式設(shè)備藍(lán)牙無線升 級(jí)方法。
【背景技術(shù)】
[0002] 目前的藍(lán)牙設(shè)備(音箱,耳機(jī)等)系統(tǒng)的固件升級(jí)方式都是通過USB或者SPI接 口,通過PC或者燒錄器以有線的方式進(jìn)行固件的升級(jí)。這種方式固有的缺陷:1必須通過 有線連接2對(duì)于整機(jī)如果沒有預(yù)留升級(jí)接口,需要將整機(jī)拆開。
【發(fā)明內(nèi)容】
[0003] 針對(duì)上述問題中存在的不足之處,本發(fā)明提供一種嵌入式設(shè)備藍(lán)牙無線升級(jí)方 法,使其避免了打開和拆除設(shè)備對(duì)設(shè)備造成的損害,方便快捷,操作簡單,更新速度快。
[0004] 為了解決上述問題,本發(fā)明提供一種嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,其中,包括以 下步驟:
[0005] S10、主設(shè)備與藍(lán)牙設(shè)備建立無線連接;
[0006] S20、主設(shè)備與藍(lán)牙設(shè)備進(jìn)行數(shù)據(jù)傳輸;
[0007] S30、定義藍(lán)牙設(shè)備在系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu);
[0008] S40、系統(tǒng)通過無線技術(shù)開始升級(jí)。
[0009] 優(yōu)選的,在所述步驟S20中,所述藍(lán)牙設(shè)備的無線數(shù)據(jù)傳輸是通過藍(lán)牙的SPP協(xié)議 作為數(shù)據(jù)傳輸通道。
[0010] 優(yōu)選的,在所述步驟S30中,定義系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu)是為了保證系統(tǒng)升級(jí)的時(shí) 候出現(xiàn)出錯(cuò)或者突然掉電導(dǎo)致系統(tǒng)運(yùn)行異常。
[0011] 優(yōu)選的,在所述步驟S40中,包括以下步驟:
[0012] S401、藍(lán)牙設(shè)備接收到EWENTERUPDATE命令后,藍(lán)牙設(shè)備進(jìn)入升級(jí)模式;
[0013] S402、進(jìn)入升級(jí)模式后,藍(lán)牙主設(shè)備發(fā)送EWUPDATEFILEST,進(jìn)入文件更新,并傳入 要更新的文件名;
[0014] S403、藍(lán)牙設(shè)備受到EWUPDATEFILEDATA命令開始更新固件信息,更新的地址為該 文件對(duì)應(yīng)的備份的數(shù)據(jù)地址;
[0015] S404、EWUPDATEFILEEND命令后指定文件更新結(jié)束;
[0016] S405、藍(lán)牙設(shè)備收到EWUPDATEEND命令后,系統(tǒng)更新結(jié)束;
[0017] S406、將文件信息存儲(chǔ)區(qū)域的文件地址以及備份地址對(duì)調(diào),同時(shí)重新啟動(dòng)系統(tǒng)。
[0018] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0019] 本發(fā)明通過藍(lán)牙無線數(shù)據(jù)傳輸技術(shù),主設(shè)備通過藍(lán)牙無線升級(jí)其藍(lán)牙設(shè)備里面的 固件程序,避免了打開和拆除設(shè)備對(duì)設(shè)備造成的損害,方便快捷,操作簡單,更新速度快。
【附圖說明】
[0020] 圖1是本發(fā)明的流程示意圖。
【具體實(shí)施方式】
[0021] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖與實(shí)例對(duì)本 發(fā)明作進(jìn)一步詳細(xì)說明,但所舉實(shí)例不作為對(duì)本發(fā)明的限定。
[0022] 如圖1所示,本發(fā)明的實(shí)施例包括以下步驟:
[0023] S10、主設(shè)備與藍(lán)牙設(shè)備建立無線連接;
[0024] S20、主設(shè)備與藍(lán)牙設(shè)備進(jìn)行數(shù)據(jù)傳輸;
[0025] S30、定義藍(lán)牙設(shè)備在系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu);
[0026] S40、系統(tǒng)通過無線技術(shù)開始升級(jí)。
[0027] 優(yōu)選的,在步驟S20中,藍(lán)牙設(shè)備的無線數(shù)據(jù)傳輸是通過藍(lán)牙的SPP協(xié)議作為數(shù)據(jù) 傳輸通道。
[0028] 優(yōu)選的,在步驟S30中,定義系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu)是為了保證系統(tǒng)升級(jí)的時(shí)候出 現(xiàn)出錯(cuò)或者突然掉電導(dǎo)致系統(tǒng)運(yùn)行異常。
[0029] 優(yōu)選的,在步驟S40中,包括以下步驟:
[0030] S401、藍(lán)牙設(shè)備接收到EWENTERUPDATE命令后,藍(lán)牙設(shè)備進(jìn)入升級(jí)模式;
[0031] S402、進(jìn)入升級(jí)模式后,藍(lán)牙主設(shè)備發(fā)送EWUPDATEFILEST,進(jìn)入文件更新,并傳入 要更新的文件名;
[0032] S403、藍(lán)牙設(shè)備受到EWUPDATEFILEDATA命令開始更新固件信息,更新的地址為該 文件對(duì)應(yīng)的備份的數(shù)據(jù)地址;
[0033] S404、EWUPDATEFILEEND命令后指定文件更新結(jié)束;
[0034] S405、藍(lán)牙設(shè)備收到EWUPDATEEND命令后,系統(tǒng)更新結(jié)束;
[0035] S406、將文件信息存儲(chǔ)區(qū)域的文件地址以及備份地址對(duì)調(diào),同時(shí)重新啟動(dòng)系統(tǒng)。
[0036] 本實(shí)施例中,藍(lán)牙設(shè)備的系統(tǒng)固件的升級(jí)主要是將系統(tǒng)的固件放到藍(lán)牙主設(shè)備 上,通過主設(shè)備與藍(lán)牙設(shè)備建立連接,通過藍(lán)牙的SPP協(xié)議,將數(shù)據(jù)以無線的方式更新到藍(lán) 牙設(shè)備上。
[0037] 這中間主要涉及到兩個(gè)主要的內(nèi)容:
[0038] 1、藍(lán)牙數(shù)據(jù)的傳輸管理;
[0039] 2、系統(tǒng)固件的更新。
[0040] (1)藍(lán)牙數(shù)據(jù)傳輸?shù)墓芾?br>[0041] 藍(lán)牙設(shè)備的無線更新是通過藍(lán)牙的SPP協(xié)議作為數(shù)據(jù)傳輸通道。
[0042] 藍(lán)牙的SPP協(xié)議,全稱為Serial Port Profile,即在藍(lán)牙協(xié)議棧上面實(shí)現(xiàn)普通的串 口通信協(xié)議,這個(gè)通信在主從藍(lán)牙設(shè)備上試雙向的。目前Android的手機(jī)以及PC都是支持 藍(lán)牙的SPP通信協(xié)議。
[0043] 在數(shù)據(jù)通信的時(shí)候采用下面的數(shù)據(jù)格式進(jìn)行通信:
[0045] 命令關(guān)鍵字:定義了 一系列的命令,例如EWENTERUPDATE進(jìn)入升級(jí)模式, EWUPDATEFILEST開始更新文件,EWUPDATEFILEDATA更新文件數(shù)據(jù)等待。
[0046] 當(dāng)前數(shù)據(jù)包時(shí)間戳:用于區(qū)分從主藍(lán)牙設(shè)備端接受數(shù)據(jù)的先后順序,時(shí)間戳的值 越大,數(shù)據(jù)包越靠后,從藍(lán)牙設(shè)備傳輸?shù)街髟O(shè)備的時(shí)候時(shí)間戳沒有任何意義,主要從主設(shè) 備傳輸數(shù)據(jù)到從設(shè)備的時(shí)候才有意義。
[0047] 上個(gè)數(shù)據(jù)包的時(shí)間戳:用于在數(shù)據(jù)丟失的時(shí)候?qū)ふ疑弦粋€(gè)數(shù)據(jù)包。
[0048] 數(shù)據(jù)長度:當(dāng)前傳輸?shù)臄?shù)據(jù)長度。
[0049] 數(shù)據(jù)校驗(yàn)和:用于校驗(yàn)當(dāng)前的數(shù)據(jù)是否正確。
[0050] 數(shù)據(jù):傳輸?shù)臄?shù)據(jù)內(nèi)容,最大為2K字節(jié)。
[0051] (2)系統(tǒng)程序的存儲(chǔ)方式
[0052] 為了保證系統(tǒng)升級(jí)的時(shí)候出現(xiàn)出錯(cuò)或者突然掉電導(dǎo)致系統(tǒng)運(yùn)行異常,藍(lán)牙設(shè)備在 系統(tǒng)固件的存儲(chǔ)方面做了特殊處理,系統(tǒng)的固件的存儲(chǔ)結(jié)構(gòu)如下:
[0054] 系統(tǒng)boot程序:存儲(chǔ)系統(tǒng)系統(tǒng)固件的引導(dǎo)程序,固定位32K大小。系統(tǒng)開機(jī)開機(jī) 后會(huì)自動(dòng)加載這個(gè)程序,該程序會(huì)跟進(jìn)文件信息存儲(chǔ)區(qū)域的內(nèi)容選擇不同的固件以及配置 文件加載
[0055] 文件信息存儲(chǔ):記錄存儲(chǔ)的系統(tǒng)文件的相關(guān)信息,具體信息包括:
[0056] 文件個(gè)數(shù):記錄當(dāng)前啟動(dòng)中有多少文件(不算備份的)
[0057] 文件長度:記錄當(dāng)前文件的長度
[0058] 文件地址:記錄當(dāng)前文件在設(shè)備上存儲(chǔ)的起始地址,系統(tǒng)運(yùn)行的時(shí)候會(huì)從這個(gè)地 址加載所需要的固件或者配置信息
[0059] 備份地址:記錄當(dāng)前文件在設(shè)備存儲(chǔ)的備份地址
[0060] 文件名:記錄當(dāng)前文件的名字
[0061] 其他文件存儲(chǔ)信息:如果文件個(gè)數(shù)多余一個(gè),下面會(huì)以相同的格式存儲(chǔ)其他文件 的存儲(chǔ)信息
[0062] 固件A以及固件A備份:系統(tǒng)運(yùn)行的固件,在系統(tǒng)第一次燒錄的時(shí)候兩者的內(nèi)容是 相同的,并且文件信息存儲(chǔ)區(qū)域的關(guān)于固件的文件地址是固件A的存儲(chǔ)位置,備份地址是 固件A備份的地址。系統(tǒng)boot加載是始終是文件信息存儲(chǔ)區(qū)域的文件的地址,即第一次系 統(tǒng)啟動(dòng)加載的固件是固件A。在升級(jí)完成的過程中會(huì)更新固件A備份的內(nèi)容,更新完成后 更新文件信息存儲(chǔ)區(qū)域中對(duì)應(yīng)附件的文件地址,這樣下次系統(tǒng)在啟動(dòng)的時(shí)候就會(huì)加載附件 A備份區(qū)域的附件從而完成附件的升級(jí)。
[0063] 配置文件B以及配置文件B備份:系統(tǒng)運(yùn)行的配置信息,存儲(chǔ)的以及升級(jí)的方式同 固件是一致的
[0064] (3)系統(tǒng)無線升級(jí)流程
[0065] 升級(jí)主流程如下:
[0066] A、藍(lán)牙設(shè)備接收到EWENTERUPDATE命令后,藍(lán)牙設(shè)備進(jìn)入升級(jí)模式;
[0067] B、進(jìn)入升級(jí)模式后,藍(lán)牙主設(shè)備發(fā)送EWUPDATEFILEST,進(jìn)入文件更新,并傳入要更 新的文件名;
[0068] C、藍(lán)牙設(shè)備受到EWUPDATEFILEDATA命令開始更新固件信息,更新的地址為該文 件對(duì)應(yīng)的備份的數(shù)據(jù)地址,改地址是開始更新時(shí)傳入的文件名在文件信息存儲(chǔ)區(qū)域搜索對(duì) 應(yīng)文件名的文件的備份地址;
[0069] D、EWUPDATEFILEEND命令后指定文件更新結(jié)束;
[0070] E、藍(lán)牙設(shè)備收到EWUPDATEEND命令后,系統(tǒng)更新結(jié)束,這個(gè)時(shí)候需要將文件信息 存儲(chǔ)區(qū)域的文件地址以及備份地址對(duì)調(diào),已完成系統(tǒng)的更新動(dòng)作,同時(shí)重新啟動(dòng)系統(tǒng)。
[0071] 對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明 將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一 致的最寬的范圍。
【主權(quán)項(xiàng)】
1. 一種嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,其特征在于,包括以下步驟: S10、主設(shè)備與藍(lán)牙設(shè)備建立無線連接; S20、主設(shè)備與藍(lán)牙設(shè)備進(jìn)行數(shù)據(jù)傳輸; S30、定義藍(lán)牙設(shè)備在系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu); S40、系統(tǒng)通過無線技術(shù)開始升級(jí)。2. 如權(quán)利要求1所述的嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,其特征在于,在所述步驟S20 中,所述藍(lán)牙設(shè)備的無線數(shù)據(jù)傳輸是通過藍(lán)牙的SPP協(xié)議作為數(shù)據(jù)傳輸通道。3. 如權(quán)利要求1所述的嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,其特征在于,在所述步驟S30 中,定義系統(tǒng)固件的存儲(chǔ)結(jié)構(gòu)是為了保證系統(tǒng)升級(jí)的時(shí)候出現(xiàn)出錯(cuò)或者突然掉電導(dǎo)致系統(tǒng) 運(yùn)行異常。4. 如權(quán)利要求1所述的嵌入式設(shè)備藍(lán)牙無線升級(jí)方法,其特征在于,在所述步驟S40 中,包括以下步驟: 5401、 藍(lán)牙設(shè)備接收到EWENTERUPDATE命令后,藍(lán)牙設(shè)備進(jìn)入升級(jí)模式; 5402、 進(jìn)入升級(jí)模式后,藍(lán)牙主設(shè)備發(fā)送EWUPDATEFILEST,進(jìn)入文件更新,并傳入要更 新的文件名。 5403、 藍(lán)牙設(shè)備受到EWUPDATEFILEDATA命令開始更新固件信息,更新的地址為該文件 對(duì)應(yīng)的備份的數(shù)據(jù)地址; 5404、 EWUPDATEFILEEND命令后制定文件更新結(jié)束; 5405、 藍(lán)牙設(shè)備收到EWUPDATEEND命令后,系統(tǒng)更新結(jié)束; 5406、 將文件信息存儲(chǔ)區(qū)域的文件地址以及備份地址對(duì)調(diào),同時(shí)重新啟動(dòng)系統(tǒng)。
【文檔編號(hào)】G06F9/445GK105893064SQ201410415014
【公開日】2016年8月24日
【申請日】2014年8月22日
【發(fā)明人】徐平
【申請人】深圳市易瑞微科技有限公司