嵌入式雙系統(tǒng)的更新方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種嵌入式雙系統(tǒng)的更新方法,包括以下步驟:步驟S1、在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件;步驟S2、判斷該更新模式是否為鏡像文件整體更新模式,若是,進入步驟S3;若否,進入步驟S4;步驟S3、讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū);步驟S4、將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。本發(fā)明公開了一種嵌入式雙系統(tǒng)的更新系統(tǒng)。本發(fā)明以簡單靈活的方式來更新任何所需要的部分鏡像或者整個鏡像,成功地解決了技術人員在更新系統(tǒng)鏡像時所面臨的操作復雜、花費時間較長的問題。
【專利說明】嵌入式雙系統(tǒng)的更新方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及一種嵌入式雙系統(tǒng)的更新方法及系統(tǒng),特別是涉及一種在bootloader(BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像BIOS (基本輸入輸出系統(tǒng))那樣的固件程序(注,有的嵌入式CPU也會內(nèi)嵌一段短小的啟動程序),因此整個系統(tǒng)的加載啟動任務就完全由BootLoader來完成。)模式下的嵌入式雙系統(tǒng)的更新方法及系統(tǒng)。
【背景技術】
[0002]隨著信息化、智能化、網(wǎng)絡化的發(fā)展,嵌入式系統(tǒng)技術已獲得廣闊的發(fā)展空間,目前廣泛應用于網(wǎng)絡通信、消費電子、制造、安防系統(tǒng)、工業(yè)控制、軍事等多個領域?,F(xiàn)今的應用軟件的功能不斷豐富,使得我們對操作系統(tǒng)的穩(wěn)定性要求越來越高,然而當系統(tǒng)遇到不可逆轉的破壞時,我們需要一種簡單有效的方式能迅速恢復系統(tǒng)運行。
[0003]目前采用比較普遍的方法是雙系統(tǒng),但是目前的雙系統(tǒng)設計存在一定的缺陷,t匕如現(xiàn)有的雙系統(tǒng)更新方式復雜,對存儲設備(例如一 flash (閃存))的分區(qū)和操作復雜,這就使得技術人員在更新系統(tǒng)鏡像時將面對復雜的操作,花費的時間也較長。因此,需要一種操作簡單方便的方式來克服上述問題。。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術問題是為了克服現(xiàn)有技術中嵌入式雙系統(tǒng)的更新方式復雜、在雙系統(tǒng)更新時操作復雜耗時較長、加重了技術人員的負擔的缺陷,提供一種更新方式靈活、合理利用存儲設備的空間的嵌入式雙系統(tǒng)的更新方法及系統(tǒng)。
[0005]本發(fā)明是通過下述技術方案來解決上述技術問題的:
[0006]一種嵌入式雙系統(tǒng)的更新方法,其特點在于,該嵌入式雙系統(tǒng)包括一存儲設備,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新方法包括以下步驟:
[0007]步驟S1、在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件;
[0008]步驟S2、判斷該更新模式是否為鏡像文件整體更新模式,若是,進入步驟S3 ;若否,進入步驟S4 ;
[0009]步驟S3、讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū);
[0010]步驟S4、將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。[0011]優(yōu)選地,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
[0012]優(yōu)選地,當該更新模式為該鏡像文件整體更新模式時,
[0013]步驟S3中讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū);
[0014]步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者,
[0015]當該更新模式為啟動信息更新模式時,
[0016]步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者,
[0017]當該更新模式為bootloader鏡像更新模式時,
[0018]步驟S4中將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者,
[0019]當該更新模式為內(nèi)核及根文件更新模式時,
[0020]步驟S4中將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
[0021]優(yōu)選地,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
[0022]優(yōu)選地,該存儲設備為一 flash設備。
[0023]本發(fā)明還提供一種嵌入式雙系統(tǒng)的更新系統(tǒng),其特點在于,該嵌入式雙系統(tǒng)包括一存儲設備,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新系統(tǒng)還包括:
[0024]一輸入裝置,用于在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件;
[0025]一控制裝置,用于判斷該更新模式是否為鏡像文件整體更新模式,若是,則啟用一分區(qū)裝置;若否,啟用一更新裝置;
[0026]該分區(qū)裝置用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū);
[0027]該更新裝置用于將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。
[0028]優(yōu)選地,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
[0029]優(yōu)選地,當該更新模式為該鏡像文件整體更新模式時,[0030]該分區(qū)裝置用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū);
[0031]該更新裝置用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者,
[0032]當該更新模式為啟動信息更新模式時,
[0033]該更新裝置用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者,
[0034]當該更新模式為bootloader鏡像更新模式時,
[0035]該更新裝置用于將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者,
[0036]當該更新模式為內(nèi)核及根文件更新模式時,
[0037]該更新裝置用于將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
[0038]優(yōu)選地,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
[0039]優(yōu)選地,該存儲設備為一 flash設備。
[0040]本發(fā)明的積極進步效果在于:
[0041]1、提供了可以及時更新的嵌入式雙系統(tǒng)的更新方法及系統(tǒng),其可以簡單靈活的方式來更新任何所需要的部分鏡像或者整個鏡像,成功地解決了技術人員在更新系統(tǒng)鏡像時所面臨的操作復雜、花費時間較長的問題,提高了生產(chǎn)效率。
[0042]2、有效合理的利用了存儲設備(例如一 flash)的空間,由于雙系統(tǒng)共同使用一個bootloader鏡像而為存儲設備節(jié)省了很多空間。同時flash設備的信息分區(qū)提供了一個很好的設置系統(tǒng)啟動狀態(tài)的平臺。
【專利附圖】
【附圖說明】
[0043]圖1為本發(fā)明一實施例的嵌入式雙系統(tǒng)的更新方法的流程圖。
[0044]圖2為本發(fā)明一實施例的嵌入式雙系統(tǒng)的更新系統(tǒng)的結構框圖。
【具體實施方式】
[0045]下面結合附圖給出本發(fā)明較佳實施例,以詳細說明本發(fā)明的技術方案。
[0046]參考圖1,本發(fā)明所述的嵌入式雙系統(tǒng)的更新方法,該嵌入式雙系統(tǒng)包括一存儲設備,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新方法包括以下步驟:[0047]步驟S1、在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件;
[0048]步驟S2、判斷該更新模式是否為鏡像文件整體更新模式,若是,進入步驟S3 ;若否,進入步驟S4 ;
[0049]步驟S3、讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū);
[0050]步驟S4、將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。
[0051]具體來說,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
[0052]更具體地,針對各種不同的更新模式,
[0053]當該更新模式為該鏡像文件整體更新模式時,
[0054]步驟S3中讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū);
[0055]步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者,
[0056]當該更新模式為啟動信息更新模式時,
[0057]步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者,
[0058]當該更新模式為bootloader鏡像更新模式時,
[0059]步驟S4中將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者,
[0060]當該更新模式為內(nèi)核及根文件更新模式時,
[0061]步驟S4中將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
[0062]其中,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
[0063]在本實施例中,該存儲設備為一 flash設備。
[0064]參考圖2,本發(fā)明所述的嵌入式雙系統(tǒng)的更新系統(tǒng),該嵌入式雙系統(tǒng)包括一存儲設備1,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新系統(tǒng)還包括:
[0065]一輸入裝置2,用于在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件;
[0066]一控制裝置3,用于判斷該更新模式是否為鏡像文件整體更新模式,若是,則啟用一分區(qū)裝置4 ;若否,啟用一更新裝置5 ;
[0067]該分區(qū)裝置4用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備I重新分區(qū);
[0068]該更新裝置5用于將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備I中與該更新模式一一對應的分區(qū)中。
[0069]具體來說,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
[0070]更具體地,針對各種不同的更新模式,
[0071]當該更新模式為該鏡像文件整體更新模式時,
[0072]該分區(qū)裝置4用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū);
[0073]該更新裝置5用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者,
[0074]當該更新模式為啟動信息更新模式時,
[0075]該更新裝置5用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者,
[0076]當該更新模式為bootloader鏡像更新模式時,
[0077]該更新裝置5用于將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者,
[0078]當該更新模式為內(nèi)核及根文件更新模式時,
[0079]該更新裝置5用于將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
[0080]其中,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
[0081]在本實施例中該存儲設備I為一 flash設備。
[0082]接下來,以一嵌入式雙系統(tǒng)的啟動的完整流程為例進一步說明本發(fā)明的技術方案,下文中為了描述上的便利,將雙系統(tǒng)分別稱作系統(tǒng)A和系統(tǒng)B。
[0083]該嵌入式雙系統(tǒng)包括嵌入式雙系統(tǒng)的鏡像文件(在本發(fā)明中是否系統(tǒng)A和系統(tǒng)B共用一個bootloader鏡像文件),而啟動流程中包括默認系統(tǒng)引導方法以及更新方式的系統(tǒng)引導方法。所述的鏡像文件由啟動信息部分,bootloader鏡像部分和內(nèi)核及其根文件鏡像部分組成(內(nèi)核及其根文件鏡像二者合起來的作用相當于PC機的操作系統(tǒng)軟件)。啟動信息部分包括flash配置信息,bootloader鏡像啟始地址及占用的地址空間大小,系統(tǒng)鏡像啟動地址、系統(tǒng)鏡像校驗值以及系統(tǒng)鏡像占用的地址空間大小(在這里,系統(tǒng)鏡像指的是內(nèi)核及其根文件鏡像)。
[0084]所述的flash配置信息包括flash設備分區(qū)信息,系統(tǒng)鏡像A的啟動地址和系統(tǒng)鏡像B的啟動地址。
[0085]所述的flash設備包括bootloader分區(qū)(bootloader分區(qū)用于存放bootloader鏡像文件),啟動信息分區(qū),系統(tǒng)鏡像A分區(qū),系統(tǒng)鏡像B分區(qū),環(huán)境變量分區(qū)(其中環(huán)境變量分區(qū)用于存放系統(tǒng)啟動的一些參數(shù))以及保留分區(qū)。
[0086]所述的默認系統(tǒng)引導方法的流程是,首先獲取信息分區(qū)中關于啟動系統(tǒng)的信息,判斷系統(tǒng)選擇從哪一個鏡像分區(qū)啟動,然后讀取啟動信息中相對應的啟動地址以及鏡像的校驗值。校驗鏡像的校驗值如果正確,程序就會跳轉到讀取到的啟動地址處去運行;如果不正確,則選擇另外一個鏡像分區(qū)啟動,并讀取啟動信息分區(qū)中其對應的啟動地址,校驗鏡像的校驗值,如果正確,程序到讀取的啟動地址處去運行。如果兩個系統(tǒng)都不能正常啟動,或者校驗鏡像的校驗值都不正確,系統(tǒng)進入命令模式等待輸入更新命令進入更新方式的系統(tǒng)引導。
[0087]所述的更新方式的系統(tǒng)引導方法包括更新命令,更新模式和系統(tǒng)引導方式。其中更新模式包括啟動信息部分更新模式,bootloader鏡像更新模式,內(nèi)核及其根文件鏡像更新模式,整個鏡像更新模式。更新方式的系統(tǒng)引導方法具體過程如下,當系統(tǒng)進入命令模式后,輸入更新命令及其更新模式后,判斷其屬于上述的哪一種更新模式:
[0088]a)如果屬于整個鏡像更新模式,讀取flash配置信息的flash設備分區(qū)信息,將flash設備分為bootloader分區(qū),啟動信息分區(qū),系統(tǒng)鏡像A分區(qū),系統(tǒng)鏡像B分區(qū),環(huán)境變量分區(qū)以及保留分區(qū)(需要其他分區(qū)時,只需重新修改嵌入式雙系統(tǒng)的鏡像文件的flash配置信息然后重新使用更新方式的系統(tǒng)引導方法引導系統(tǒng)),然后將bootloader鏡像寫入bootloader分區(qū),flash配置信息寫入啟動信息分區(qū),內(nèi)核及其根文件鏡像寫入系統(tǒng)鏡像A分區(qū)和系統(tǒng)鏡像B分區(qū)。
[0089]b)如果是啟動彳目息部分更新t旲式,只需將flash配直彳目息與入啟動彳目息分區(qū)。
[0090]c)如果是bootloader鏡像更新模式,只需將bootloader鏡像寫入bootloader分區(qū)。
[0091]d)如果是內(nèi)核及其根文件鏡像更新模式,需將內(nèi)核及其根文件鏡像寫入系統(tǒng)鏡像A分區(qū)和系統(tǒng)鏡像B分區(qū)。
[0092]然后重新啟動系統(tǒng),接著按照默認系統(tǒng)引導方法啟動系統(tǒng)。
[0093]本發(fā)明提供了可以及時更新的嵌入式雙系統(tǒng)的更新方法及系統(tǒng),其可以簡單靈活的方式來更新任何所需要的部分鏡像或者整個鏡像,成功地解決了技術人員在更新系統(tǒng)鏡像時所面臨的操作復雜、花費時間較長的問題,提高了生產(chǎn)效率。并且有效合理的利用了存儲設備(例如一 flash)的空間,由于雙系統(tǒng)共同使用一個bootloader鏡像而為存儲設備節(jié)省了很多空間。同時flash設備的信息分區(qū)提供了一個很好的設置系統(tǒng)啟動狀態(tài)的平臺。
[0094]雖然以上描述了本發(fā)明的【具體實施方式】,但是本領域的技術人員應當理解,這些僅是舉例說明,本發(fā)明的保護范圍是由所附權利要求書限定的。本領域的技術人員在不背離本發(fā)明的原理和實質(zhì)的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護范圍。
【權利要求】
1.一種嵌入式雙系統(tǒng)的更新方法,其特征在于,該嵌入式雙系統(tǒng)包括一存儲設備,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新方法包括以下步驟: 步驟S1、在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件; 步驟S2、判斷該更新模式是否為鏡像文件整體更新模式,若是,進入步驟S3 ;若否,進入步驟S4 ; 步驟S3、讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū); 步驟S4、將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。
2.如權利要求1所述的嵌入式雙系統(tǒng)的更新方法,其特征在于,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
3.如權利要求1所述的嵌入式雙系統(tǒng)的更新方法,其特征在于, 當該更新模式為該鏡像文件整體更新模式時, 步驟S3中讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū); 步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者, 當該更新模式為啟動信息更新模式時, 步驟S4中將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者, 當該更新模式為bootloader鏡像更新模式時, 步驟S4中將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者, 當該更新模式為內(nèi)核及根文件更新模式時, 步驟S4中將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
4.如權利要求1所述的嵌入式雙系統(tǒng)的更新方法,其特征在于,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
5.如權利要求1-4中任意一項所述的嵌入式雙系統(tǒng)的更新方法,其特征在于,該存儲設備為一 flash設備。
6.一種嵌入式雙系統(tǒng)的更新系統(tǒng),其特征在于,該嵌入式雙系統(tǒng)包括一存儲設備,該存儲設備用于存儲鏡像文件,該鏡像文件包括啟動信息、bootloader鏡像文件、第一系統(tǒng)的內(nèi)核及根文件和第二系統(tǒng)的內(nèi)核及根文件,該啟動信息中還包括存儲設備配置信息,該存儲設備配置信息包括存儲設備分區(qū)信息,該嵌入式雙系統(tǒng)的更新系統(tǒng)還包括:一輸入裝置,用于在bootloader模式下接收并解析更新指令以獲得更新模式以及更新的鏡像文件; 一控制裝置,用于判斷該更新模式是否為鏡像文件整體更新模式,若是,則啟用一分區(qū)裝置;若否,啟用一更新裝置; 該分區(qū)裝置用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū); 該更新裝置用于將該更新的鏡像文件中與該更新模式一一對應的部分寫入該存儲設備中與該更新模式一一對應的分區(qū)中。
7.如權利要求6所述的嵌入式雙系統(tǒng)的更新系統(tǒng),其特征在于,該存儲設備分區(qū)包括:啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū)。
8.如權利要求6所述的嵌入式雙系統(tǒng)的更新系統(tǒng),其特征在于, 當該更新模式為該鏡像文件整體更新模式時, 該分區(qū)裝置用于讀取該更新的鏡像文件中的存儲設備分區(qū)信息并將該存儲設備重新分區(qū)為啟動信息分區(qū)、bootloader分區(qū)、第一系統(tǒng)鏡像分區(qū)和第二系統(tǒng)鏡像分區(qū); 該更新裝置用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)、將bootloader鏡像文件寫入該bootloader分區(qū)、將第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中,或者, 當該更新模式為啟動信息更新模式時, 該更新裝置用于將該更新的鏡像文件中的存儲設備配置信息寫入該啟動信息分區(qū)中,或者, 當該更新模式為bootloader鏡像更新模式時, 該更新裝置用于將該更新的鏡像文件中的bootloader鏡像文件寫入該bootloader分區(qū)中,或者, 當該更新模式為內(nèi)核及根文件更新模式時, 該更新裝置用于將該更新的鏡像文件中的第一系統(tǒng)的內(nèi)核及根文件寫入該第一系統(tǒng)鏡像分區(qū)以及將第二系統(tǒng)的內(nèi)核及根文件寫入該第二系統(tǒng)鏡像分區(qū)中。
9.如權利要求6所述的嵌入式雙系統(tǒng)的更新系統(tǒng),其特征在于,該啟動信息中還包括該bootloader鏡像文件的起始地址及占用的地址空間大小、該第一系統(tǒng)的內(nèi)核及根文件的啟動地址、該第一系統(tǒng)的內(nèi)核及根文件的校驗值、該第一系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小、該第二系統(tǒng)的內(nèi)核及根文件的啟動地址、該第二系統(tǒng)的內(nèi)核及根文件的校驗值、該第二系統(tǒng)的內(nèi)核及根文件的占用的地址空間大小。
10.如權利要求6-9中任意一項所述的嵌入式雙系統(tǒng)的更新系統(tǒng),其特征在于,該存儲設備為一 flash設備。
【文檔編號】G06F9/445GK103577201SQ201210254285
【公開日】2014年2月12日 申請日期:2012年7月20日 優(yōu)先權日:2012年7月20日
【發(fā)明者】郭行飛, 李明, 田臻 申請人:上海斐訊數(shù)據(jù)通信技術有限公司