亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于usb接口的嵌入式軟件升級(jí)方法及系統(tǒng)的制作方法

文檔序號(hào):6366329閱讀:221來源:國知局
專利名稱:基于usb接口的嵌入式軟件升級(jí)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種基于USB接口的嵌入式軟件升級(jí)方法及系統(tǒng)。
背景技術(shù)
嵌入式系統(tǒng)是指完全嵌入到受控器件內(nèi)部、為特定應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng),其通常與受控器件集成在一起推出,受限于器件的工作環(huán)境要求,嵌入式系統(tǒng)的體積、功耗、性能和功能通常會(huì)受到一定限制。由于嵌入式系統(tǒng)是軟硬件結(jié)合的系統(tǒng),即使不對(duì)硬件進(jìn)行改動(dòng),也能通過軟件的升級(jí)使嵌入式系統(tǒng)的性能進(jìn)一步得到提升,因此軟件升級(jí)是 嵌入式系統(tǒng)后期升級(jí)維護(hù)的一項(xiàng)重要內(nèi)容。隨著嵌入式系統(tǒng)內(nèi)容和服務(wù)越來越新、越來越豐富,軟件升級(jí)也變得越來越重要和頻繁,軟件升級(jí)的效率和可靠性往往成為嵌入式系統(tǒng)乃至整個(gè)受控器件的性能和可靠性的重要評(píng)估指標(biāo)?,F(xiàn)有技術(shù)中,嵌入式系統(tǒng)軟件升級(jí)的一般過程為將升級(jí)文件放在U盤上,同時(shí)在嵌入式系統(tǒng)中保存有升級(jí)管理程序,升級(jí)過程中依靠升級(jí)管理程序來完成控制。整個(gè)升級(jí)過程就是將新版本的升級(jí)文件拷貝到應(yīng)用程序的指定位置(有時(shí)拷貝的同時(shí)也覆蓋掉原低版本文件),升級(jí)成功后嵌入式系統(tǒng)重啟會(huì)自動(dòng)加載新版本文件運(yùn)行。但是,發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),受體積和功能的限制,現(xiàn)有技術(shù)的嵌入式系統(tǒng)通常不具備錯(cuò)誤處理能力,但其在軟件升級(jí)過程一旦發(fā)生任何錯(cuò)誤均會(huì)直接導(dǎo)致嵌入式系統(tǒng)重新啟動(dòng),由于嵌入式系統(tǒng)并不對(duì)錯(cuò)誤進(jìn)行修正,因而通常不會(huì)立即再次嘗試升級(jí)。在此情況下,對(duì)于不覆蓋原有文件的升級(jí)方式,原文件顯然可直接使用繼續(xù)工作,升級(jí)失敗的重啟顯得沒有必要,浪費(fèi)時(shí)間;而對(duì)于覆蓋原有文件的升級(jí)方式,由于原有文件已受損,失敗重啟只會(huì)使整個(gè)系統(tǒng)無法使用,同樣是種沒有意義的操作。此外,由于升級(jí)管理程序保存在嵌入式系統(tǒng)中,升級(jí)時(shí)僅更新功能軟件無法對(duì)管理程序進(jìn)行更新,一旦管理程序存在錯(cuò)誤將導(dǎo)致整個(gè)系統(tǒng)無法進(jìn)行有效的升級(jí),只能通過其他手段替換掉錯(cuò)誤的管理程序(如借助其他設(shè)備對(duì)ROM進(jìn)行重寫)再進(jìn)行升級(jí)?;蛘弋?dāng)升級(jí)涉及到管理程序時(shí),同樣需要先通過其他手段升級(jí)管理程序,再進(jìn)行功能軟件的升級(jí)。上述問題導(dǎo)致嵌入式系統(tǒng)的軟件升級(jí)過程復(fù)雜繁瑣、耗費(fèi)時(shí)間且極易發(fā)生錯(cuò)誤。另外,對(duì)于顯示裝置極其簡單甚至是沒有顯示裝置的嵌入式器件(如機(jī)頂盒等),由于升級(jí)管理程序保存在嵌入式系統(tǒng)中,即使對(duì)升級(jí)過程中的出錯(cuò)信息進(jìn)行記錄,也很難在顯示裝置上進(jìn)行詳細(xì)的顯示,依靠嵌入式系統(tǒng)本身很難分析出錯(cuò)原因和迅速改正錯(cuò)誤。

發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明為了解決現(xiàn)有技術(shù)中嵌入式軟件升級(jí)極易發(fā)生錯(cuò)誤的問題,提出了一種基于USB接口的嵌入式軟件升級(jí)方法及系統(tǒng)。( 二 )技術(shù)方案
為了實(shí)現(xiàn)上述目的,一方面,本發(fā)明提供了一種基于USB接口的嵌入式軟件升級(jí)方法,所述方法包括步驟SI,設(shè)備開啟,啟動(dòng)操作系統(tǒng),自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序;S2,升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng),檢測(cè)USB接口是否有USB存儲(chǔ)器件;如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則執(zhí)行步驟S7 ;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則執(zhí)行步驟S3 ;S3,進(jìn)一步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則執(zhí)行步驟S7 ;如找到升級(jí)管理程序,則執(zhí)行步驟S4 ;
S4,將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存,在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如成功啟動(dòng)升級(jí)管理程序,則執(zhí)行步驟S5 ;S5,升級(jí)管理程序進(jìn)一步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如新版本升級(jí)文件有效性無問題,則執(zhí)行步驟S6;S6,執(zhí)行升級(jí),將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)執(zhí)行步驟S7 ;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后轉(zhuǎn)至步驟SI再次嘗試升級(jí);S7,啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)。另一方面,本發(fā)明還同時(shí)提供一種基于USB接口的嵌入式軟件升級(jí)系統(tǒng),所述系統(tǒng)包括升級(jí)引導(dǎo)模塊、升級(jí)管理模塊和工作模塊,所述升級(jí)引導(dǎo)模塊包括引導(dǎo)模塊、USB檢測(cè)模塊、升級(jí)管理程序查找模塊和升級(jí)管理程序啟動(dòng)模塊,所述升級(jí)管理模塊包括升級(jí)文件查找模塊和升級(jí)模塊;其中,引導(dǎo)模塊,用于在設(shè)備開啟并啟動(dòng)操作系統(tǒng)后,自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序;USB存儲(chǔ)器件檢測(cè)模塊,用于在升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng)后,檢測(cè)USB接口是否有USB存儲(chǔ)器件;如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則啟動(dòng)工作模塊;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則啟動(dòng)升級(jí)管理程序查找模塊;升級(jí)管理程序查找模塊,用于進(jìn)一步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則啟動(dòng)工作模塊;如找到升級(jí)管理程序,則啟動(dòng)升級(jí)管理程序運(yùn)行模塊;升級(jí)管理程序啟動(dòng)模塊,用于將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存,在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如成功啟動(dòng)升級(jí)管理程序,則啟動(dòng)升級(jí)文件查找模塊;升級(jí)文件查找模塊,用于使升級(jí)管理程序進(jìn)一步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如新版本升級(jí)文件有效性無問題,則啟動(dòng)升級(jí)模塊;升級(jí)模塊,用于將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)啟動(dòng)工作模塊;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后重新啟動(dòng)引導(dǎo)模塊再次嘗試升級(jí);
工作模塊,用于啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)。(三)有益效果本發(fā)明的技術(shù)方案中,將整個(gè)升級(jí)程序分為系統(tǒng)閃存中的升級(jí)引導(dǎo)程序和U盤中的升級(jí)管理程序,通過該方式,在升級(jí)管理程序存在問題導(dǎo)致升級(jí)不成功時(shí),能夠很容易的在U盤上進(jìn)行修改升級(jí)管理程序本身。此外,由于升級(jí)引導(dǎo)程序很簡單、占用空間很小,僅用來啟動(dòng)U盤上的升級(jí)管理程序,和軟件版本和升級(jí)過程沒有直接關(guān)系,因此其出錯(cuò)的概率很小,也不必頻繁修改甚至完全無需修改,這樣使升級(jí)出錯(cuò)的修正工作變得容易。由于本發(fā)明的操作系統(tǒng)啟動(dòng)后,在升級(jí)無法正常進(jìn)行時(shí),會(huì)直接啟動(dòng)其它應(yīng)用程序進(jìn)入工作狀態(tài),可有效減少操作系統(tǒng)重啟浪費(fèi)的時(shí)間和對(duì)當(dāng)前工作造成的影響。最后,本發(fā)明中將升級(jí)過程中出現(xiàn)的任何錯(cuò)誤都詳細(xì)記錄在U盤上,隨后借助PC進(jìn)行錯(cuò)誤分析和修改,尤其適合機(jī)頂盒這樣的顯示裝置簡單、存儲(chǔ)空間有限的嵌入式系統(tǒng)的錯(cuò)誤修正。


圖I為本發(fā)明的實(shí)施例中基于USB接口的嵌入式軟件升級(jí)方法的處理流程示意圖;圖2為本發(fā)明的實(shí)施例中基于USB接口的嵌入式軟件升級(jí)系統(tǒng)的模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。發(fā)明提供了一種靈活、方便的基于USB接口的軟件升級(jí)方法及系統(tǒng),可以解決當(dāng)升級(jí)管理程序本身出現(xiàn)bug或升級(jí)管理程序具有局限性時(shí)無法順利實(shí)現(xiàn)USB接口的軟件升級(jí)功能的問題。本發(fā)明把可執(zhí)行升級(jí)管理程序從嵌入式系統(tǒng)軟件中獨(dú)立出來放置到USB存儲(chǔ)器件(如U盤等)上,并在設(shè)備的嵌入式系統(tǒng)中設(shè)置升級(jí)引導(dǎo)程序,用來將U盤上的升級(jí)管理程序拷貝到系統(tǒng)RAM并運(yùn)行,實(shí)現(xiàn)升級(jí);并且如果由于升級(jí)管理程序本身有BUG或由于新老版本差異大而導(dǎo)致升級(jí)出錯(cuò),會(huì)自動(dòng)的把相應(yīng)出錯(cuò)信息輸出到U盤中,便于分析原因和修改。具體地,參見圖1,本發(fā)明的實(shí)施例中基于USB接口的嵌入式軟件升級(jí)方法包括步驟SI,設(shè)備開啟,啟動(dòng)操作系統(tǒng),自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序;S2,升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng),檢測(cè)USB接口是否有USB存儲(chǔ)器件(如U盤等);如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則執(zhí)行步驟S7 ;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則執(zhí)行步驟S3 ;S3,進(jìn)一步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則執(zhí)行步驟S7 ;如找到升級(jí)管理程序,則執(zhí)行步驟S4 ;S4,將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存(如RAM等),在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如成功啟動(dòng)升級(jí)管理程序,則執(zhí)行步驟S5 ;S5,升級(jí)管理程序進(jìn)一步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如新版本升級(jí)文件有效性無問題,則執(zhí)行步驟S6;S6,執(zhí)行升級(jí),將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)執(zhí)行步驟S7 ;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后轉(zhuǎn)至步驟SI再次嘗試升級(jí);S7,啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)。下面結(jié)合具體的實(shí)施例對(duì)本發(fā)明的方法做進(jìn)一步的說明。以海信傳媒HIT500型 機(jī)頂盒軟件從3. 2版本升級(jí)到4. I版本為例,這兩個(gè)版本差別很大應(yīng)用軟件在3. 2版本中所在的目錄只有一個(gè)Aisr/local/app,而4. I版本由于應(yīng)用種類和數(shù)量增多,除了 Aisr/local/app目錄外,還新創(chuàng)建了一個(gè)目錄/usr/local/business用來存儲(chǔ)部分應(yīng)用軟件,由于目錄Aisr/local/business只是在4. I的系統(tǒng)上創(chuàng)建的,3. 2版本沒有,所以3. 2版本的升級(jí)管理程序沒有創(chuàng)建該目錄的相關(guān)操作,這樣,3. 2版本升級(jí)管理程序就不能支持從3. 2版本到4. I版本的升級(jí),如果該升級(jí)管理程序是固化在嵌入式系統(tǒng)中的話,那它就不能完成從3. 2到4. I版本升級(jí),只能通過其它方式來完成,比如先升級(jí)到一個(gè)過渡版本,再從過渡版本升級(jí)到4. I版本,但會(huì)使得升級(jí)過程變得更復(fù)雜,耗時(shí)長,也增加了升級(jí)過程中出問題的幾率。此外,由于機(jī)頂盒本身只有很簡單的顯示裝置,因此升級(jí)過程及出錯(cuò)信息很難通過機(jī)頂盒顯示屏幕去顯示,況且有很多情況是未知的,如升級(jí)管理程序帶有BUG、新老版本差異大導(dǎo)致兼容性差等,而簡單的出錯(cuò)類型提示并不足以使工作人員找到問題所在。采用本發(fā)明的方法就可以很好的解決上述問題,以下是該機(jī)頂盒軟件升級(jí)的具體操作步驟I.嵌入式系統(tǒng)中升級(jí)之前的軟件版本是3. 2,USB設(shè)備中的升級(jí)管理程序版本也是3. 2,由于3. 2版本升級(jí)管理程序沒有創(chuàng)建目錄八isr/local/business的操作,所以該版本不支持從3. 2到4. I的軟件升級(jí)。2.由于升級(jí)管理程序不是固化在嵌入式系統(tǒng)中,而是在USB設(shè)備上,這樣,可以單獨(dú)將USB設(shè)備上的3. 2版本升級(jí)管理程序進(jìn)行更新(創(chuàng)建目錄/usr/local/business等操作),更新到4. I版本,使得其支持從3. 2版本到4. I版本的軟件升級(jí)。3.將存儲(chǔ)4. I版本升級(jí)管理程序的USB設(shè)備插入到嵌入式系統(tǒng)中,重啟機(jī)頂盒就可以完成從3. 2到4. I的軟件升級(jí)過程了。4.如果升級(jí)過程中有問題,可以將USB設(shè)備中的升級(jí)管理程序再次更新,更新后將USB設(shè)備插入到嵌入式系統(tǒng)中,重啟系統(tǒng)重新開始升級(jí),直到升級(jí)成功。這樣,對(duì)機(jī)頂盒來說,本發(fā)明的方法具有以下優(yōu)勢(shì)I.由于設(shè)置了升級(jí)引導(dǎo)程序,升級(jí)管理程序本身或U盤存儲(chǔ)的有問題,無法正常啟動(dòng)升級(jí)管理程序時(shí),系統(tǒng)會(huì)繼續(xù)執(zhí)行其它應(yīng)用程序,運(yùn)行舊版本,使機(jī)頂盒仍可以正常使用;2.在執(zhí)行升級(jí)時(shí)是訪問U盤并將其上的升級(jí)管理程序拷貝到RAM中運(yùn)行的,而不像現(xiàn)有技術(shù)那樣是從系統(tǒng)的FLASH中拷貝到RAM中運(yùn)行的,這樣一方面節(jié)約了 FLASH的存儲(chǔ)空間,另一方面,由于升級(jí)管理程序放置在U盤上,在升級(jí)出錯(cuò)時(shí)很容易拿到PC上去分析原因和修改。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括上述實(shí)施例方法的各步驟,而所述的存儲(chǔ)介質(zhì)可以是R0M/RAM、磁碟、光盤、存儲(chǔ)卡等。因此,與本發(fā)明的方法相對(duì)應(yīng)的,本發(fā)明還同時(shí)包括一種基于USB接口的嵌入式軟件升級(jí)系統(tǒng),該系統(tǒng)通常以與方法各步驟相對(duì)應(yīng)的功能模塊的形式表示;如圖2所示,所述系統(tǒng)包括升級(jí)引導(dǎo)模塊、升級(jí)管理模塊和工作模塊,所述升級(jí)引導(dǎo)模塊包括引導(dǎo)模塊、USB檢測(cè)模塊、升級(jí)管理程序查找模塊和升級(jí)管理程序啟動(dòng)模塊,所述升級(jí)管理模塊包括升級(jí)文件查找模塊和升級(jí)模塊;其中,引導(dǎo)模塊,用于在設(shè)備開啟并啟動(dòng)操作系統(tǒng)后,自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序;USB存儲(chǔ)器件檢測(cè)模塊,用于在升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng)后,檢測(cè)USB接口是否有USB存儲(chǔ)器件;如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則啟動(dòng)工作模塊;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則啟 動(dòng)升級(jí)管理程序查找模塊;升級(jí)管理程序查找模塊,用于進(jìn)一步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則啟動(dòng)工作模塊;如找到升級(jí)管理程序,則啟動(dòng)升級(jí)管理程序運(yùn)行模塊;升級(jí)管理程序啟動(dòng)模塊,用于將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存,在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如成功啟動(dòng)升級(jí)管理程序,則啟動(dòng)升級(jí)文件查找模塊;升級(jí)文件查找模塊,用于使升級(jí)管理程序進(jìn)一步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如新版本升級(jí)文件有效性無問題,則啟動(dòng)升級(jí)模塊;升級(jí)模塊,用于將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)啟動(dòng)工作模塊;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后重新啟動(dòng)引導(dǎo)模塊再次嘗試升級(jí);工作模塊,用于啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)??梢钥闯?,本發(fā)明的技術(shù)方案中,將整個(gè)升級(jí)程序分為系統(tǒng)閃存中的升級(jí)引導(dǎo)程序和U盤中的升級(jí)管理程序,通過該方式,在升級(jí)管理程序存在問題導(dǎo)致升級(jí)不成功時(shí),能夠很容易的在U盤上進(jìn)行修改升級(jí)管理程序本身。此外,由于升級(jí)引導(dǎo)程序很簡單、占用空間很小,僅用來啟動(dòng)U盤上的升級(jí)管理程序,和軟件版本和升級(jí)過程沒有直接關(guān)系,因此其出錯(cuò)的概率很小,也不必頻繁修改甚至完全無需修改,這樣使升級(jí)出錯(cuò)的修正工作變得容易。由于本發(fā)明的操作系統(tǒng)啟動(dòng)后,在升級(jí)無法正常進(jìn)行時(shí),會(huì)直接啟動(dòng)其它應(yīng)用程序進(jìn)入工作狀態(tài),可有效減少操作系統(tǒng)重啟浪費(fèi)的時(shí)間和對(duì)當(dāng)前工作造成的影響。最后,本發(fā)明中將升級(jí)過程中出現(xiàn)的任何錯(cuò)誤都詳細(xì)記錄在U盤上,隨后借助PC進(jìn)行錯(cuò)誤分析和修改,尤其適合機(jī)頂盒這樣的顯示裝置簡單、存儲(chǔ)空間有限的嵌入式系統(tǒng)的錯(cuò)誤修正。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇, 本發(fā)明的發(fā)明保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種基于USB接ロ的嵌入式軟件升級(jí)方法,其特征在于,所述方法包括步驟 Si,設(shè)備開啟,啟動(dòng)操作系統(tǒng),自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序; S2,升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng),檢測(cè)USB接ロ是否有USB存儲(chǔ)器件;如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則執(zhí)行步驟S7 ;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則執(zhí)行步驟S3 ; S3,進(jìn)ー步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則執(zhí)行步驟S7 ;如找到升級(jí)管理程序,則執(zhí)行步驟S4 ; S4,將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存,在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如成功啟動(dòng)升級(jí)管理程序,則執(zhí)行步驟S5; S5,升級(jí)管理程序進(jìn)ー步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后執(zhí)行步驟S7 ;如新版本升級(jí)文件有效性無問題,則執(zhí)行步驟S6 ; S6,執(zhí)行升級(jí),將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)執(zhí)行步驟S7 ;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后轉(zhuǎn)至步驟SI再次嘗試升級(jí); S7,啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,步驟S5中,在向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息時(shí),分別記錄不存在新版本升級(jí)文件的問題和新版本升級(jí)文件的版本有效性問題。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,步驟S6中,根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,在PC機(jī)上對(duì)升級(jí)管理程序或升級(jí)文件進(jìn)行修改。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述升級(jí)引導(dǎo)程序存儲(chǔ)在所述設(shè)備的ROM中。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述設(shè)備為機(jī)頂盒、電視或移動(dòng)終端。
6.一種基于USB接ロ的嵌入式軟件升級(jí)系統(tǒng),其特征在干,所述系統(tǒng)包括升級(jí)引導(dǎo)模塊、升級(jí)管理模塊和工作模塊,所述升級(jí)引導(dǎo)模塊包括引導(dǎo)模塊、USB檢測(cè)模塊、升級(jí)管理程序查找模塊和升級(jí)管理程序啟動(dòng)模塊,所述升級(jí)管理模塊包括升級(jí)文件查找模塊和升級(jí)模塊;其中, 引導(dǎo)模塊,用于在設(shè)備開啟并啟動(dòng)操作系統(tǒng)后,自動(dòng)啟動(dòng)運(yùn)行升級(jí)引導(dǎo)程序; USB檢測(cè)模塊,用于在升級(jí)引導(dǎo)程序加載USB驅(qū)動(dòng)后,檢測(cè)USB接ロ是否有USB存儲(chǔ)器件;如沒有發(fā)現(xiàn)USB存儲(chǔ)器件,則啟動(dòng)工作模塊;如發(fā)現(xiàn)有USB存儲(chǔ)器件,則啟動(dòng)升級(jí)管理程序查找模塊; 升級(jí)管理程序查找模塊,用于進(jìn)ー步掃描USB存儲(chǔ)器件,在USB存儲(chǔ)器件上查找升級(jí)管理程序;如未找到升級(jí)管理程序,則啟動(dòng)工作模塊;如找到升級(jí)管理程序,則啟動(dòng)升級(jí)管理程序運(yùn)行模塊; 升級(jí)管理程序啟動(dòng)模塊,用于將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存,在系統(tǒng)內(nèi)存中運(yùn)行啟動(dòng)升級(jí)管理程序;如不能成功啟動(dòng)升級(jí)管理程序,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如成功啟動(dòng)升級(jí)管理程序,則啟動(dòng)升級(jí)文件查找模塊; 升級(jí)文件查找模塊,用于使升級(jí)管理程序進(jìn)ー步掃描USB存儲(chǔ)器件,查找USB存儲(chǔ)器件上是否有新版本的升級(jí)文件;如未在USB存儲(chǔ)器件上找到新版本升級(jí)文件或新版本升級(jí)文件的版本有效性存在問題,則向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息后啟動(dòng)工作模塊;如新版本升級(jí)文件有效性無問題,則啟動(dòng)升級(jí)模塊; 升級(jí)模塊,用于將新版本升級(jí)文件拷貝到系統(tǒng)閃存中的指定位置;若升級(jí)成功,則重啟設(shè)備后運(yùn)行新系統(tǒng)啟動(dòng)工作模塊;如升級(jí)不成功,則根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后重新啟動(dòng)引導(dǎo)模塊再次嘗試升級(jí); 工作模塊,用于啟動(dòng)其它應(yīng)用程序,使設(shè)備處于正常工作狀態(tài)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,在升級(jí)文件查找模塊向USB存儲(chǔ)器件輸出相應(yīng)出錯(cuò)信息時(shí),分別記錄不存在新版本升級(jí)文件的問題和新版本升級(jí)文件的版本有效性問題。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)進(jìn)ー步包括錯(cuò)誤修正模塊,用 于根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,在PC機(jī)上對(duì)升級(jí)管理程序或升級(jí)文件進(jìn)行修改。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述升級(jí)引導(dǎo)程序存儲(chǔ)在所述設(shè)備的ROM中。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述設(shè)備為機(jī)頂盒、電視或移動(dòng)終端。
全文摘要
本發(fā)明涉及嵌入式系統(tǒng)技術(shù)領(lǐng)域,提供了一種基于USB接口的嵌入式軟件升級(jí)方法及系統(tǒng)。該方法包括設(shè)備開啟后運(yùn)行升級(jí)引導(dǎo)程序,在USB存儲(chǔ)器件上查找升級(jí)管理程序并將升級(jí)管理程序拷貝到系統(tǒng)內(nèi)存運(yùn)行;查找USB存儲(chǔ)器件上的新版本的升級(jí)文件進(jìn)行升級(jí);若任一步驟無法繼續(xù)則直接使設(shè)備處于正常工作狀態(tài),同時(shí)根據(jù)USB存儲(chǔ)器件的出錯(cuò)信息,修改升級(jí)管理程序或升級(jí)文件后再次嘗試升級(jí)。本發(fā)明中,將整個(gè)升級(jí)程序分為系統(tǒng)閃存中的升級(jí)引導(dǎo)程序和U盤中的升級(jí)管理程序,在升級(jí)管理程序存在問題導(dǎo)致升級(jí)不成功時(shí),能夠很容易地在U盤上進(jìn)行修改升級(jí)管理程序本身。此外在無法正常升級(jí)時(shí)直接進(jìn)入工作狀態(tài),有效減少重啟時(shí)間和對(duì)當(dāng)前工作的影響。
文檔編號(hào)G06F13/38GK102662689SQ20121006660
公開日2012年9月12日 申請(qǐng)日期2012年3月15日 優(yōu)先權(quán)日2012年3月15日
發(fā)明者劉立華 申請(qǐng)人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1