專利名稱:一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置的硬件實現(xiàn), 屬于嵌入式系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
隨著信息技術(shù)的不斷發(fā)展,眾多的手持設(shè)備因其低功耗及便攜性已經(jīng)成為大眾化的上網(wǎng)設(shè)備。因此,應(yīng)用于各種手持設(shè)備上的嵌入式操作系統(tǒng)也逐漸走入大眾的視野中。 Linux是一個類UNIX內(nèi)核以網(wǎng)絡(luò)為核心支持多用戶、多任務(wù)、多線程、多CPU的操作系統(tǒng),是目前最有活力的操作系統(tǒng)之一。在穩(wěn)定性和可靠性方面具有服務(wù)器操作系統(tǒng)的特性,常用來構(gòu)筑各種服務(wù)器平臺,具有很高的性價比;此外,Linux系統(tǒng)稍加修改裁剪,被用到嵌入式系統(tǒng)中有很大的應(yīng)用前景。但是由于嵌入式系統(tǒng)存儲設(shè)備采用Nand Flash,由于其制作工藝的原因,壞塊是不可避免,為了最大程度的減少設(shè)備發(fā)生故障給人們的生產(chǎn)和生活帶來不便,同時結(jié)合當(dāng)前信息化服務(wù)模式,解決嵌入式設(shè)備的系統(tǒng)多為一次性系統(tǒng),不具備修復(fù)與升級等功能的缺點。因此急需開發(fā)一種嵌入式設(shè)備一鍵還原的裝置。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的缺陷和不足,以解決設(shè)備發(fā)生故障之后維修困難的難題,本發(fā)明提供了一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置。本發(fā)明的技術(shù)方案如下一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,包括直流電源模塊、開關(guān)控制模塊、主處理器模塊、主處理器啟動控制模塊、主處理器復(fù)位模塊、協(xié)處理器模塊、SD 卡模塊和Nand Flash模塊;其特征在于直流電源模塊給整個系統(tǒng)供電;開關(guān)控制模塊和協(xié)處理器模塊相連接;協(xié)處理器通過通用IO 口分別與主處理器啟動控制模塊和主處理器的復(fù)位模塊相連接;主處理器模塊分別和SD卡模塊和Nand Flash模塊相連接;所述的協(xié)處理器為基于8051核具有可編程功能的的單片機(jī)。所述的開關(guān)模塊,開關(guān)為按鍵開關(guān)。本發(fā)明一鍵還原裝置采用模塊化結(jié)構(gòu),方便調(diào)試,安裝。用戶通過開關(guān)控制模塊進(jìn)行一鍵還原控制,協(xié)處理器檢測到用戶的請求,發(fā)送信號給主處理器啟動控制模塊和主處理器復(fù)位模塊,主處理器在重啟過程中檢測協(xié)處理器的狀態(tài)為請求一鍵還原,主處理器讀取SD卡中數(shù)據(jù)并將其寫入Nand Flash存儲區(qū),完成一鍵還原工作。本方法開發(fā)周期短,實用性強(qiáng),在開發(fā)難度、工作量、成本上有較為明顯優(yōu)勢,適用于嵌入式Linux平臺的一鍵還原。一鍵還原裝置中各部件的工作功能如下1)開關(guān)控制模塊用來等待用戶一鍵還原輸入請求。2)協(xié)處理器模塊用來檢測用戶一鍵還原的請求,并通過通用IO 口設(shè)置主處理器檢測啟動信號線電平,通過控制主處理器復(fù)位模塊來控制主處理器的重新啟動,在檢測到一鍵還原結(jié)束之后再次控制主處理器復(fù)位模塊使主處理器重新啟動。3)主處理器啟動控制模塊用來控制主處理器的啟動方式為FLASH啟動還是從SD 卡啟動,如果從FLASH啟動則加載FLASH中的數(shù)據(jù)到內(nèi)存緩沖區(qū),如果從SD卡啟動則加載 SD卡中數(shù)據(jù)到內(nèi)存緩沖區(qū)。4)主處理器復(fù)位模塊用來控制主處理器的復(fù)位,采用專門的復(fù)位芯片MAX811,當(dāng)有外部信號觸發(fā)時將發(fā)送復(fù)位信號給主處理器完成系統(tǒng)復(fù)位工作。5) SD卡模塊用來存放一鍵還原中需要用到的備份文件包括bootloader、Iinux內(nèi)核和yaffs文件系統(tǒng),同時在SD中燒寫了適用于SD卡啟動系統(tǒng)的bootloader,同時通過 fat文件系統(tǒng)讀取SD中的文件。通過上述功能組合,用戶使用按鍵開關(guān)啟動一鍵還原,協(xié)處理器檢測到一鍵還原信號之后改變主處理器啟動信號線電平并控制主處理器復(fù)位,主處理器重新啟動時通過檢測是從SD卡啟動,讀取里面的文件拷貝到內(nèi)存緩沖區(qū),最終燒寫至Nand Flash,最后通過燒寫至sd卡中的程序設(shè)定,當(dāng)燒寫完畢后,主處理器發(fā)送一個持續(xù)有效的高電平給協(xié)處理器,協(xié)處理器檢測到之后控制主處理器重新啟動。至此一次一鍵還原完畢。如圖1所示,將開關(guān)模塊和協(xié)處理器模塊相連,協(xié)處理器模塊通過10 口與主處理器進(jìn)行信息傳遞,以一次正常的一鍵還原過程為例開關(guān)模塊的工作特性如下1)開關(guān)模塊采用按鍵式,只是短暫改變一次電平信號,并通過一位控制線和協(xié)處理器通信;用戶通過開關(guān)模塊改變電平信號使電平信號出現(xiàn)一次翻轉(zhuǎn),并通過一位控制線傳遞給協(xié)處理器模塊進(jìn)行處理。協(xié)處理器模塊的工作特性如下1)通過外部中斷檢測外部開關(guān)控制模塊的狀態(tài);2)通過標(biāo)準(zhǔn)兩位數(shù)據(jù)線與運行Linux操作系統(tǒng)設(shè)備進(jìn)行數(shù)據(jù)通信,其中一位用于在檢測到用戶啟動一鍵還原之后設(shè)置主處理器的啟動方式,另一位數(shù)據(jù)線用于主處理器完成一鍵還原之后返回給協(xié)處理器的信號線;3)通過標(biāo)準(zhǔn)一位數(shù)據(jù)線與主處理器的復(fù)位模塊相連接;4)通過定時器機(jī)制來檢測主處理器完成一鍵還原之后返回的數(shù)據(jù)線有效電平的時間長度,如果時間大于Is則說明主處理器完成一鍵還原工作,控制主處理器復(fù)位模塊完成主處理器的重新啟動控制;主處理器的啟動控制模塊工作特性如下1)主處理器在啟動流程分為三段BL0,BLl, BL2, BLO被廠商固化到了處理器當(dāng)中,啟動會先執(zhí)行這一段代碼,BLO會將BLl拷貝到內(nèi)部SDRAM中,這時候處理器會根據(jù)啟動信號線的狀態(tài)到指定的位置加載程序,如果啟動信號線電平為高電平將從SD卡加載程序, 否則將從Nand Flash中加載程序;2)如果從SD卡啟動系統(tǒng),主處理器就會到SD卡中的倒數(shù)第18個塊開始取數(shù)據(jù), 因為SD卡一個塊是512個字節(jié),所以18個塊是9K,但是S3C6410要求最后必須有IK字節(jié)空間,所以BLO將從第18個塊開始讀取8K字節(jié)的數(shù)據(jù)到內(nèi)部的SDRAM中,接下來前8K就將整個bootloader的加載和重定位到SDRAM當(dāng)中,最后跳轉(zhuǎn)到絕對地址運行,這樣系統(tǒng)就能正常從SD卡啟動;SD卡模塊的工作特性如下1)首先將SD卡格式化為FAT32文件格式用于通過fatloader命令來讀取文件;2)將bootloader設(shè)置為SD卡啟動,并修改好文件燒寫分區(qū)信息,并將其制作成 256K字節(jié)大??;3)將bootloader燒寫至SD卡最后256K字節(jié)中;4)將用于Nand Flash啟動的bootloader、Iinux內(nèi)核和文件系統(tǒng)拷貝到SD卡中; 主處理器復(fù)位模塊工作特性如下1)采用專門的復(fù)位芯片MAX811,具有上電復(fù)位功能,同時在復(fù)位引腳出給一個低電平信號將實現(xiàn)手動復(fù)位;2)MAX811的輸出直接與主處理器的復(fù)位引腳相連接;3)協(xié)處理器通過控制MAX811的復(fù)位引腳來實現(xiàn)控制主處理器的復(fù)位;Nand Flash模塊工作特性如下l)Nand Flash用于存放還原之后的bootloader、Iinux內(nèi)核和文件系統(tǒng);2)通過SD中燒寫的bootloader來設(shè)置分區(qū)信息;3)通過讀取或?qū)憠K來進(jìn)行操作;用戶按下按鍵之后電平翻轉(zhuǎn)觸發(fā)協(xié)處理器模塊的中斷,在協(xié)處理器中進(jìn)行消抖處理之后判斷用戶確定要進(jìn)行一鍵還原,則將與主處理器啟動模塊相連接的數(shù)據(jù)線設(shè)置為高電平,并設(shè)置與主處理器復(fù)位模塊相連接的數(shù)據(jù)線設(shè)置為低電平,主處理器執(zhí)行復(fù)位,并檢測啟動控制信號線為高從SD卡啟動,讀取SD卡中最后的8K字節(jié)信息至內(nèi)存緩沖區(qū), 完成初始加載,然后將加載剩余的248K字節(jié),至此SD卡中bootloader啟動成功,通過 fatloader命令讀取存放與SD卡中bootloader、Iinux內(nèi)核和yaffs文件系統(tǒng)并通過nand write函數(shù)以阻塞方式燒寫至Nand Flash的固定地址處。將bootloader、Iinux內(nèi)核和yaffs文件系統(tǒng)燒寫至Nand Flash之后將執(zhí)行燒寫結(jié)束命令,在此命令執(zhí)行的函數(shù)中將標(biāo)志一鍵還原完成的信號線設(shè)置為高電平并持續(xù)時間為Is。于此同時協(xié)處理器設(shè)置定時器的定時周期為10ms,在定時器中斷的處理函數(shù)中一直檢測信號線是否為高電平,如果檢測到為高電平執(zhí)行計數(shù)器加1,否則清零。直至計數(shù)器的個數(shù)到達(dá)100,說明主處理器執(zhí)行一鍵還原結(jié)束,協(xié)處理器設(shè)置主處理器復(fù)位模塊的控制信號線為持續(xù)IOms的低電平完成控制主處理器的重新啟動,至此一次完成的一鍵還原結(jié)束。 協(xié)處理不停檢測用戶的請求,如果用戶請求一鍵還原則執(zhí)行一鍵還原的流程,否則繼續(xù)等
IvTo本發(fā)明一鍵還原裝置具有以下優(yōu)點本裝置采用模塊化結(jié)構(gòu),硬件接口簡單,方便調(diào)試,安裝。協(xié)處理器軟件主控程序采用C語言編寫,不依賴適用環(huán)境的硬件結(jié)構(gòu);此外根據(jù)Linux應(yīng)用環(huán)境,采取不同的編譯方式,亦可適用于嵌入式Linux系統(tǒng)中,實現(xiàn)在移動終端上的使用。本方法開發(fā)周期短,實用性強(qiáng),在開發(fā)難度、工作量、成本上有較為明顯優(yōu)勢,適用于嵌入式Linux平臺的一鍵還原。
圖1為本發(fā)明一鍵還原裝置示意圖。其中1為開關(guān)控制模塊;2為協(xié)處理器模塊;3為主處理器模塊;4為主處理器啟動控制模塊;5為主處理器復(fù)位模塊;6為SD模塊;7為Nand Flash模塊;8為直流電源;9 為主處理器燒寫完成后與協(xié)處理器通信信號線。
具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明做進(jìn)一步說明,但不限于此。實施例1 如圖1所示,一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,包括直流電源8、開關(guān)控制1、協(xié)處理器模塊2、主處理器模塊3、主處理器啟動控制模塊4、主處理器復(fù)位模塊5、SD模塊6、Nand Flash模塊7、主處理器一鍵還原完成后與協(xié)處理器通信信號線9, 其特征在于直流電源模塊給整個系統(tǒng)供電;開關(guān)控制模塊和協(xié)處理器模塊相連接;協(xié)處理器通過通用IO 口分別與主處理器啟動控制模塊和主處理器的復(fù)位模塊相連接;主處理器模塊分別和SD卡模塊和Nand Flash模塊相連接;所述的主處理器采用以ARMll為內(nèi)核的S3C6410.所述的協(xié)處理器為基于8051核具有可編程功能的的單片機(jī)。
所述的開關(guān)模塊,開關(guān)采用按鍵式。
權(quán)利要求
1.一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,包括直流電源模塊、開關(guān)控制模塊、主處理器模塊、主處理器啟動控制模塊、主處理器復(fù)位模塊、協(xié)處理器模塊、SD卡模塊和Nand Flash模塊,其特征在于,直流電源模塊給整個系統(tǒng)供電;開關(guān)控制模塊和協(xié)處理器模塊相連接;協(xié)處理器模塊通過通用IO 口分別與主處理器啟動控制模塊和主處理器的復(fù)位模塊相連接;主處理器模塊分別與SD卡模塊和Nand Flash模塊相連接。
2.如權(quán)利要求書1所述的一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,其特征在于所述的主處理器模塊中,主處理器采用以ARMll為內(nèi)核的S3C6410.
3.如權(quán)利要求書1所述的一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,其特征在于所述的協(xié)處理模塊中,協(xié)處理器為基于8051核具有可編程功能的的單片機(jī)。
4.如權(quán)利要求書1所述的一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,其特征在于所述的處理器復(fù)位模塊采用復(fù)位芯片MAX811。
5.如權(quán)利要求書1所述的一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,其特征在于所述的開關(guān)控制模塊中,開關(guān)為按鍵開關(guān)。
全文摘要
一種適用于嵌入式Linux操作系統(tǒng)的系統(tǒng)一鍵還原裝置,屬于嵌入式系統(tǒng)技術(shù)領(lǐng)域。以運行于ARM11芯片上的嵌入式Linux為載體,包括直流電源模塊、開關(guān)控制模塊、主處理器模塊、主處理器啟動控制模塊、主處理器復(fù)位模塊、協(xié)處理器模塊、SD卡模塊和Nand Flash模塊;其特征在于直流電源模塊給整個系統(tǒng)供電;開關(guān)控制模塊和協(xié)處理器模塊相連接;協(xié)處理器通過通用IO口分別與主處理器啟動控制模塊和主處理器的復(fù)位模塊相連接;本發(fā)明裝置采用模塊化結(jié)構(gòu),硬件接口簡單,方便調(diào)試、安裝;實現(xiàn)在移動終端上的使用。本發(fā)明開發(fā)周期短,實用性強(qiáng),在開發(fā)難度、工作量、成本上有較為明顯優(yōu)勢,適用于基于嵌入式Linux操作系統(tǒng)平臺的一鍵還原。
文檔編號G06F1/24GK102495670SQ20111041053
公開日2012年6月13日 申請日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者孫志猛, 孫文, 張海霞, 徐偉濤, 徐加利, 徐祥桐, 李宗璋, 紀(jì)洪亮, 翟慶羽, 赫明哲 申請人:山東大學(xué)