專利名稱:一種嵌入式系統(tǒng)和嵌入式軟件升級方法
一種嵌入式系統(tǒng)和嵌入式軟件升級方法
技術(shù)領(lǐng) 域本發(fā)明涉及電子技術(shù)領(lǐng)域,更具體地說,涉及一種嵌入式系統(tǒng)和嵌入式軟件升級方法。
背景技術(shù):
嵌入式系統(tǒng)是指用于執(zhí)行獨立功能的專用計算機系統(tǒng)。它由包括微處理器、定時 器、微控制器、存儲器、傳感器等一系列微電子芯片與器件,和嵌入在存儲器中的微型操作 系統(tǒng)、控制應(yīng)用軟件組成,共同實現(xiàn)諸如實時控制、監(jiān)視、管理、移動計算、數(shù)據(jù)處理等各種 自動化處理任務(wù)。嵌入式系統(tǒng)以應(yīng)用為中心,以微電子技術(shù)、控制技術(shù)、計算機技術(shù)和通訊 技術(shù)為基礎(chǔ),強調(diào)硬件軟件的協(xié)同性與整合性,軟件與硬件可剪裁,以滿足系統(tǒng)對功能、成 本、體積和功耗等要求。嵌入式軟件就是基于嵌入式系統(tǒng)設(shè)計的軟件,它也是計算機軟件的 一種,同樣由程序及其文檔組成,可細分成系統(tǒng)軟件、支撐軟件、應(yīng)用軟件三類,是嵌入式系 統(tǒng)的重要組成部分。嵌入式系統(tǒng)設(shè)備在升級過程中,可能存在某些原因,如突然斷電、誤操 作等,造成升級失敗,這要求對軟件升級的可靠性提供保障,確保升級成功?,F(xiàn)有技術(shù)中,通常的做法是采用可讀可寫的閃存(flash memory)作為升級專用存 儲器,內(nèi)部存放升級鏡像文件,通過燒錄座將鏡像文件燒錄到閃存里或者進入升級模式執(zhí) 行相應(yīng)的命令來升級程序。這種方式雖然升級的實現(xiàn)過程比較簡單,但是存在如下缺點如 果嵌入式軟件有更新需要頻繁升級軟件則不方便,升級過程中遇到斷電,誤操作等則需要 重新擦除已有鏡像文件燒入新鏡像文件,增加了技術(shù)支持人員的操作的復(fù)雜性,從而增加 了成本。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有升級容易發(fā)生誤操作、復(fù)雜、不方便的缺 陷,提供一種嵌入式系統(tǒng)和嵌入式軟件升級方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種嵌入式系統(tǒng),其包括升級壓縮包裝載模塊,用于從外界存儲設(shè)備上裝載升級壓縮包,讀取所述升級壓 縮包的校驗碼;升級壓縮包解壓模塊,用于將預(yù)置的校驗碼與所述讀取的校驗碼進行比較,如果 相同,則開始解壓所述升級壓縮包,如果不同則程序退出,提示升級失?。豢截惸K,用于將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄;檢測模塊,用于檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行 升級。其中,優(yōu)選的,該系統(tǒng)還包括升級狀態(tài)顯示模塊,用于在顯示終端上顯示升級狀 態(tài)。其中,進一步的,所述升級狀態(tài)包括升級成功狀態(tài)或者升級失敗狀態(tài)。
其中,進一步的,所述拷貝模塊,用于將解壓所述升級壓縮包后得到內(nèi)核程序復(fù) 制到內(nèi)核程序目錄,將解壓所述升級壓縮包后得到保護程序復(fù)制到保護程序目錄,將解壓 所述升級壓縮包后得到應(yīng)用程序復(fù)制到應(yīng)用程序目錄。本發(fā)明還提供一種嵌入式軟件升級方法,其包括步驟從外界存儲設(shè)備上裝載升級壓縮包,獲取所述升級壓縮包的校驗碼;將預(yù)置的校驗碼與所述獲取的校驗碼進行比較,如果相同,則開始解壓所述升級 壓縮包,如果不同則程序退出,提示升級失?。粚⒔鈮核錾墘嚎s包后得到程序分別復(fù)制到相對應(yīng)的目錄;檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級。其中,檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級;或者 提示升級失敗,之后進一步包括步驟在顯示終端上顯示升級狀態(tài)。其中,進一步的,所述將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目 錄;具體包括將解壓所述升級壓縮包后得到內(nèi)核程序復(fù)制到內(nèi)核程序目錄,將解壓所述升級壓 縮包后得到保護程序復(fù)制到保護程序目錄,將解壓所述升級壓縮包后得到應(yīng)用程序復(fù)制到 應(yīng)用程序目錄。實施本發(fā)明的技術(shù)方案,具有以下有益效果使嵌入式系統(tǒng)設(shè)備在升級過程中,防 止可能存在的某些原因,如突然斷電、誤操作等,造成的升級失敗,為嵌入式系統(tǒng)設(shè)備的軟 件升級的可靠性提供保障,確保升級成功。適用于在已有閃存分區(qū)基礎(chǔ)上,對需要頻繁升級 的設(shè)備頻繁升級。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中圖1是本發(fā)明實施例提供的嵌入式軟件升級方法的流程圖;圖2是本發(fā)明實施例提供的嵌入式軟件升級方法的應(yīng)用實施例流程圖;圖3是本發(fā)明實施例提供的嵌入式系統(tǒng)的結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。本發(fā)明實施例提供一種嵌入式軟件升級方法,如圖1所示,包括步驟11、從外界存儲設(shè)備上裝載升級壓縮包,獲取所述升級壓縮包的校驗碼;所述外界設(shè)備包括U盤、移動硬盤等,所述升級壓縮包是嵌入式系統(tǒng)所要升級的 壓縮包。12、將預(yù)置的校驗碼與所述獲取的校驗碼進行比較,如果相同,則開始解壓所述升 級壓縮包,如果不同則程序退出,提示升級失??; 該預(yù)置的校驗碼是嵌入式系統(tǒng)中已經(jīng)存放的校驗碼,把該已經(jīng)存放的校驗碼與該壓縮包的校驗碼進行對比。
13、將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄;將解壓所述升級壓縮包后得到內(nèi)核程序復(fù)制到內(nèi)核程序目錄,將解壓所述升級壓 縮包后得到保護程序復(fù)制到保護程序目錄,將解壓所述升級壓縮包后得到應(yīng)用程序復(fù)制到 應(yīng)用程序目錄。具體為將內(nèi)核(kernel)程序(vmlinux.bin)復(fù)制到閃存(flash)分區(qū)/ boot/目錄下,將內(nèi)核(kernel)包含文件系統(tǒng)的保護程序(vmlinuxjescue. bin)復(fù)制到閃 存(flash)分區(qū)/boot/目錄下,該保護程序用于升級失敗時,作為內(nèi)核(kernel)程序保護 程序來升級,將應(yīng)用程序(home, img)拷貝到閃存(flash)分區(qū)/dev/mmc6目錄下。14、檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級。具體為檢測復(fù)制到閃存的內(nèi)核程序(vmlinux. bin)是否正確,檢測拷貝到閃存 kernel包含文件系統(tǒng)的保護程序(vmlinux_rescue.bin)是否正確,檢測復(fù)制到閃存的應(yīng) 用程序(home, img)是否正確。如果正確則進行升級。如果不正確,則升級失敗,向用戶顯 示升級失敗狀態(tài)。下面結(jié)合圖2描述上述實施例的一個應(yīng)用實施例。如圖2所示,該嵌入式軟件升 級方法應(yīng)用實施例包括步驟101、裝載升級壓縮包;102、判斷該裝載是否失敗,如果失敗,則進行步驟117,退出壓縮包的升級,如果沒 有失敗,則進行步驟103;103、驗證升級包校驗碼是否正確;104、判斷驗證校驗碼是否失??;如果失敗,則進行步驟117 ;如果沒有失敗,則進 行步驟105 ;105、退出主程序;106、執(zhí)行升級程序;107、判斷執(zhí)行升級程序是否失敗,如果失敗,則進行步驟117,如果沒有失敗,則進 行步驟108 ;108、解壓縮升級壓縮包;109、判斷解壓縮升級壓縮包是否失敗,如果失敗,則進行步驟117,如果沒有失敗, 則進行步驟110 ;110、將內(nèi)核(kernel)程序(vmlinux. bin)復(fù)制到閃存(flash)分區(qū) /boot/ 目錄 下;111、檢測所述內(nèi)核程序(vmlinux.bin)是否正確,如果正確,則進行步驟112,如 果不正確,則進行步驟117;112、將內(nèi)核(kernel)包含文件系統(tǒng)的保護程序(vmlinux rescue, bin)復(fù)制到閃 存(flash)分區(qū)/boot/目錄下;113、檢測拷貝到閃存kernel包含文件系統(tǒng)的保護程序(vmlinuxjescue. bin)是 否正確,如果不正確,則進行步驟117,如果正確,則進行步驟114 ;114、將應(yīng)用程序(home, img)拷貝到閃存(flash)分區(qū)/dev/mmc6目錄下;115、檢測復(fù)制到閃存的應(yīng)用程序(home, img)是否正確,如果不正確,則進行步驟 118,如果正確,則進行步驟116 ;
116、軟 件升級成功,重新啟動設(shè)備,進行步驟118。117、軟件升級失敗,下次重新升級,進行步驟118 ;118、退出該升級過程。本發(fā)明實施例還提供一種嵌入式系統(tǒng),如圖3所示,該系統(tǒng)包括升級壓縮包裝載模塊201,用于從外界存儲設(shè)備上裝載升級壓縮包,讀取所述升級 壓縮包的校驗碼;升級壓縮包解壓模塊202,用于將預(yù)置的校驗碼與所述讀取的校驗碼進行比較,如 果相同,則開始解壓所述升級壓縮包,如果不同則程序退出,提示升級失敗;拷貝模塊203,用于將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄; 具體的將解壓所述升級壓縮包后得到內(nèi)核程序復(fù)制到內(nèi)核程序目錄,將解壓所述升級壓 縮包后得到保護程序復(fù)制到保護程序目錄,將解壓所述升級壓縮包后得到應(yīng)用程序復(fù)制到 應(yīng)用程序目錄。檢測模塊204,用于檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進 行升級。進一步的實施例中,該系統(tǒng)還包括升級狀態(tài)顯示模塊205,用于在顯示終端上 顯示升級狀態(tài)。其中,所述升級狀態(tài)包括升級成功狀態(tài)或者升級失敗狀態(tài)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種嵌入式系統(tǒng),其特征在于,包括升級壓縮包裝載模塊,用于從外界存儲設(shè)備上裝載升級壓縮包,讀取所述升級壓縮包 的校驗碼;升級壓縮包解壓模塊,用于將預(yù)置的校驗碼與所述讀取的校驗碼進行比較,如果相同, 則開始解壓所述升級壓縮包,如果不同則程序退出,提示升級失??;拷貝模塊,用于將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄;檢測模塊,用于檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級。
2.如權(quán)利要求1所述嵌入式系統(tǒng),其特征在于,還包括升級狀態(tài)顯示模塊,用于在顯 示終端上顯示升級狀態(tài)。
3.如權(quán)利要求2所述嵌入式系統(tǒng),其特征在于,所述升級狀態(tài)包括升級成功狀態(tài)或者 升級失敗狀態(tài)。
4.如權(quán)利要求1所述嵌入式系統(tǒng),其特征在于,拷貝模塊,用于將解壓所述升級壓縮 包后得到內(nèi)核程序復(fù)制到內(nèi)核程序目錄,將解壓所述升級壓縮包后得到保護程序復(fù)制到保 護程序目錄,將解壓所述升級壓縮包后得到應(yīng)用程序復(fù)制到應(yīng)用程序目錄。
5.一種嵌入式軟件升級方法,其特征在于,包括步驟從外界存儲設(shè)備上裝載升級壓縮包,獲取所述升級壓縮包的校驗碼;將預(yù)置的校驗碼與所述獲取的校驗碼進行比較,如果相同,則開始解壓所述升級壓縮 包,如果不同則程序退出,提示升級失??;將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄;檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級。
6.如權(quán)利要求5所述嵌入式軟件升級方法,其特征在于,檢測所述復(fù)制到相對應(yīng)的目 錄的程序是否正確,如果正確則進行升級;或者提示升級失敗,之后進一步包括步驟在顯示終端上顯示升級狀態(tài)。
7.如權(quán)利要求5所述嵌入式軟件升級方法,其特征在于,所述將解壓所述升級壓縮包 后得到程序分別復(fù)制到相對應(yīng)的目錄;具體包括將解壓所述升級壓縮包后得到內(nèi)核程序復(fù)制到內(nèi)核程序目錄,將解壓所述升級壓縮包 后得到保護程序復(fù)制到保護程序目錄,將解壓所述升級壓縮包后得到應(yīng)用程序復(fù)制到應(yīng)用 程序目錄。
全文摘要
本發(fā)明涉及一種嵌入式系統(tǒng)和嵌入式軟件升級方法,該系統(tǒng)包括升級壓縮包裝載模塊,用于從外界存儲設(shè)備上裝載升級壓縮包,讀取所述升級壓縮包的校驗碼;升級壓縮包解壓模塊,用于將預(yù)置的校驗碼,與所述讀取的校驗碼進行比較,如果相同,則開始解壓所述升級壓縮包,如果不同則程序退出,提示升級失??;拷貝模塊,用于將解壓所述升級壓縮包后得到程序分別復(fù)制到相對應(yīng)的目錄;檢測模塊,用于檢測所述復(fù)制到相對應(yīng)的目錄的程序是否正確,如果正確則進行升級。為嵌入式系統(tǒng)設(shè)備的軟件升級的可靠性提供保障,確保升級成功。適用于在已有閃存分區(qū)基礎(chǔ)上,對需要頻繁升級的設(shè)備頻繁升級。
文檔編號G06F9/445GK102043634SQ200910110580
公開日2011年5月4日 申請日期2009年10月23日 優(yōu)先權(quán)日2009年10月23日
發(fā)明者何銀南, 劉紅冰, 周曉俊, 管偉, 蔡章盛, 邱揚英 申請人:康佳集團股份有限公司