專利名稱:提高嵌入式系統(tǒng)可靠性的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及提高嵌入式系統(tǒng)可靠性的方法和裝置。
背景技術(shù):
隨著微電子和軟硬件技術(shù)的迅猛發(fā)展,以微處理器技術(shù)為基礎(chǔ)的嵌入式系 統(tǒng)在通信、控制、交通、醫(yī)療、消費等領(lǐng)域都得到了廣泛的應(yīng)用。在通信領(lǐng)域,
嵌入式系統(tǒng)的可靠性是一個重要的指標,它通常用MTBF (Mean Time Between Failure平均故障間隔時間)和MTTR (Mean Time To Repair平均維修時間) 來表征。MTBF是平均故障間隔時間,表示相鄰兩次故障的間隔時間;MTTR是平 均維修時間,表示設(shè)備修復所需的時間。 一個設(shè)備的可靠性可以通itMTBF和MTTR 計算出來,即
可靠性-MTBF/ (MTBF+MTTR)
為了提高可靠性,可以通過提高MTBF、降低MTTR來實現(xiàn)??s短設(shè)備的啟 動時間是降低MTTR的措施之一 。
設(shè)備啟動包括兩個過程1、執(zhí)行底層軟件,完成對硬件芯片的初始化;2、將 閃存、硬盤或后臺的服務(wù)器存儲的上層軟件加載到內(nèi)存中,完成各種業(yè)務(wù)處理 功能。所以設(shè)備的啟動時間包括執(zhí)行底層軟件的時間和加載上層軟件的時間。 將閃存、硬盤或后臺的服務(wù)器存儲的上層軟件加載到內(nèi)存的過程包括首 先,將存儲在閃存、硬盤或后臺的服務(wù)器中的上層軟件加載到預(yù)先指定的內(nèi)存 地址;如果文件為壓縮文件,接著應(yīng)該進行解壓縮操作;然后,跳轉(zhuǎn)到預(yù)先指 定的內(nèi)存地址執(zhí)行上層軟件。上層軟件文件大小通常都在數(shù)十兆字節(jié)以上,所 以將存儲在閃存、硬盤或后臺的服務(wù)器中的上層軟件加載到預(yù)先指定的內(nèi)存地址所需時間會;f艮長。如果該上層軟件為壓縮文件,還需要解壓縮該軟件。這樣 導致設(shè)備的啟動時間長,平均維修時間也長,設(shè)備可靠性差。
以上所提到的底層軟件類似于計算機的BIOS (Basic Input Output System,基本輸入輸出系統(tǒng)),在單板上電或復位后就開始執(zhí)行,負責完成CPU、 橋片等器件的初始化、設(shè)備驅(qū)動,與具體業(yè)務(wù)無關(guān),并且為上層軟件提供各種 子程序和調(diào)用才妄口,底層軟件運行完成后CPU (Central Processing Unit,中 央處理單元)跳轉(zhuǎn)到上層軟件,開始執(zhí)行與業(yè)務(wù)相關(guān)的各種功能。所述的上層 軟件也稱為業(yè)務(wù)軟件,類似于計算機的應(yīng)用程序。當?shù)讓榆浖?zhí)行完畢后一般 會啟動操作系統(tǒng)并開始執(zhí)行上層軟件,實現(xiàn)與各種具體業(yè)務(wù)相關(guān)的功能,例如 呼叫處理、信令處理、計費等功能。上層軟件不涉及到底層硬件的細節(jié),只關(guān) 心各種協(xié)議如何實現(xiàn),而且不同的上層軟件可以共用同一個底層軟件。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題每當設(shè) 備進行復位啟動時,都要將存儲在閃存、硬盤或后臺的服務(wù)器的上層軟件重新 加載。由于上層軟件通常都比較大,而且是壓縮文件,所以加載及解壓縮該軟 件需要時間較長,這樣就使得每次復位啟動時間很長,進而導致設(shè)備的MTTR很 長,影響設(shè)備的可靠性。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中設(shè)備的復位啟動時間長的問題,本發(fā)明的實施例提供 了 一種提高嵌入式系統(tǒng)可靠性的方法及裝置。 一種提高嵌入式系統(tǒng)可靠性的方法,包括
所述嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值; 當檢測到復位信號,內(nèi)存進行自刷新; 所述嵌入式系統(tǒng)復位重啟;執(zhí)行底層軟件; 恢復上層軟件的啟動初始值; 執(zhí)行上層軟件。
一種提高嵌入式系統(tǒng)可靠性的裝置,包括
備份單元所述嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動
自刷新單元當;f企測到復位信號,內(nèi)存進行自刷新; 復位重啟單元用于所述嵌入式系統(tǒng)復位重啟; 底層軟件執(zhí)行單元用于執(zhí)行底層軟件; 恢復單元用于恢復上層軟件的啟動初始值; 上層軟件執(zhí)行單元用于執(zhí)行上層軟件。
本發(fā)明實施例提供的提高嵌入式系統(tǒng)可靠性的方法及裝置,通過啟動內(nèi)存 的自刷新模式,使得系統(tǒng)在復位啟動時,內(nèi)存中的上層軟件不會丟失,從而使 得系統(tǒng)在復位重啟時,可以省去加載上層軟件及解壓縮的過程,大大縮短了復 位啟動的時間,縮短了MTTR時間,從而提高了系統(tǒng)的可靠性。由于上層軟件的 啟動初始值在上次執(zhí)行上層軟件中會被改動,所以在復位啟動時,直接執(zhí)行上 層軟件之前,必須通過^f分上層軟件的啟動初始值來恢復上層軟件的啟動初始 值,從而使得上層軟件可以正常的運行。
圖1為本發(fā)明的實施例4是供的提高嵌入式系統(tǒng)可靠性的方法流程圖; 圖2為本發(fā)明實施例嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的 啟動初始值的步驟流程圖3為本發(fā)明實施例當檢測到復位信號,內(nèi)存進行自刷新的步驟流程圖;圖4本發(fā)明實施例提供的一種提高嵌入式系統(tǒng)可靠性的裝置結(jié)構(gòu)示意圖; 圖5為本發(fā)明實施例提高嵌入式系統(tǒng)可靠性的裝置中自刷新單元結(jié)構(gòu)示意
圖6為本發(fā)明實施例^R高嵌入式系統(tǒng)可靠性的方法通過程序指令完成的流 程圖。
具體實施例方式
為了解決現(xiàn)有技術(shù)復位啟動時間長,嵌入式系統(tǒng)的可靠性差的問題,下面 結(jié)合附圖和具體實施例對本發(fā)明作詳細"i兌明。
如圖l所示,為本發(fā)明的實施例提供的提高嵌入式系統(tǒng)可靠性的方法流程 圖;本發(fā)明的實施例提供一種提高嵌入式系統(tǒng)可靠性的方法,包括
S101:嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值;
S102:當檢測到復位信號,內(nèi)存進行自刷新;
S103:所述嵌入式系統(tǒng)復位重啟;
S104:執(zhí)行底層軟件;
S105:利用備份的上層軟件啟動初始值,恢復上層軟件的啟動初始值; S106:執(zhí)行上層軟件。 下面對上述步驟進行詳細說明。
S101:所述嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始 值;此步驟可以分為兩種情況 一種是在系統(tǒng)上電啟動時,加載上層軟件后, 備份內(nèi)存中上層軟件的啟動初始值;另 一種是系統(tǒng)需要將后臺服務(wù)器中升級后 的上層軟件加載到內(nèi)存后,備份內(nèi)存中升級后上層軟件的啟動初始值。
以下對上述兩種情況進行詳細說明
一種是在系統(tǒng)上電啟動時,加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值;即在系統(tǒng)上電加載上層軟件之后,將上層軟件的啟動初始值拷貝到非 易失性存儲器中。此處所述的啟動初始值是指上層軟件數(shù)據(jù)段中的數(shù)據(jù)。所述 數(shù)據(jù)段數(shù)據(jù)是上層軟件經(jīng)過初始化的全局變量。由于上層軟件的全局變量在之 后的運行過程中會被改變,所以在加載上層軟件之后,需要立即將其初始值保 存。具體的保存位置可以是NVRAM (Non Volatile Random Access Memory非易 失性存儲器)或內(nèi)存中不會丟失改動的區(qū)域。
另 一種情況為嵌入式系統(tǒng)加載升級后上層軟件后,備^f分內(nèi)存中升級后上層 軟件的啟動初始值;如圖2所示,具體步驟如下;
S201:設(shè)置標志位,所述內(nèi)存中的上層軟件升級之前,標志位為零;此處 的標志位可以通過管理員進行設(shè)置,或者在系統(tǒng)上電時將標志位清零。在系統(tǒng) 進行復位重啟前,上層軟件在后臺服務(wù)器上已經(jīng)更新,此時管理員就會根據(jù)需 要,將標志位設(shè)置為0,讓系統(tǒng)更新內(nèi)存中的上層軟件。
S202:所述嵌入式系統(tǒng)復位重啟;
S203:執(zhí)行底層軟件;在此步驟中,系統(tǒng)通過判斷標志位來決定是否需要 加載升級上層軟件;如果標志位為l,則系統(tǒng)將跳過加載上層軟件和解壓縮的過 程,在恢復上層軟件啟動初始值之后,直接跳轉(zhuǎn)到上層軟件的起始地址開始執(zhí) 行;如果標志位為O,則將執(zhí)行加載升級后的上層軟件。
S204:加載升級后的上層軟件;
S205:備份升級后的上層軟件啟動初始值;
S206:將標志位修改為l;
S207:執(zhí)行升級后上層軟件。
本發(fā)明實施例在復位啟動時,通過判斷標識位來決定是否加載上層軟件, 如果上層軟件在后臺服務(wù)器上已經(jīng)更新升級,需要將系統(tǒng)內(nèi)存中的上層軟件更新升級,管理員就可以將標志位設(shè)置為O,在系統(tǒng)復位啟動時,系統(tǒng)將重新加載
上層軟件,然后備份升級后的啟動初始值并通過底層軟件將標志位設(shè)置為1;最 后執(zhí)行升級后的上層軟件。這樣,在系統(tǒng)復位啟動時,系統(tǒng)將備份上層軟件的 啟動初始值拷貝回上層軟件,直接執(zhí)行上層軟件;從而使得采用本發(fā)明,不但 可以縮短MTTR時間,提高系統(tǒng)可靠性,同時還可以方^^的升級系統(tǒng)上層軟件。
如圖3所示,S102:當檢測到復位信號,內(nèi)存進行自刷新;其執(zhí)行流程如下
S301:檢測復位信號;
S302:將復位信號延時;
S303:向CPU發(fā)送中斷信號;
S304: CPU向內(nèi)存發(fā)送啟動自刷新模式指令;
S305:內(nèi)存進行自刷新。CPU將內(nèi)存設(shè)置為自刷新模式,使得系統(tǒng)在復位啟 動時,內(nèi)存可以進行自刷新,將內(nèi)存中的上層軟件保存下來。
以下對步驟S105:恢復上層軟件的啟動初始值,進行詳細說明
由于上層軟件的全局變量的初始值在復位重啟之前的運行過程中,已被改 變;本發(fā)明的復位重啟過程與現(xiàn)有技術(shù)相比,跳過了加載上層軟件的步驟;所 以執(zhí)行底層軟件步驟之后,必須將上層軟件的全局變量的初始值進行恢復,也 就是恢復預(yù)先備份的上層軟件的啟動初始值。
本發(fā)明實施例通過啟動內(nèi)存的自刷新模式,使得系統(tǒng)在復位啟動時,省去 加載上層軟件的過程,大大縮短了復位啟動的時間,縮短了MTTR時間,從而提 高了系統(tǒng)的可靠性。由于上層軟件數(shù)據(jù)段中的全局變量在上次執(zhí)行時,可能被 改動,所以在復位啟動時,直接執(zhí)行上層軟件之前,通過備份上層軟件的啟動 初始值來恢復上層軟件的啟動初始值,從而使得上層軟件可以正常的運行。如圖4所示,本發(fā)明實施例提供的一種提高嵌入式系統(tǒng)可靠性的裝置結(jié)構(gòu) 示意圖,包括
備份單元401:所述嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟 ^7#刀士臺4直;
自刷新單元402:當檢測到復位信號,內(nèi)存進行自刷新; 復位重啟單元403:用于所述嵌入式系統(tǒng)復位重啟; 底層軟件執(zhí)行單元404:用于執(zhí)行底層軟件; 恢復單元405:用于恢復上層軟件的啟動初始值; 上層軟件執(zhí)行單元406:用于執(zhí)行上層軟件。
如圖5所示,為本發(fā)明實施例提高嵌入式系統(tǒng)可靠性的裝置中自刷新單元 結(jié)構(gòu)示意圖,所述自刷新單元包括
檢測單元501:用于檢測復位信號;
延時單元502:用于將復位信號延時;
中斷單元503:用于向CPU發(fā)送中斷信號;
啟動單元504:用于CPU向內(nèi)存發(fā)送啟動自刷新模式指令;
刷新單元505:用于內(nèi)存進行自刷新。
本發(fā)明實施例通過檢測單元來實時檢測復位信號,如果檢測到復位信號, 則通過延時單元將復位信號延時,并通過中斷單元給CPU發(fā)送一個中斷信號; 在復位信號延時期間,啟動單元會根據(jù)CPU發(fā)送的中斷啟動內(nèi)存的自刷新模式, 從而使得,系統(tǒng)在復位重啟時,可以將內(nèi)存中的信息保存下來;這樣在復位重啟的時候,就可以省去重復加載上層軟件及解壓縮的時間,從而縮短了系統(tǒng)的
MTTR時間,提高了系統(tǒng)的可靠性;在此基礎(chǔ)之上,還可以在底層軟件執(zhí)行單元 中增加一個標志位識別單元,用來判斷系統(tǒng)是否需要加載升級上層軟件;如果 標志位為0,則需要升級上層軟件,當?shù)讓榆浖?zhí)行單元執(zhí)行完底層軟件后,將 加載升級后的上層軟件,然后備份升級后的上層軟件的數(shù)據(jù)段數(shù)據(jù),最后,執(zhí) 行上層軟件;如果標志位為1,則底層軟件執(zhí)行單元執(zhí)行底層軟件,將恢復上層 軟件數(shù)據(jù)段數(shù)據(jù),然后,直接跳轉(zhuǎn)執(zhí)行上層軟件。通過標志位的判斷選擇,使 得系統(tǒng)在復位啟動時,根據(jù)實際的情況需要,省去加載上層軟件的過程,大大 縮短了復位啟動的時間,縮短了MTTR時間,從而提高了系統(tǒng)的可靠性。同時, 也方便了系統(tǒng)上層軟件升級。
可以通過程序指令相關(guān)硬件完成,所述的程序可以存儲于一個計算機可讀取存 儲的介質(zhì)中,該程序在執(zhí)行時,如圖6所示,包括如下步驟
S601:嵌入式系統(tǒng)加載上層軟件后,備^f分內(nèi)存中上層軟件的啟動初始值;
S602:當檢測到復位信號,內(nèi)存進行自刷新;
S603:執(zhí)行底層軟件;
S604:讀取標志位,判斷是否需要加載上層軟件;如果不需要加載所述上 層軟件跳轉(zhuǎn)執(zhí)行步驟S605;如果需要加載所述上層軟件跳轉(zhuǎn)執(zhí)行S606; S605:利用備份的上層軟件啟動初始值,恢復上層軟件的啟動初始值; S606:加載所述上層軟件,備份上層軟件的啟動初始值; S607:執(zhí)行上層軟件。
其中,所述的存儲介質(zhì),如ROM (Read Only Memory,只讀存儲器)/RAM (Random Access Memory,隨機存取存儲器)、磁碟、光盤等。以上所述,僅為本發(fā)明實施例的具體實施方式
,但本發(fā)明實施例的保護范 圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi), 可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明 實施例的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
權(quán)利要求
1、一種提高嵌入式系統(tǒng)可靠性的方法,其特征在于,包括嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值;當檢測到復位信號,內(nèi)存進行自刷新;所述嵌入式系統(tǒng)復位重啟;執(zhí)行底層軟件;恢復上層軟件的啟動初始值;執(zhí)行上層軟件。
2、 根據(jù)權(quán)利要求l所述的提高嵌入式系統(tǒng)可靠性的方法,其特征在于,所 述當檢測到復位信號,內(nèi)存進行自刷新的步驟包括檢測復位信號;將復位信號延時;向CPU發(fā)送中斷信號;CPU向內(nèi)存發(fā)送啟動自刷新模式指令;內(nèi)存進行自刷新。
3、 根據(jù)權(quán)利要求l所述的提高嵌入式系統(tǒng)可靠性的方法,其特征在于,所 述嵌入式系錄加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值的步驟包括:設(shè)置標志位,所述內(nèi)存中的上層軟件升級之前,標志位為零;所迷嵌入式系統(tǒng)復位重啟;執(zhí)行底層軟件;加載升級后的上層軟件;備份升級后的上層軟件啟動初始值;將標志位^修改為1;執(zhí)行升級后上層軟件。
4、 根據(jù)權(quán)利要求1所述的提高嵌入式系統(tǒng)可靠性的方法,其特征在于所 述上層軟件的啟動初始值為上層軟件數(shù)據(jù)段中的數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1所述的提高嵌入式系統(tǒng)可靠性的方法,其特征在于所 述上層軟件的啟動初始值備份在非易失性存儲器或不易修改的內(nèi)存區(qū)域。
6、 一種提高嵌入式系統(tǒng)可靠性的裝置,其特征在于,包括 備份單元用于在嵌入式系統(tǒng)加載上層軟件后,備^f分內(nèi)存中上層軟件的啟自刷新單元用于在^r測到復位信號時,內(nèi)存進行自刷新; 復位重啟單元用于所述嵌入式系統(tǒng)復位重啟; 底層軟件執(zhí)行單元用于執(zhí)行底層軟件; 恢復單元用于恢復上層軟件的啟動初始值; 上層軟件執(zhí)行單元用于執(zhí)行上層軟件。
7、 根據(jù)權(quán)利要求6所述的提高嵌入式系統(tǒng)可靠性的裝置,其特征在于,所 述自刷新單元包括檢測單元用于檢測復位信號;延時單元用于將復位信號延時;中斷單元用于向CPU發(fā)送中斷信號;啟動單元用于CPU向內(nèi)存發(fā)送啟動自刷新模式指令;刷新單元用于內(nèi)存進行自刷新。
8、 根據(jù)權(quán)利要求6所述的提高嵌入式系統(tǒng)可靠性的裝置,其特征在于所 述上層軟件的啟動初始值為上層軟件數(shù)據(jù)段中的數(shù)據(jù)。
9、 根據(jù)權(quán)利要求6所述的提高嵌入式系統(tǒng)可靠性的裝置,其特征在于所 述上層軟件的啟動初始值名^f分在非易失性存儲器或不易修改的內(nèi)存區(qū)域。
全文摘要
本發(fā)明實施例公開了一種提高嵌入式系統(tǒng)可靠性的方法和裝置,涉及通信領(lǐng)域,為解決現(xiàn)有技術(shù)中嵌入式系統(tǒng)的復位后啟動時間長的問題而設(shè)計。本發(fā)明實施例提高嵌入式系統(tǒng)可靠性的方法,包括嵌入式系統(tǒng)加載上層軟件后,備份內(nèi)存中上層軟件的啟動初始值;當檢測到復位信號,內(nèi)存進行自刷新;所述嵌入式系統(tǒng)復位重啟;執(zhí)行底層軟件;恢復上層軟件的啟動初始值;執(zhí)行上層軟件。采用本發(fā)明可以大大縮短復位啟動時間。
文檔編號G06F11/14GK101546281SQ20081008419
公開日2009年9月30日 申請日期2008年3月28日 優(yōu)先權(quán)日2008年3月28日
發(fā)明者李延松 申請人:華為技術(shù)有限公司