一種未聯(lián)網(wǎng)設(shè)備固件升級方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及固件升級領(lǐng)域,特別是涉及一種未聯(lián)網(wǎng)設(shè)備固件升級方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]目前,對于不可接入互聯(lián)網(wǎng)或是未能接入互聯(lián)網(wǎng)等未聯(lián)網(wǎng)設(shè)備,當(dāng)對其進(jìn)行固件進(jìn)行升級時(shí),一般通過對該設(shè)備進(jìn)行拆機(jī),或是通過特定的升級端口的方法對其進(jìn)行固件升級,無論是通過對未聯(lián)網(wǎng)設(shè)備進(jìn)行拆機(jī)的方法還是通過特定的端口進(jìn)行升級的方法對未聯(lián)網(wǎng)設(shè)備固件進(jìn)行升級,均操作過程復(fù)雜,且均需要技術(shù)人員到達(dá)現(xiàn)場參與才能完成。并且,當(dāng)需要對多個(gè)分散在各處的未聯(lián)網(wǎng)設(shè)備進(jìn)行固件升級時(shí),需要通過技術(shù)人員四處奔走,或提高技術(shù)人員的數(shù)目才可快速完成對所有未聯(lián)網(wǎng)設(shè)備的固件進(jìn)行升級,較為費(fèi)時(shí)費(fèi)力。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實(shí)施例提供一種未聯(lián)網(wǎng)設(shè)備固件升級方法、裝置和系統(tǒng),以解決現(xiàn)有技術(shù)中對未聯(lián)網(wǎng)設(shè)備固件進(jìn)行升級,操作過程復(fù)雜,且均需要技術(shù)人員到達(dá)現(xiàn)場參與才能完成,固件升級速度緩慢,并且,當(dāng)對多個(gè)分散在各處的未聯(lián)網(wǎng)設(shè)備進(jìn)行固件升級時(shí),較為費(fèi)時(shí)費(fèi)力的問題。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
[0005]一種未聯(lián)網(wǎng)設(shè)備固件升級方法,包括:
[0006]接收終端發(fā)送來的第一升級指令;
[0007]根據(jù)所述第一升級指令從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù),并通過通信接口向未聯(lián)網(wǎng)設(shè)備發(fā)送第二升級指令,控制所述未聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式;
[0008]將所述升級數(shù)據(jù)通過所述通信接口發(fā)送至所述未聯(lián)網(wǎng)設(shè)備,使所述進(jìn)入升級模式的未聯(lián)網(wǎng)設(shè)備接收到所述升級數(shù)據(jù)并根據(jù)所述升級數(shù)據(jù)對其內(nèi)的固件進(jìn)行升級。
[0009]其中,所述接收終端發(fā)送來的第一升級指令;根據(jù)所述第一升級指令從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù)包括;
[0010]接收終端通過無線網(wǎng)絡(luò)發(fā)送來的第一升級指令;
[0011 ] 根據(jù)所述第一升級指令通過無線網(wǎng)絡(luò)從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù)。
[0012]其中,所述接收終端發(fā)送來的第一升級指令前還包括:
[0013]終端獲取服務(wù)器內(nèi)升級數(shù)據(jù)的版本信息;
[0014]判斷所述版本信息與上次獲取的版本信息是否相同,若不同,則顯示升級咨詢信息;
[0015]若接收到確定升級指令,則向未聯(lián)網(wǎng)設(shè)備固件升級裝置發(fā)送第一升級指令。
[0016]其中,所述根據(jù)所述第一升級指令從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù)后還包括:
[0017]判斷所述升級數(shù)據(jù)是否完整;
[0018]若完整,則對所述升級數(shù)據(jù)進(jìn)行校驗(yàn),判斷所述升級數(shù)據(jù)內(nèi)數(shù)據(jù)是否無誤;
[0019]若無誤,則將所述升級數(shù)據(jù)通過通信接口發(fā)送至所述未聯(lián)網(wǎng)設(shè)備。
[0020]其中,所述通過通信接口向未聯(lián)網(wǎng)設(shè)備發(fā)送第二升級指令,控制所述未聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式前還包括:
[0021]所述未聯(lián)網(wǎng)設(shè)備初始化系統(tǒng),檢測其內(nèi)flash存儲器末尾是否存在升級標(biāo)志;
[0022]若不存在,則檢測其內(nèi)固件是否有效;
[0023]若有效,則進(jìn)入正常模式。
[0024]其中,所述未聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式包括:
[0025]所述未聯(lián)網(wǎng)設(shè)備接收未聯(lián)網(wǎng)設(shè)備固件升級裝置發(fā)送來的第二升級指令,在其內(nèi)flash存儲器末尾寫入升級標(biāo)志;
[0026]初始化系統(tǒng),當(dāng)檢測到其內(nèi)flash存儲器末尾的升級標(biāo)志時(shí),進(jìn)入通信啟動(dòng)程序,初始化所述通信通信接口,進(jìn)入升級模式。
[0027]其中,所述未聯(lián)網(wǎng)設(shè)備接收到所述升級數(shù)據(jù)并根據(jù)所述升級數(shù)據(jù)對其內(nèi)的固件進(jìn)行升級包括:
[0028]所述未聯(lián)網(wǎng)設(shè)備接收所述升級數(shù)據(jù),并將所述升級數(shù)據(jù)存儲于內(nèi)存中;
[0029]獲取所述計(jì)算數(shù)據(jù)的當(dāng)前升級數(shù)據(jù)包,對所述當(dāng)前升級數(shù)據(jù)包進(jìn)行解析;
[0030]根據(jù)解析結(jié)果判斷所述當(dāng)前升級數(shù)據(jù)包是否有效,若有效,則將所述當(dāng)前升級數(shù)據(jù)包內(nèi)數(shù)據(jù)寫入所述flash存儲器對應(yīng)的扇區(qū);
[0031]獲取所述升級數(shù)據(jù)的下一升級數(shù)據(jù)包,直至所述升級數(shù)據(jù)全部寫入所述flash存儲器扇區(qū),刪除所述flash存儲器末尾的升級標(biāo)志。
[0032]其中,所述將所述當(dāng)前升級數(shù)據(jù)包內(nèi)數(shù)據(jù)寫入所述flash存儲器對應(yīng)的扇區(qū)包括:
[0033]確定所述當(dāng)前升級數(shù)據(jù)包在所述flash存儲器對應(yīng)的扇區(qū);
[0034]擦除所述扇區(qū)內(nèi)數(shù)據(jù);
[0035]將所述當(dāng)前升級數(shù)據(jù)包內(nèi)數(shù)據(jù)寫入所述扇區(qū)。
[0036]一種未聯(lián)網(wǎng)設(shè)備固件升級裝置,包括:接收模塊、處理模塊和發(fā)送模塊;其中,
[0037]所述接收模塊,用于接收終端發(fā)送來的第一升級指令;
[0038]所述處理模塊,用于根據(jù)所述第一升級指令從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù),并通過通信接口向未聯(lián)網(wǎng)設(shè)備發(fā)送第二升級指令,控制所述未聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式;
[0039]所述發(fā)送模塊,將所述升級數(shù)據(jù)通過所述通信接口發(fā)送至所述未聯(lián)網(wǎng)設(shè)備,使所述進(jìn)入升級模式的未聯(lián)網(wǎng)設(shè)備接收到所述升級數(shù)據(jù)并根據(jù)所述升級數(shù)據(jù)對其內(nèi)的固件進(jìn)行升級。
[0040]一種未聯(lián)網(wǎng)設(shè)備固件升級系統(tǒng),包括:終端、服務(wù)器、上述未聯(lián)網(wǎng)設(shè)備固件升級裝置和未聯(lián)網(wǎng)設(shè)備;其中,
[0041]所述終端,用于向所述未聯(lián)網(wǎng)設(shè)備固件升級裝置發(fā)送第一升級指令;
[0042]所述服務(wù)器,用于存儲升級數(shù)據(jù);
[0043]所述未聯(lián)網(wǎng)設(shè)備固件升級裝置,用于接收終端發(fā)送來的第一升級指令;根據(jù)所述第一升級指令從服務(wù)器獲取相對應(yīng)的升級數(shù)據(jù),并通過通信接口向未聯(lián)網(wǎng)設(shè)備發(fā)送第二升級指令,控制所述未聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式;將所述升級數(shù)據(jù)通過所述通信接口發(fā)送至所述未聯(lián)網(wǎng)設(shè)備,使所述進(jìn)入升級模式的未聯(lián)網(wǎng)設(shè)備接收到所述升級數(shù)據(jù)并根據(jù)所述升級數(shù)據(jù)對其內(nèi)的固件進(jìn)行升級;
[0044]所述未聯(lián)網(wǎng)設(shè)備,與所述未聯(lián)網(wǎng)設(shè)備固件升級裝置通過通信接口進(jìn)行數(shù)據(jù)交互,用于接收所述未聯(lián)網(wǎng)設(shè)備固件升級裝置通過所述通信接口發(fā)送的第二升級指令,進(jìn)入升級模式;接收所述未聯(lián)網(wǎng)設(shè)備固件升級裝置通過所述通信接口發(fā)送來的升級數(shù)據(jù),并根據(jù)所述升級數(shù)據(jù)對其內(nèi)固件進(jìn)行升級。
[0045]基于上述技術(shù)方案,本發(fā)明實(shí)施例提供一種未聯(lián)網(wǎng)設(shè)備固件升級方法、裝置和系統(tǒng),當(dāng)用戶需要對未聯(lián)網(wǎng)設(shè)備固件進(jìn)行升級時(shí),通過終端向未聯(lián)網(wǎng)設(shè)備固件升級裝置發(fā)送第一升級指令,該未聯(lián)網(wǎng)設(shè)備固件升級裝置接收到終端發(fā)送來的第一升級指令后,根據(jù)該第一升級指令從服務(wù)器獲取相應(yīng)的升級數(shù)據(jù),并通過向需要進(jìn)行固件升級的未聯(lián)網(wǎng)設(shè)備發(fā)送第二升級指令,使該需要進(jìn)行固件升級的未聯(lián)網(wǎng)設(shè)備接入升級模式,之后,未聯(lián)網(wǎng)設(shè)備固件升級裝置將從服務(wù)器獲取的升級數(shù)據(jù)通過通信接口發(fā)送給未聯(lián)網(wǎng)設(shè)備,使該未聯(lián)網(wǎng)設(shè)備對其內(nèi)的固件進(jìn)行升級。用戶通過終端以無線通信或是有線通信的方式與未聯(lián)網(wǎng)設(shè)備固件升級裝置進(jìn)行通信,遠(yuǎn)程控制該未聯(lián)網(wǎng)設(shè)備固件升級裝置從服務(wù)器獲取升級數(shù)據(jù),并且,該未聯(lián)網(wǎng)設(shè)備固件升級裝置與需要進(jìn)行固件升級的無聯(lián)網(wǎng)設(shè)備通過通信總線進(jìn)行連續(xù),通過該通信總線控制該聯(lián)網(wǎng)設(shè)備進(jìn)入升級模式并通過該通信總線向其發(fā)送升級數(shù)據(jù),使該需要進(jìn)行固件升級的未聯(lián)網(wǎng)設(shè)備進(jìn)行固件升級,只需要用戶通過終端發(fā)送第一升級指令,便可實(shí)現(xiàn)對未聯(lián)網(wǎng)設(shè)備的固件進(jìn)行升級的操作,操作簡單,且實(shí)現(xiàn)了對未聯(lián)網(wǎng)設(shè)備固件的遠(yuǎn)程控制升級,無需用戶到達(dá)該未聯(lián)網(wǎng)設(shè)備所在地來對其進(jìn)行固件升級,當(dāng)需要對多個(gè)分散在各處的未聯(lián)網(wǎng)設(shè)備進(jìn)行固件升級時(shí),也只需要用戶通過終端向外發(fā)送第一升級指令便可對所有分散在各處的未聯(lián)網(wǎng)設(shè)備的固件進(jìn)行升級,無需用戶四處奔走,較為省時(shí)省力。
【附圖說明】
[0046]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0047]圖1為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法的流程圖;
[0048]圖2為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中判斷是否對未聯(lián)網(wǎng)設(shè)備固件進(jìn)行升級的方法流程圖;
[0049]圖3為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中判斷從服務(wù)器獲取的升級數(shù)據(jù)是否完整且無誤的方法流程圖;
[0050]圖4為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中判定未聯(lián)網(wǎng)設(shè)備進(jìn)行正常模式還是升級模式的方法流程圖;
[0051]圖5為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中在未聯(lián)網(wǎng)設(shè)備的flash存儲器末尾寫入升級標(biāo)志的方法流程圖;
[0052]圖6為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中未聯(lián)網(wǎng)設(shè)備根據(jù)升級數(shù)據(jù)對其內(nèi)的固件進(jìn)行升級的方法流程圖;
[0053]圖7為本發(fā)明實(shí)施例提供的未聯(lián)網(wǎng)設(shè)備固件升級方法中將當(dāng)前升級數(shù)據(jù)包內(nèi)數(shù)據(jù)寫入扇區(qū)的方法