專利名稱:一種設(shè)備啟動方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種設(shè)備啟動方法及裝置。
背景技術(shù):
在通信設(shè)備中,設(shè)備在啟動時將首先執(zhí)行Bootrom程序,然后根據(jù)該 Bootrom程序執(zhí)行其他應(yīng)用程序。其中,該其他應(yīng)用程序包括操作系統(tǒng)程序、 硬件設(shè)備驅(qū)動程序以及其他應(yīng)用層的程序等;如圖1所示,為一種設(shè)備上電 后應(yīng)用程序啟動的處理流程,包括以下步驟
步驟S101,設(shè)備上電后,Bootrom程序啟動并運行。
步驟S102, Bootrom程序加載其他應(yīng)用程序。其中,當(dāng)Bootrom程序的 自斗企和初始化4喿作一切正常時,該Bootrom程序?qū)詣舆M(jìn)入啟動其他應(yīng)用 程序的過程,即Bootrom程序從存放其他應(yīng)用程序的存儲器中加載對應(yīng)的應(yīng) 用程序。
步驟S103, Bootrom程序?qū)υ搶?yīng)的應(yīng)用程序進(jìn)行解包操作。 步驟S104, Bootrom程序?qū)υ搶?yīng)的應(yīng)用程序進(jìn)4于解壓縮^喿作。 步驟S105 , Bootrom程序啟動該對應(yīng)的應(yīng)用程序中的可凈丸行程序。 具體的,在上述步驟S103至步驟S105中,由于Bootrom程序與其他應(yīng)
用程序具有對應(yīng)關(guān)系,即可以使用該Bootrom程序直4妄對其他應(yīng)用程序進(jìn)4亍
相應(yīng)的處理。
步驟S106,執(zhí)行該應(yīng)用程序。其中,該應(yīng)用程序是設(shè)備啟動后需要才丸4亍 的程序,是設(shè)備能夠正常工作并對外提供服務(wù)的依據(jù);若沒有該應(yīng)用程序, 設(shè)備將無法使用,所以需要使用Bootrom程序啟動該應(yīng)用程序,并執(zhí)行上述 的步驟。
然而,在現(xiàn)有技術(shù)中,當(dāng)步驟S103至步驟S105中有任意一個步驟中的 應(yīng)用程序需要升級時,則需要對已經(jīng)固化的Bootrom程序進(jìn)行升級,以使該Bootrom程序可以完成上述步驟S103至步驟S105中的才乘作。
但是,對上述Bootrom程序進(jìn)行升級操作是一個帶有危險性的操作過程, 若升級過程中突然斷電或者由于其他突發(fā)因素,可能會導(dǎo)致Bootrom程序升 級失敗,則Bootrom程序?qū)p壞,而在實際的應(yīng)用中,Bootrom程序損壞時 將導(dǎo)致自身不能使用,從而使得設(shè)備無法正常工作,只能送回廠家進(jìn)行維修。
發(fā)明內(nèi)容
本發(fā)明提供一種設(shè)備啟動方法及裝置,以在不升級Bootrom程序的情況 下,可以順利地完成對升級后的應(yīng)用程序的啟動。
為了達(dá)到上述目的,本發(fā)明提出了一種設(shè)備啟動方法,應(yīng)用于固化了 Bootrom程序的設(shè)備中,所述設(shè)備中運行所述Bootrom程序、原始應(yīng)用程序, 和與該二程序適配的加載程序,所述方法包括以下步驟
根據(jù)所述Bootrom程序啟動所述加載程序,所述加載程序中攜帶了所述 原始應(yīng)用程序;
根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù); 啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原 始應(yīng)用程序;
務(wù)。 、 、
其中,根據(jù)所述Bootrom程序啟動所述加載程序具體包括 在所述Bootrom程序上電啟動后,根據(jù)事先設(shè)置在所述Bootrom程序和 所述原始應(yīng)用程序間的加載程序,啟動適配該二程序的加載程序,其中,所 述加載程序能夠為所述Bootrom程序識別,且自身能夠理解所述原始應(yīng)用程 序的數(shù)據(jù)結(jié)構(gòu),所述原始應(yīng)用程序是作為 一段數(shù)據(jù)添加到所述加載程序中。
其中,啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序之前,還 包括
當(dāng)所述原始應(yīng)用程序為打包程序時,所述加載程序?qū)λ鲈紤?yīng)用程序 進(jìn)行解包操作;當(dāng)所述原始應(yīng)用程序為壓縮程序時,所述加載程序?qū)λ鲈紤?yīng)用禾呈序 進(jìn)行解壓縮操作。
其中,所述啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序,并
運行所述原始應(yīng)用程序具體包括
從所述加載程序自身的數(shù)據(jù)段中提取所述原始應(yīng)用程序; 將提取的原始應(yīng)用程序放置到正確的位置,所述正確的位置為運行所述
原始應(yīng)用程序的位置;
通過使用所述加載程序控制正確位置處的原始應(yīng)用程序,使所述原始應(yīng)
用程序開始運行。
一種設(shè)備啟動裝置,應(yīng)用于固化了 Bootrom程序的設(shè)備中,所述設(shè)備中 運行所述Bootrom程序、原始應(yīng)用程序,和與該二程序適配的加載程序,所 述裝置包括
Bootrom程序啟動才莫塊,用于啟動所述Bootrom程序;
存儲模塊,用于存儲所述加載程序和所述原始應(yīng)用程序,其中,所述加 載程序中攜帶了所述原始應(yīng)用程序;
加載模塊,與所述Bootrom程序啟動模塊和所述存儲模塊電性連接,用 于從所述存儲模塊中調(diào)用所述加載程序,使用所述Bootrom程序啟動所述加 載程序;根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù); 從啟動后加載程序的數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原始應(yīng)用程 序;
處理模塊,與所述加載模塊電性連接,用于根據(jù)所述運行的原始應(yīng)用程 序使所述設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。 其中,所述加載模塊具體用于
在所述Bootrom程序上電啟動后,根據(jù)事先設(shè)置在所述Bootrom程序和 所述原始應(yīng)用程序間的加載程序,啟動適配該二程序的加載程序,其中,所 述加載程序能夠為所述Bootrom程序識別,且自身能夠理解所述原始應(yīng)用程 序的數(shù)據(jù)結(jié)構(gòu),所述原始應(yīng)用程序是作為一段數(shù)據(jù)添加到所述加載程序中。其中,所述加載模塊包括
解包子模塊,用于當(dāng)所述原始應(yīng)用程序為打包程序時,通過所述加載程
序?qū)λ鲈紤?yīng)用程序進(jìn)行解包操作;
解壓縮子模塊,用于當(dāng)所述原始應(yīng)用程序為壓縮程序時,通過所述加載 程序?qū)λ鲈紤?yīng)用程序進(jìn)行解壓縮操作。
其中,所述加載模塊還包括
提取子模塊,用于從所述加載程序的數(shù)據(jù)段中提取所述原始應(yīng)用程序; 放置子模塊,與所述提取子模塊電性連接,用于將所述提取子模塊"R取
的原始應(yīng)用程序放置到正確的位置,所述正確的位置為運行所述原始應(yīng)用程
序的位置;
控制子模塊,與所述放置子模塊電性連接,用于通過使用所述加載程序 控制所述放置子模塊放置到正確位置處的原始應(yīng)用程序,使所述原始應(yīng)用程 序開始運行。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點通過使用加載程序消除了 Bootrom程序和應(yīng)用程序之間的對應(yīng)關(guān)系,當(dāng)應(yīng)用程序升級時,不需要升級 Bootrom程序,因而Bootrom程序不會在升級過程中由于突然斷電或者由于其 他突發(fā)因素,導(dǎo)致升級失敗,避免了造成設(shè)備無法正常工作的情況,減少了 維護(hù)過程。
圖1為現(xiàn)有技術(shù)中設(shè)備上電啟動過程的處理流程示意圖2為本發(fā)明提出的一種設(shè)備啟動方法流程圖3為本發(fā)明一種應(yīng)用場景下應(yīng)用程序的組成結(jié)構(gòu)示意圖4為本發(fā)明 一種應(yīng)用場景下提出的一種設(shè)備啟動方法流程圖5為本發(fā)明一種應(yīng)用場景下加載程序的組成結(jié)構(gòu)示意圖6為本發(fā)明提出的一種設(shè)備啟動裝置結(jié)構(gòu)圖。2
具體實施例方式
如背景技術(shù)所述,由于Bootrom程序和應(yīng)用程序之間存在對應(yīng)關(guān)系,當(dāng) 應(yīng)用程序升級時,則該Bootrom程序也需要相應(yīng)升級;而在實際應(yīng)用中,應(yīng) 用程序的升級操作沒有風(fēng)險,但由于Bootrom程序是非常敏感而重要的程序, 對Bootrom程序的升級操作會帶來比較大的風(fēng)險,因此要求該Bootrom程序 升級的次數(shù)越少越好,允許時最好不對該Bootrom程序進(jìn)行升級操作。
基于實踐中要求Bootrom程序升級次數(shù)越少越好的特性,本發(fā)明提供一 種設(shè)備啟動方法,在應(yīng)用程序升級的前提下,可以不對Bootrom程序進(jìn)4亍升 級,便可以啟動該升級后的應(yīng)用程序,從而使得設(shè)備可以正常工作。
本發(fā)明的核心思想是在Bootrom程序和升級后的可執(zhí)行應(yīng)用程序(以下 稱"原始應(yīng)用程序,,)之間設(shè)置一加載程序,其中,該加載程序被編譯成能夠 被Bootrom程序識別,且其自身能夠理解原始應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu),在設(shè)備 的啟動過程中,Bootrom程序先啟動該加載程序,并將原始應(yīng)用程序作為該加 載程序的一段數(shù)據(jù),而后通過該加載程序為原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運 行參數(shù),進(jìn)而啟動該原始應(yīng)用程序,使設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。
如圖2所示,本發(fā)明提出的一種設(shè)備啟動方法,應(yīng)用于固化了 Bootrom 程序的設(shè)備中,所述設(shè)備中運行所述Bootrom程序、原始應(yīng)用程序以及與該 二程序適配的加載程序,所述設(shè)備啟動方法包括以下步驟
步驟S201,根據(jù)所述Bootrom程序啟動所述加載程序,所述加載程序中 攜帶了所述原始應(yīng)用程序。
具體地,才艮據(jù)所述Bootrom程序啟動所述加載程序具體包括在Bootrom 程序上電啟動后,才艮據(jù)事先設(shè)置在Bootrom程序和原始應(yīng)用程序間的加載程 序,啟動適配該二程序的加載程序,其中,該加載程序能夠;波Bootrom程序 識別,并且自身能夠理解原始應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu),在本發(fā)明中,進(jìn)一步將 所述原始應(yīng)用程序作為 一段數(shù)據(jù)添加到所述加載程序中。
步驟S202, 4艮據(jù)所述加載程序為原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù)。步驟S203,啟動后的加載程序從自身數(shù)據(jù)中提取原始應(yīng)用程序,并運行 所述原始應(yīng)用程序。
具體地,在執(zhí)行本步驟之前,如果所述原始應(yīng)用程序為打包程序時,所 述加載程序還需要對所述原始應(yīng)用程序進(jìn)行解包操作;
如果所述原始應(yīng)用程序為壓縮程序時,所述加載程序還需要對所述原始 應(yīng)用程序進(jìn)行解壓縮操作。
另外,所述啟動后的加載程序從自身數(shù)據(jù)中提取原始應(yīng)用程序,并運行 所述原始應(yīng)用程序具體包括先從所述加載程序自身的數(shù)據(jù)段中提取所述原 始應(yīng)用程序;并將提取的原始應(yīng)用程序放置到正確的位置,所述正確的位置 為運行所述原始應(yīng)用程序的位置;通過使用所述加載程序控制正確位置處的 原始應(yīng)用程序,使所述原始應(yīng)用程序開始運行。
步驟S204,根據(jù)所述運行的原始應(yīng)用程序使設(shè)備正常運行,并對外提供 相應(yīng)的服務(wù)。
可見,才艮據(jù)本發(fā)明提供的方法,通過在Bootrom程序和原始應(yīng)用程序之 間設(shè)置一適配該二程序的加載程序,進(jìn)而消除了 Bootrom程序和應(yīng)用程序之 間的對應(yīng)關(guān)系,在應(yīng)用程序升級時,不需要相應(yīng)地升級Bootrom程序,Bootrom
失敗,避免了造成設(shè)備無法正常工作的情況,減少了維護(hù)過程。
為了更加理解本發(fā)明,以下結(jié)合具體應(yīng)用場景對本發(fā)明進(jìn)行詳細(xì)描述。 在本應(yīng)用場景中,所述設(shè)備包括但不限于交換機(jī)、路由器等,該設(shè)備中的 Bootrom程序用于啟動其他應(yīng)用程序,其中,該其他應(yīng)用程序包括但不限于操 作系統(tǒng)程序、硬件設(shè)備驅(qū)動程序以及其他應(yīng)用層面的程序等;該其他應(yīng)用程 序的組成結(jié)構(gòu)如圖3所示,包括包頭部分和可執(zhí)行程序部分,根據(jù)實際的應(yīng) 用,該可執(zhí)行程序部分為壓縮的或非壓縮的。本發(fā)明中,升級后的應(yīng)用程序 以原始應(yīng)用程序為例進(jìn)行說明(當(dāng)然,該名稱為根據(jù)實際的需要任意選取的, 在此不再贅述)。上述的設(shè)備啟動方法如圖4所示,包括以下步驟
步驟S401,設(shè)備上電后,Bootrom程序啟動并運行其中,該Bootrom程序是一段固化到設(shè)備上的程序,功能是用于自檢并 初始化設(shè)備上的各種硬件,并提供一個簡單而功能完整的人機(jī)交互界面;用
為管理應(yīng)用程序,啟動應(yīng)用程序和升級Bootrom程序。
步驟S402,通過所述Bootrom程序啟動加載程序(loader程序),其中, 該加載程序為事先設(shè)置在Bootrom程序和原始應(yīng)用程序間能夠與兩者適配的 力口載程序。
在進(jìn)行本應(yīng)用場景操作之前,研發(fā)人員需要根據(jù)Bootrom程序和升級后 的原始應(yīng)用程序,編譯一個能夠與該二程序均適配的loader程序,并將原始 應(yīng)用程序作為數(shù)據(jù)段添加到該loader程序中,如圖5所示的一種loader程序 示意圖,該圖5對應(yīng)了圖3所示的應(yīng)用程序。
具體地,由于Bootrom程序固化在設(shè)備后,該Bootrom程序的解包格式 以及解壓縮格式等均已經(jīng)確定,因此,研發(fā)人員需要根據(jù)該確定的Bootrom 程序的解包格式和解壓縮格式對loader程序進(jìn)行編譯,使得loader程序能夠 為所述Bootrom程序識別,例如,當(dāng)Bootrom程序的解包格式為按照A, B, C的格式進(jìn)行解包時(升級前的應(yīng)用程序的包格式為A, B, C,而原始應(yīng)用 程序的包格式為B, A, C后,該Bootrom程序無法按照該解包格式對原始應(yīng) 用程序進(jìn)行解包操作),研發(fā)人員將loader程序編譯成包格式為A, B, C的 loader程序,使得Bootrom程序可以對該loader程序進(jìn)行解包操作。
進(jìn)一步的,當(dāng)升級前的應(yīng)用程序為壓縮的應(yīng)用程序時,則Bootrom程序 有對應(yīng)的解壓縮格式,同樣的,研發(fā)人員需要將loader程序編譯成Bootrom 程序解壓縮格式所能識別的對應(yīng)的壓縮格式,以<吏該Bootrom程序可以對該 loader程序進(jìn)行解壓縮操作;當(dāng)然,本發(fā)明中,當(dāng)Bootrom程序沒有對應(yīng)的解 壓縮格式時,不需要對loader程序編譯壓縮格式,在此不再贅述。同樣的, 研發(fā)人員還需要按照Bootrom程序運行可執(zhí)行程序的格式將loader程序編譯 成該可執(zhí)行程序格式所對應(yīng)的運行格式。
本發(fā)明中,loader程序的格式(例如,包格式、壓縮格式、可執(zhí)行程序的 運行格式等,當(dāng)然,該loader程序的格式并不局限于此,所有應(yīng)用程序與Bootrom程序?qū)?yīng)的格式均在本發(fā)明保護(hù)范圍之內(nèi),本發(fā)明中不再詳加贅述) 按照Bootrom程序能夠啟動識別的格式編譯完成后,研發(fā)人員還需要將原始 應(yīng)用程序作為該loader程序的數(shù)據(jù)段添加到該loader程序中。進(jìn)一 步的,在 編譯過程中,需要使該loader程序?qū)υ撛紤?yīng)用程序進(jìn)行解包操作、解壓縮 操作和運行可執(zhí)行程序的操作。例如,原始應(yīng)用程序的包格式為B, A, C后, 該loader程序可以按照B, A, C的解包格式對該初始應(yīng)用程序進(jìn)行解包操作, 同樣的處理方式,loader程序可以根據(jù)對應(yīng)的格式對初始應(yīng)用程序進(jìn)行解壓縮 操作和運行可執(zhí)行程序的操作,在此不再贅述。
步驟S403,所述loader程序啟動后,為原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運 行參數(shù)。
步驟S404,啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序,并 運行所述原始應(yīng)用程序。
本發(fā)明中,該原始應(yīng)用程序是最終需要執(zhí)行的程序,而該loader程序只 是起到一個中轉(zhuǎn)的作用,即由該Bootrom程序啟動該loader程序,并由該loader 程序?qū)⒃紤?yīng)用程序啟動。其中,Bootrom程序啟動loader程序的過程在上面 已經(jīng)詳細(xì)描述,本步驟中將詳細(xì)描述loader程序啟動原始應(yīng)用程序的過程, 該過程具體包括
(1) loader程序從自身的數(shù)據(jù)段中提取該原始應(yīng)用程序。其中,由于原 始應(yīng)用程序為需要執(zhí)行的應(yīng)用程序,且原始應(yīng)用程序是作為該loader程序的 數(shù)據(jù)段存在的,因此,loader程序需要從自身的數(shù)據(jù)段中提取出該原始應(yīng)用程 序。
進(jìn)一步的,當(dāng)該原始應(yīng)用程序為打包程序或者壓縮程序時,還需要事先 通過Loader程序經(jīng)過解壓縮處理和解包處理,以獲得對應(yīng)的可執(zhí)行程序,由 于解壓縮和解包處理屬于現(xiàn)有技術(shù),在此不贅述。
(2) loader程序?qū)⑻崛〉脑紤?yīng)用程序搬移到正確的位置,該正確的位 置為運行該原始應(yīng)用程序的位置。其中,當(dāng)可執(zhí)行程序被提取出來后,需要 將該可執(zhí)行程序放置到對應(yīng)的位置上,例如,當(dāng)該可執(zhí)行程序為啟動硬件A 的程序時,需要將該可執(zhí)行程序放置到硬件A上。(3) loader程序控制位于正確位置處的原始應(yīng)用程序,并使原始應(yīng)用程 序開始運行。例如,當(dāng)可執(zhí)行程序被放置到正確的位置硬件A上時,通過使 用該loader程序控制該可執(zhí)行程序的啟動,當(dāng)可執(zhí)行程序啟動后,loader程序 的作用便結(jié)束了。本發(fā)明中,可以使用該可執(zhí)行程序啟動對應(yīng)的設(shè)備,或設(shè) 備上對應(yīng)的硬件,在此不再贅述。
步驟S405,根據(jù)所述運行的原始應(yīng)用程序使設(shè)備正常運行,并對外提供 相應(yīng)的服務(wù)。例如,當(dāng)該原始應(yīng)用程序為操作系統(tǒng)程序時,當(dāng)該操作系統(tǒng)程 序運行后,可以使設(shè)備正常運行,即設(shè)備在正常運行前必然要運行操作系統(tǒng) 程序;又例如,當(dāng)該原始應(yīng)用程序為硬件設(shè)備驅(qū)動程序時,該-更件設(shè)備驅(qū)動 程序運行后,可以驅(qū)動硬件設(shè)備,使硬件設(shè)備正常運行,即硬件設(shè)備正常運 行前必然要通過硬件設(shè)備驅(qū)動程序進(jìn)行驅(qū)動。
其中,本發(fā)明方法可以根據(jù)實際需要對各個步驟順序進(jìn)行調(diào)整。
本發(fā)明還提出了 一種設(shè)備啟動裝置,所述設(shè)備中固化有Bootrom程序和 升級的原始應(yīng)用程序,且在所述Bootrom程序和原始應(yīng)用程序間進(jìn)一步設(shè)置 可與兩者進(jìn)行適配的加載程序,所述Bootrom程序用于啟動加載程序,通過 所述加載程序執(zhí)行所述原始應(yīng)用程序,如圖6所示,所述裝置包括
Bootrom程序啟動才莫塊61,用于啟動所述Bootrom程序;其中,該Bootrom 程序是一段固化到設(shè)備上的程序,功能是用于自檢并初始化設(shè)備上的各種硬 件,并提供一個簡單而功能完整的人機(jī)交互界面;用戶或技術(shù)支持人員可以 通過該人機(jī)交互界面實現(xiàn)對設(shè)備的控制,該控制具體為管理應(yīng)用程序,啟動 應(yīng)用程序和升級Bootrom程序。
存儲模塊62,用于存儲所述加載程序以及原始應(yīng)用程序,其中所述原始 應(yīng)用程序是作為加載程序的 一段數(shù)據(jù)存在,即所述加載程序中攜帶了所述原 始應(yīng)用程序;
具體地,研發(fā)人員事先將根據(jù)Bootrom程序和升級后的原始應(yīng)用程序, 編譯一個能夠與該二程序均適配的加載程序程序,并進(jìn)一步將原始應(yīng)用程序
作為數(shù)據(jù)段添加到該加載程序程序中,并將該加載程序存儲到存儲^t塊62中。加載模塊63,與所述Bootrom程序啟動模塊61和所述存儲模塊62電'1± 連接,用于從所述存儲模塊62中調(diào)用所述加載程序,使用所述Bootrom程序 啟動所迷加載程序;根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境禾口 運行參數(shù);從啟動后加載程序的數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述 原始應(yīng)用程序。本發(fā)明中,由于該原始應(yīng)用程序是需要執(zhí)行的程序,即需要 由加載模塊63加載該原始應(yīng)用程序,使得該原始應(yīng)用程序開始運行。
具體的,在所述Bootrom程序上電啟動后,所述加載模塊63將根據(jù)事先 設(shè)置在所述Bootrom程序和所述原始應(yīng)用程序間的加載程序,啟動適配該二 程序的加載程序,其中,所述加載程序能夠為所述BootRom識別,且自身能 夠理解所述原始應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu),所述原始應(yīng)用程序是作為 一段數(shù)據(jù)添 加到所述加載程序中。
此外,要想從啟動后加載程序的數(shù)據(jù)中提取到所述原始應(yīng)用程序,如果 所述原始應(yīng)用程序為打包程序或者解壓縮程序,加載^f莫塊63還需要對原始應(yīng) 用程序進(jìn)行解包搡作和解壓縮操作,此時,所述加載模塊63進(jìn)一步包括角f 包子模塊631,用于當(dāng)所述原始應(yīng)用程序為打包程序時,通過所述加載程序?qū)?所述原始應(yīng)用程序進(jìn)行解包操作;和/或,解壓縮子模塊632,用于當(dāng)所述原 始應(yīng)用程序為壓縮程序肘,通過所述加載程序?qū)λ鲈紤?yīng)用程序進(jìn)行解壓 縮操作。
進(jìn)一步的,在從啟動后加載程序的數(shù)據(jù)中提取所述原始應(yīng)用程序,并運 行所述原始應(yīng)用程序過程中,所述加載模塊63還包括
提取子模塊633,用于從所述加載程序的數(shù)據(jù)段中提取所述原始應(yīng)用程
序;
放置子模塊634,與所述提取子模塊633電性連接,用于將所述提取子才莫 塊533提取的原始應(yīng)用程序放置到正確的位置,所述正確的位置為運行所述 原始應(yīng)用程序的位置;
控制子模塊635,與所述放置子模塊634電性連接,用于通過使用所述加 載程序控制所述放置子;f莫塊634放置到正確位置處的原始應(yīng)用程序,使所述 原始應(yīng)用程序開始運行。處理模塊64,與所述加載模塊63電性連接,用于根據(jù)所述運行的原始應(yīng) 用程序使所述設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。
其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述 模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)。 基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該4欠 件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),月l 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的 模塊或流程并不 一 定是實施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述 進(jìn)行分布于實施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施例的一 個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆 分成多個子模塊。
上述本發(fā)明序號僅僅為了描述,不代表實施例的優(yōu)劣。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種設(shè)備啟動方法,應(yīng)用于固化了Bootrom程序的設(shè)備中,所述設(shè)備中運行所述Bootrom程序、原始應(yīng)用程序,和與該二程序適配的加載程序,其特征在于,所述方法包括以下步驟根據(jù)所述Bootrom程序啟動所述加載程序,所述加載程序中攜帶了所述原始應(yīng)用程序;根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù);啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原始應(yīng)用程序;根據(jù)所述運行的原始應(yīng)用程序使所述設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。
2、 如權(quán)利要求l所述的方法,其特征在于,根據(jù)所述Bootrom程序啟動 所述加載程序具體包括在所述Bootrom程序上電啟動后,才艮據(jù)事先設(shè)置在所述Bootrom程序和 所述原始應(yīng)用程序間的加載程序,啟動適配該二程序的加載程序,其中,所 述加載程序能夠為所述Bootrom程序識別,且自身能夠理解所述原始應(yīng)用程 序的數(shù)據(jù)結(jié)構(gòu),所述原始應(yīng)用程序是作為 一段數(shù)據(jù)添加到所述加載程序中。
3、 如權(quán)利要求l所述的方法,其特征在于,啟動后的加載程序從自身數(shù) 據(jù)中提取所述原始應(yīng)用程序之前,還包括當(dāng)所述原始應(yīng)用程序為打包程序時,所述加載程序?qū)λ鲈紤?yīng)用程序 進(jìn)行解包操作;當(dāng)所述原始應(yīng)用程序為壓縮程序時,所述加載程序?qū)λ鲈紤?yīng)用程序 進(jìn)行解壓縮操作。
4、 如權(quán)利要求l所述的方法,其特征在于,所述啟動后的加載程序從自 身數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原始應(yīng)用程序具體包括從所述加載程序自身的數(shù)據(jù)段中提取所述原始應(yīng)用程序; 將提取的原始應(yīng)用程序放置到正確的位置,所述正確的位置為運行所述 原始應(yīng)用程序的位置;通過使用所述加載程序控制正確位置處的原始應(yīng)用程序,4吏所述原始應(yīng) 用程序開始運行。
5、 一種設(shè)備啟動裝置,應(yīng)用于固化了 Bootrom程序的設(shè)備中,所述設(shè)備 中運行所述Bootrom程序、原始應(yīng)用程序,和與該二程序適配的加載程序, 其特征在于,所述裝置包括Bootrom程序啟動模塊,用于啟動所述Bootrom程序;存儲模塊,用于存儲所述加載程序和所述原始應(yīng)用程序,其中所述加載 程序中攜帶了所述原始應(yīng)用程序;加載模塊,與所述Bootrom程序啟動模塊和所述存儲模塊電性連接,用 于從所述存儲模塊中調(diào)用所述加載程序,使用所述Bootrom程序啟動所述加 載程序;根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù); 從啟動后加載程序的數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原始應(yīng)用程序;處理模塊,與所述加載模塊電性連接,用于根據(jù)所述運行的原始應(yīng)用程 序使所述設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。
6、 如權(quán)利要求5所述的裝置,其特征在于,所述加載模塊具體用于 在所述Bootrom程序上電啟動后,根據(jù)事先設(shè)置在所述Bootrom程序和所述原始應(yīng)用程序間的加載程序,啟動適配該二程序的加載程序,其中,所 述加載程序能夠為所述Bootrom程序識別,且自身能夠理解所述原始應(yīng)用程 序的數(shù)據(jù)結(jié)構(gòu),所述原始應(yīng)用程序是作為一段數(shù)據(jù)添加到所述加載程序中。
7、 如權(quán)利要求5所述的裝置,其特征在于,所述加載模塊包括 解包子模塊,用于當(dāng)所述原始應(yīng)用程序為打包程序時,通過所述加載程序?qū)λ鲈紤?yīng)用程序進(jìn)行解包操作;解壓縮子模塊,用于當(dāng)所述原始應(yīng)用程序為壓縮程序時,通過所述加載 程序?qū)λ鲈紤?yīng)用程序進(jìn)行解壓縮操作。
8、 如權(quán)利要求5所述的裝置,其特征在于,所述加載模塊還包括 提取子模塊,用于從所述加載程序的數(shù)據(jù)段中提取所述原始應(yīng)用程序;放置子模塊,與所述提取子模塊電性連接,用于將所述提取子模塊提取 的原始應(yīng)用程序放置到正確的位置,所述正確的位置為運行所述原始應(yīng)用程 序的位置;控制子模塊,與所述放置子模塊電性連接,用于通過使用所述加載程序 控制所述放置子模塊放置到正確位置處的原始應(yīng)用程序,使所述原始應(yīng)用程 序開始運行。
全文摘要
本發(fā)明公開了一種設(shè)備啟動方法,包括根據(jù)所述Bootrom程序啟動所述加載程序,所述加載程序中攜帶了所述原始應(yīng)用程序;根據(jù)所述加載程序為所述原始應(yīng)用程序準(zhǔn)備運行環(huán)境和運行參數(shù);啟動后的加載程序從自身數(shù)據(jù)中提取所述原始應(yīng)用程序,并運行所述原始應(yīng)用程序;根據(jù)所述運行的原始應(yīng)用程序使所述設(shè)備正常運行并對外提供相應(yīng)的服務(wù)。本發(fā)明中,通過使用加載程序消除了Bootrom程序和應(yīng)用程序之間的對應(yīng)關(guān)系,應(yīng)用程序升級時,不需要升級Bootrom程序,Bootrom程序不會在升級過程中由于突然斷電或者由于其他突發(fā)因素,導(dǎo)致升級失敗,避免了造成設(shè)備無法正常工作的情況,減少了維護(hù)過程。
文檔編號G06F9/445GK101620544SQ200910163020
公開日2010年1月6日 申請日期2009年8月19日 優(yōu)先權(quán)日2009年8月19日
發(fā)明者斌 余 申請人:杭州華三通信技術(shù)有限公司