適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及片上系統(tǒng)設(shè)計(jì)技術(shù)領(lǐng)域,特別涉及一種適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置及其方法。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)和片上系統(tǒng)(SoC)在正常運(yùn)行前,必須先安裝相應(yīng)的操作系統(tǒng)和必要的應(yīng)用軟件。操作系統(tǒng)遭到破壞或者關(guān)鍵文件被誤刪除時(shí),還需要恢復(fù)原始的操作系統(tǒng),即所謂的系統(tǒng)初始化。操作系統(tǒng)一般存放在外部存儲(chǔ)設(shè)備,如硬盤中。常見(jiàn)的安裝或恢復(fù)操作系統(tǒng)的方法有兩種方法。第一種方法是,利用USB、光驅(qū)、軟驅(qū)、網(wǎng)口等傳統(tǒng)外設(shè)進(jìn)行安裝或重裝操作系統(tǒng)。第二種方法是,將一塊已裝好系統(tǒng)的硬盤的數(shù)據(jù)制作成鏡像文件,完全復(fù)制到需要安裝或恢復(fù)系統(tǒng)的硬盤中。前一種方法適用于普通安裝系統(tǒng),需要外設(shè)的支持;第二種方法適用于工程化量產(chǎn)的場(chǎng)合,且一般都需要把待裝系統(tǒng)的硬盤取出,在另外的計(jì)算機(jī)環(huán)境下完成。
[0003]隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)系統(tǒng)和片上系統(tǒng)正朝著微型化發(fā)展。很多嵌入式片上系統(tǒng)摒棄了傳統(tǒng)的USB,光驅(qū)等接口,因此不能使用上述的第一種方法安裝和重裝系統(tǒng)。另一方面,現(xiàn)在的外部存儲(chǔ)設(shè)備硬盤,大部分以D0C(Disk on Chip)閃存磁盤,NAND FLASH,嵌入式多媒體卡(eMMC, Embedded Multi Media Card)等形式出現(xiàn)。這些硬盤直接焊接在印制電路板上,很難拆卸,不便于使用上述的第二種方法安裝和重裝系統(tǒng)。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置及其方法。
[0005]—種適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置,其包括片上系統(tǒng)芯片、第一存儲(chǔ)器、待備份和/或恢復(fù)的外設(shè);
[0006]第一存儲(chǔ)器、外設(shè)均與片上系統(tǒng)芯片電連接;第一存儲(chǔ)器用于存儲(chǔ)B1S數(shù)據(jù)以及系統(tǒng)鏡像數(shù)據(jù);
[0007]片上系統(tǒng)芯片包括處理器、第二存儲(chǔ)器、外設(shè)接口模塊;處理器用于從第一存儲(chǔ)器中讀取系統(tǒng)鏡像數(shù)據(jù),并將系統(tǒng)鏡像數(shù)據(jù)寫入外設(shè);第二存儲(chǔ)器用于存儲(chǔ)系統(tǒng)鏡像備份控制文件;外設(shè)接口模塊用于控制片上系統(tǒng)芯片與第一存儲(chǔ)器、外設(shè)、串口的通信。
[0008]在本發(fā)明所述的適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置中,其還包括串口、上位機(jī);
[0009]上位機(jī)通過(guò)串口與片上系統(tǒng)芯片連接;上位機(jī)用于控制片上系統(tǒng)芯片對(duì)外設(shè)進(jìn)行系統(tǒng)鏡像數(shù)據(jù)的備份;第二存儲(chǔ)器還用于存儲(chǔ)串口服務(wù)文件;外設(shè)接口模塊還用于控制片上系統(tǒng)芯片通過(guò)串口與上位機(jī)的通信。
[0010]一種適用于片上系統(tǒng)的系統(tǒng)備份方法,其通過(guò)上述適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置實(shí)現(xiàn),包括如下步驟:
[0011]S1、上位機(jī)與片上系統(tǒng)芯片通過(guò)串口進(jìn)行通信;并保持片上系統(tǒng)芯片處于斷電狀態(tài);
[0012]S2、上位機(jī)初始化串口,選擇需要備份的系統(tǒng)鏡像文件,并設(shè)置第一存儲(chǔ)器待燒寫的偏移地址;
[0013]S3、上位機(jī)發(fā)送連接片上系統(tǒng)芯片的請(qǐng)求,不斷通過(guò)串口向片上系統(tǒng)芯片發(fā)送握手控制字;
[0014]S4、對(duì)片上系統(tǒng)芯片上電,啟動(dòng)片上系統(tǒng)芯片,并在接收到上位機(jī)發(fā)送的握手控制字后,向上位機(jī)發(fā)送應(yīng)答控制字;
[0015]S5、上位機(jī)在收到應(yīng)答控制字后,控制片上系統(tǒng)芯片根據(jù)步驟S2中的第一存儲(chǔ)器待燒寫的偏移地址,擦除第一存儲(chǔ)器中相應(yīng)的塊作為系統(tǒng)鏡像數(shù)據(jù)的存儲(chǔ)地址并根據(jù)第一存儲(chǔ)器待燒寫的偏移地址將系統(tǒng)鏡像數(shù)據(jù)寫入第一存儲(chǔ)器中相應(yīng)的地址。
[0016]一種適用于片上系統(tǒng)的系統(tǒng)恢復(fù)方法,其通過(guò)上述適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置實(shí)現(xiàn),其包括如下步驟:
[0017]S01、啟動(dòng)第一存儲(chǔ)器中的B1S,運(yùn)行至外設(shè)中的硬盤引導(dǎo)操作系統(tǒng)前;
[0018]S02、接收用于發(fā)送的預(yù)設(shè)的恢復(fù)系統(tǒng)的請(qǐng)求;
[0019]S03、通過(guò)運(yùn)行第一存儲(chǔ)器中的B1S,將第一存儲(chǔ)器中的系統(tǒng)備份數(shù)據(jù)寫入外設(shè)的硬盤空間中。
[0020]本發(fā)明提供的適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置及其方法,具有如下優(yōu)點(diǎn):
(I)數(shù)據(jù)備份過(guò)程無(wú)需待備份外設(shè)的硬盤,也不需要光驅(qū)、軟驅(qū)、網(wǎng)口、USB等接口。(2)系統(tǒng)恢復(fù)時(shí),無(wú)需拆卸硬盤,也不需要串口、光驅(qū)、軟驅(qū)、USB等接口。(3)系統(tǒng)恢復(fù)時(shí),采用系統(tǒng)鏡像數(shù)據(jù)直接燒寫,相比起基于文件的備份方法,備份的速度快。
【附圖說(shuō)明】
[0021]圖1為本發(fā)明實(shí)施例的適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置的結(jié)構(gòu)框圖;
[0022]圖2為本發(fā)明實(shí)施例的適用于片上系統(tǒng)的系統(tǒng)備份方法的流程圖;
[0023]圖3為圖2中步驟S3的子流程圖;
[0024]圖4為本發(fā)明實(shí)施例的適用于片上系統(tǒng)的系統(tǒng)恢復(fù)方法的流程圖。
【具體實(shí)施方式】
[0025]如圖1所示,一種適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置,其包括片上系統(tǒng)芯片
10、第一存儲(chǔ)器20、待備份和/或恢復(fù)的外設(shè)30。
[0026]可選地,其中第一存儲(chǔ)器20可以為非易失性存儲(chǔ)器。進(jìn)一步的,非易失存儲(chǔ)器可以是閃存(Flash)芯片。本發(fā)明不限于此。
[0027]第一存儲(chǔ)器20、外設(shè)30均與片上系統(tǒng)芯片10電連接;第一存儲(chǔ)器20用于存儲(chǔ)B1S數(shù)據(jù)以及系統(tǒng)鏡像數(shù)據(jù)。
[0028]片上系統(tǒng)芯片10包括處理器11、第二存儲(chǔ)器12、外設(shè)接口模塊13 ;處理器11用于從第一存儲(chǔ)器20中讀取系統(tǒng)鏡像數(shù)據(jù),并將系統(tǒng)鏡像數(shù)據(jù)寫入外設(shè)30 ;第二存儲(chǔ)器12用于存儲(chǔ)系統(tǒng)鏡像備份控制文件;外設(shè)接口模塊13用于控制片上系統(tǒng)芯片10與第一存儲(chǔ)器20、外設(shè)30、串口 40的通信。第二存儲(chǔ)器12可以為片內(nèi)ROM。
[0029]可選地,系統(tǒng)鏡像數(shù)據(jù),不僅僅包含操作系統(tǒng)鏡像,還包括整個(gè)硬盤的主引導(dǎo)扇區(qū),文件分區(qū)表,分區(qū)內(nèi)容等所有與硬盤操作系統(tǒng)正常啟動(dòng)相關(guān)的數(shù)據(jù)信息。一般地,受限于容量,系統(tǒng)鏡像文件存放在非易失存儲(chǔ)器需要截取和壓縮處理,其具體實(shí)施形式與本發(fā)明無(wú)關(guān)。
[0030]可選地,適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置還可以包括串口 40、上位機(jī)50。上位機(jī)50可以為普通PC,本發(fā)明不限于此。
[0031]上位機(jī)50通過(guò)串口 40與片上系統(tǒng)芯片10連接;上位機(jī)50用于控制片上系統(tǒng)芯片10對(duì)外設(shè)30進(jìn)行系統(tǒng)鏡像數(shù)據(jù)的備份;第二存儲(chǔ)器12還用于存儲(chǔ)串口 40服務(wù)文件;夕卜設(shè)接口模塊13還用于控制片上系統(tǒng)芯片10通過(guò)串口 40與上位機(jī)50的通信。
[0032]其中系統(tǒng)鏡像數(shù)據(jù)可以是事先制作好的,并存儲(chǔ)于上位機(jī)50中。
[0033]第二存儲(chǔ)器12中可以存儲(chǔ)片內(nèi)ROM中的程序代碼,此段程序代碼的用于接收上位機(jī)50串口 40命令,判斷是否需要將系統(tǒng)鏡像數(shù)據(jù)寫入第一存儲(chǔ)器20中。
[0034]如圖2所示,本發(fā)明實(shí)施例還提供一種適用于片上系統(tǒng)的系統(tǒng)備份方法,其通過(guò)上述任一項(xiàng)實(shí)施例所述的適用于片上系統(tǒng)的系統(tǒng)備份與恢復(fù)裝置實(shí)現(xiàn),包括如下步驟:
[0035]S1、上位機(jī)50與片上系統(tǒng)芯片10通過(guò)串口 40進(jìn)行通信;并保持片上系統(tǒng)芯片10處于斷電狀態(tài)。
[0036]S2、上位機(jī)50初始化串口 40,選擇需要備份的系統(tǒng)鏡像文件,并設(shè)置第一存儲(chǔ)器20待燒寫的偏移地址;
[0037]S3、上位機(jī)50發(fā)送連接片上系統(tǒng)芯片10的請(qǐng)求,不斷通過(guò)串口 40向片上系統(tǒng)芯片10發(fā)送握手控制字。
[0038]S4、對(duì)片上系統(tǒng)芯片10上電,啟動(dòng)片上系統(tǒng)芯片10,并在接收到上位機(jī)50發(fā)送的握手控制字后,向上位機(jī)50發(fā)送應(yīng)答控制字。收到握手請(qǐng)求控制字,表示上位機(jī)50軟件希望備份鏡像。
[0039]S5、上位機(jī)50在收到應(yīng)答控制字后,控制片上系統(tǒng)芯片10根據(jù)步驟S2中的第一存儲(chǔ)器