本發(fā)明涉及固件升級技術(shù)領(lǐng)域,尤其涉及一種固件升級方法及系統(tǒng)。
背景技術(shù):
空中編程(over-the-airprogramming,縮寫ota)是一種為設(shè)備分發(fā)新軟件、配置,乃至更新加密密鑰(為例如移動電話、數(shù)字視頻轉(zhuǎn)換盒或安全語音通信設(shè)備——加密的雙向無線電)的方法。ota的一項重要特征是,一個中心位置可以向所有用戶發(fā)送更新,其不能拒絕、破壞或改變該更新,并且該更新為立即應(yīng)用到頻道上的每個人。用戶有可能“拒絕”ota更新,但頻道管理者也可以將其踢出頻道。
移動內(nèi)容領(lǐng)域中還包括空中提供業(yè)務(wù)(over-the-airserviceprovisioning,otasp)、空中提供配置(over-the-airprovisioning,otap)或空中參數(shù)管理(over-the-airparameteradministration,otapa),或向手機提供必要的設(shè)置以使其能訪問wap或mms等服務(wù)。
隨著手機上的應(yīng)用和功能越來越多,ota配置已越來越重要。通過sms可以ota更新sim卡中的數(shù)據(jù),以及向手機分發(fā)軟件更新以及訪問wap、mss等服務(wù)的必要設(shè)置。ota消息可為手機提供遠程控制的服務(wù)、訂閱激活、個性化及編程。
已創(chuàng)建各標準化機構(gòu)以幫助開發(fā)、監(jiān)督和管理ota。其中之一是開放移動聯(lián)盟(oma)。
目前,在無線感測網(wǎng)絡(luò)和物聯(lián)網(wǎng)中又有了新的概念,在數(shù)百或數(shù)千節(jié)點組成的網(wǎng)絡(luò)中,ota被帶入了新的方向:ota首次使用無須許可的頻帶(2.4ghz、868mhz、900mhz)以及低能量與流量消耗的協(xié)議,例如802.15.4和zigbee。
工業(yè)4.0的建設(shè)以及物聯(lián)網(wǎng)產(chǎn)業(yè)的迅猛發(fā)展,使得大規(guī)模無線傳感網(wǎng)絡(luò)的應(yīng)用和傳統(tǒng)工業(yè)設(shè)備聯(lián)網(wǎng)接入更加普遍。(ota)固件空中升級是如此重要,在于:1.修復(fù)產(chǎn)品缺陷、2.豐富產(chǎn)品功能,增加用戶粘性、3.迭代的產(chǎn)品升級,也有助于快速切入市場,降低整體開發(fā)成本。但同時ota在工業(yè)4.0和物聯(lián)網(wǎng)中應(yīng)用也面臨著諸多問題:設(shè)備在低電量的情況下進行ota升級,意外的低電壓掉電將會使設(shè)備的固件無法恢復(fù)導(dǎo)致設(shè)備無法正常工作、在網(wǎng)狀網(wǎng)網(wǎng)絡(luò)下單個設(shè)備的ota升級對整體的負荷是巨大的,且單個設(shè)備升級時全網(wǎng)的業(yè)務(wù)都必須暫停、在復(fù)雜的應(yīng)用環(huán)境中總會混雜著各種不同性能指標的設(shè)備,所以總會有個別設(shè)備無法同時協(xié)同升級,在這種情況下就需要投入一定的人力資源進行設(shè)備現(xiàn)場維護。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種固件升級方法及系統(tǒng),以實現(xiàn)設(shè)備的ota離線升級,滿足工業(yè)及物聯(lián)網(wǎng)的需要。
為實現(xiàn)上述目的,本發(fā)明提供的一種固件升級方法,包括以下步驟:
移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)固件升級指令;
所述升級管理芯片在接收到固件升級指令時,將需要更新的固件包下載并存儲在所述升級管理芯片內(nèi)的flash存儲芯片內(nèi);
在下載完成后,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新。
其中,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新的步驟之前還包括:
在下載完成后,所述移動終端app或中轉(zhuǎn)設(shè)備與所述升級管理芯片交互,對下載的所述固件包的數(shù)據(jù)進行校驗,在校驗成功后,所述升級管理芯片執(zhí)行升級過程。
其中,所述移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)固件升級指令的步驟包括:
所述移動終端app或中轉(zhuǎn)設(shè)備通過所述升級管理芯片查詢所述設(shè)備升級芯片的固件版本號;
若所述固件版本號為舊版本號,則所述移動終端app或中轉(zhuǎn)設(shè)備下發(fā)固件升級指令給所述升級管理芯片。
其中,所述移動終端app或中轉(zhuǎn)設(shè)備與所述升級管理芯片之間無線連接,其連接方式為bel4.0。
其中,所述方法還包括:
在固件包的數(shù)據(jù)傳輸過程中,若遇到無線鏈路中斷重連后,進行斷點數(shù)據(jù)重傳。
其中,所述移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)固件升級指令的步驟之前還包括:
根據(jù)用戶指令選擇移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)數(shù)據(jù)。
其中,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新的步驟中包括:
所述升級管理芯片通過解析升級固件包數(shù)據(jù)將數(shù)據(jù)重組格式輸出到需要升級的設(shè)備升級芯片中。
其中,所述升級管理芯片對設(shè)備升級芯片的數(shù)據(jù)升級接口為串口;所述flash存儲芯片為無線soc芯片。
本發(fā)明還提出一種固件升級系統(tǒng)包括:移動終端app或中轉(zhuǎn)設(shè)備,以及升級管理芯片,所述移動終端app或中轉(zhuǎn)設(shè)備與所述升級管理芯片無線連接,所述升級管理芯片與待升級的設(shè)備升級芯片有線連接;其中:
所述移動終端app或中轉(zhuǎn)設(shè)備中配置有固件升級程序,所述固件升級程序被處理器執(zhí)行時實現(xiàn)如上所述的方法的步驟。
本發(fā)明提出的一種固件升級方法及系統(tǒng),提出了無線多模離線升級設(shè)備芯片的概念,按照應(yīng)用需要通過ble4.0將數(shù)據(jù)包下載到片內(nèi)flash進行存儲備份,然后通過串口輸出升級數(shù)據(jù)的方式進行離線固件包升級。這樣的升級機制便捷可靠,能有效的避開正常工作的公頻網(wǎng)絡(luò),減小現(xiàn)場設(shè)備無線通信的負擔,且無需擔心升級過程突發(fā)的異常斷電狀況,從而極大的滿足了工業(yè)及物聯(lián)網(wǎng)的需要。
附圖說明
圖1是本發(fā)明實施例涉及的固件升級系統(tǒng)架構(gòu)示意圖;
圖2是本發(fā)明固件升級方法實施例的流程示意圖;
圖3是本發(fā)明實施例固件升級的細化流程示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進一步詳述。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明涉及的固件升級系統(tǒng)架構(gòu)可以參照圖1。
如圖1所示,該系統(tǒng)包括:移動終端app(圖中以手機app為例)或中轉(zhuǎn)設(shè)備,以及升級管理芯片,所述移動終端app或中轉(zhuǎn)設(shè)備與所述升級管理芯片無線連接,其連接方式為bel4.0,這樣的連接方式可有效規(guī)避現(xiàn)有無線網(wǎng)絡(luò)的工作頻段減少對現(xiàn)場業(yè)務(wù)的影響。
所述升級管理芯片與待升級的設(shè)備升級芯片有線連接;其中:所述移動終端app或中轉(zhuǎn)設(shè)備中配置有固件升級程序。
本發(fā)明實施例的整個方案包含2個主要策略:
1、備份式固件升級機制,該機制可將需要升級的數(shù)據(jù)先下載到升級管理芯片內(nèi),再校驗數(shù)據(jù)正確無誤后就對需要升級設(shè)備芯片進行固件更新;
2、通用式升級數(shù)據(jù)輸出機制,該機制可兼容各種不同類型的升級設(shè)備,通過解析升級固件包數(shù)據(jù)將數(shù)據(jù)重組格式輸出到需要升級的設(shè)備中。
具體地,如圖2所示,本發(fā)明較佳實施例提出一種固件升級方法,包括:
步驟s101,移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)固件升級指令;
當需要對設(shè)備芯片進行升級時,用戶可以選擇通過移動終端app或中轉(zhuǎn)設(shè)備發(fā)起固件升級指令,并可以選擇移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)數(shù)據(jù)。
其中,移動終端app或中轉(zhuǎn)設(shè)備向升級管理芯片下發(fā)固件升級指令時,移動終端app或中轉(zhuǎn)設(shè)備通過所述升級管理芯片查詢所述設(shè)備升級芯片的固件版本號;若所述固件版本號為舊版本號,則所述移動終端app或中轉(zhuǎn)設(shè)備下發(fā)固件升級指令給所述升級管理芯片。
步驟s102,所述升級管理芯片在接收到固件升級指令時,將需要更新的固件包下載并存儲在所述升級管理芯片內(nèi)的flash存儲芯片內(nèi);
升級管理芯片在接收到固件升級指令時,將需要更新的固件包下載并存儲在所述升級管理芯片內(nèi)的flash存儲芯片內(nèi),由此,在離線狀態(tài)下,也可以實現(xiàn)設(shè)備固件的升級,也就是說,此時的固件升級是離線的,即升級過程中被強行斷電重新上電后又會進行固件的升級,該機制很好的彌補了ota在線升級數(shù)據(jù)的問題。
其中,所述flash存儲芯片為無線soc芯片,和設(shè)備升級芯片并非同一款芯片。
步驟s103,在下載完成后,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新。
在下載完成后,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新。
其中,所述升級管理芯片對設(shè)備升級芯片的數(shù)據(jù)升級接口為串口,這樣的升級接口方式可以兼容更多的芯片型號且數(shù)據(jù)格式標準通用遵循芯片官方定義方式。
進一步地,所述升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新的步驟之前還可以包括:
在下載完成后,所述移動終端app或中轉(zhuǎn)設(shè)備與所述升級管理芯片交互,對下載的所述固件包的數(shù)據(jù)進行校驗,在校驗成功后,所述升級管理芯片執(zhí)行升級過程。
在本實施例中,升級管理芯片通過所述固件包對待升級的設(shè)備升級芯片進行離線固件更新中,所述升級管理芯片可以通過解析升級固件包數(shù)據(jù)將數(shù)據(jù)重組格式輸出到需要升級的設(shè)備升級芯片中。
相比現(xiàn)有技術(shù),本發(fā)明提出了無線多模離線升級設(shè)備芯片的概念,按照應(yīng)用需要通過ble4.0將數(shù)據(jù)包下載到片內(nèi)flash進行存儲備份,然后通過串口輸出升級數(shù)據(jù)的方式進行離線固件包升級。這樣的升級機制便捷可靠,能有效的避開正常工作的公頻網(wǎng)絡(luò)減小現(xiàn)場設(shè)備無線通信的負擔,且無需擔心升級過程突發(fā)的異常斷電狀況。
本發(fā)明固件升級的詳細過程可以參照圖3。
如圖3所示,需要進行固件升級時,手機app或中轉(zhuǎn)設(shè)備會先詢問存儲的固件版本號,如果有版本號是舊的,則進行固件升級。此時升級管理芯片先將需要更新的固件包下載到片內(nèi)的flash內(nèi),手機app與升級管理芯片的連接方式為bel4.0,這樣的連接方式可有效規(guī)避現(xiàn)有無線網(wǎng)絡(luò)的工作頻段,減少對現(xiàn)場業(yè)務(wù)的影響,在固件包數(shù)據(jù)傳輸過程中,遇到無線鏈路中斷重連后,可以進行斷點數(shù)據(jù)重傳,且現(xiàn)場使用中還可自由選擇是通過手機app將固件包發(fā)送下去還是通過中轉(zhuǎn)設(shè)備發(fā)送下去,有效應(yīng)對現(xiàn)場使用中的各種無線問題。
當備用的升級包下載完后,升級管理芯片就會對設(shè)備芯片發(fā)起固件升級,此時的固件升級是離線的,即升級過程中被強行斷電重新上電后又會進行固件的升級,所以這個機制很好的彌補了ota在線升級數(shù)據(jù)的問題,升級管理芯片對設(shè)備芯片的數(shù)據(jù)升級接口為串口;這樣的升級接口方式可以兼容更多的芯片型號且數(shù)據(jù)格式標準通用遵循芯片官方定義方式。
以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。