嵌入式系統(tǒng)升級(jí)的方法、裝置及設(shè)備的制作方法
【專利摘要】本公開是關(guān)于一種嵌入式系統(tǒng)升級(jí)的方法、裝置及設(shè)備,屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】。方法包括:在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng);在第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)第二嵌入式系統(tǒng)的升級(jí)。本發(fā)明在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng)后,將在第一嵌入式系統(tǒng)下獲取的系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)第二嵌入式系統(tǒng)的升級(jí),擴(kuò)展了嵌入式系統(tǒng)升級(jí)的方式。
【專利說明】嵌入式系統(tǒng)升級(jí)的方法、裝置及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本公開是關(guān)于計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其是一種嵌入式系統(tǒng)升級(jí)的方法、裝置及設(shè)備。【背景技術(shù)】
[0002]隨著社會(huì)的不斷進(jìn)步,植入嵌入式系統(tǒng)的嵌入式設(shè)備憑借其具有的高可靠性及高壽命期限等特點(diǎn),已廣泛應(yīng)用于交通、水利等領(lǐng)域。在計(jì)算機(jī)技術(shù)迅猛發(fā)展的當(dāng)下,各領(lǐng)域?qū)η度胧皆O(shè)備的系統(tǒng)性能要求也在日益提高。因此,如何對(duì)嵌入式設(shè)備的嵌入式系統(tǒng)進(jìn)行升級(jí),以滿足各領(lǐng)域?qū)η度胧皆O(shè)備日益提高的系統(tǒng)性能要求,成為了本領(lǐng)域技術(shù)人員較為關(guān)注的一個(gè)問題。
[0003]相關(guān)技術(shù)在對(duì)嵌入式系統(tǒng)進(jìn)行升級(jí)之前,在嵌入式設(shè)備的存儲(chǔ)媒質(zhì)中植入單個(gè)嵌入式系統(tǒng)。在對(duì)嵌入式系統(tǒng)進(jìn)行升級(jí)時(shí),首先確定嵌入式設(shè)備是否已同遠(yuǎn)端的開發(fā)主機(jī)(host)建立網(wǎng)絡(luò)連接;在確定嵌入式設(shè)備已同遠(yuǎn)端的開發(fā)主機(jī)建立網(wǎng)絡(luò)連接后,通過串口或網(wǎng)口從開發(fā)主機(jī)上獲取嵌入式系統(tǒng)的升級(jí)包;之后,將獲取到的嵌入式系統(tǒng)的升級(jí)包寫入到嵌入式設(shè)備的存儲(chǔ)媒質(zhì)中,并啟動(dòng)升級(jí)后的嵌入式系統(tǒng)。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)相關(guān)技術(shù)至少存在以下問題:
[0005]相關(guān)技術(shù)提供的嵌入式系統(tǒng)升級(jí)方式中僅在嵌入式設(shè)備的存儲(chǔ)媒質(zhì)中植入單個(gè)嵌入式系統(tǒng),因此要求在升級(jí)過程中不能存在異常情況,比如,在升級(jí)過程中嵌入式設(shè)備不能斷電或升級(jí)包本身不能存在異常;若在升級(jí)過程中存在異常情況,則可能導(dǎo)致嵌入式系統(tǒng)升級(jí)失敗,甚至導(dǎo)致整個(gè)嵌入式設(shè)備不可用,所以該種嵌入式系統(tǒng)的升級(jí)方式具有很強(qiáng)的局限性。
【發(fā)明內(nèi)容】
[0006]為克服相關(guān)技術(shù)中存在的問題,本公開提供一種嵌入式系統(tǒng)升級(jí)的方法、裝置及設(shè)備。
[0007]一方面,本公開提供了一種嵌入式系統(tǒng)升級(jí)的方法;所述方法包括:
[0008]在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最聞的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)所述第一嵌入式系統(tǒng);
[0009]在所述第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
[0010]可選地,還包括:
[0011]為不同的嵌入式系統(tǒng)邏輯劃分對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū),并在對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中植入對(duì)應(yīng)的嵌入式系統(tǒng)。
[0012]可選地,所述第一嵌入式系統(tǒng)包括內(nèi)核映像文件及根文件系統(tǒng)映像文件,且所述第一嵌入式系統(tǒng)包括的內(nèi)核映像文件及根文件系統(tǒng)映像文件存儲(chǔ)在所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中;
[0013]所述啟動(dòng)所述第一嵌入式系統(tǒng),包括:[0014]將所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中存儲(chǔ)的所述第一嵌入式系統(tǒng)的內(nèi)核映像文件加載到內(nèi)存中運(yùn)行,并掛載所述第一嵌入式系統(tǒng)的根文件系統(tǒng)映像文件。
[0015]可選地,所述系統(tǒng)升級(jí)包包括升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件;
[0016]所述將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,包括:將所述系統(tǒng)升級(jí)包包括的升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件寫入所述第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0017]可選地,還包括:
[0018]對(duì)所述系統(tǒng)升級(jí)包進(jìn)行校驗(yàn);
[0019]校驗(yàn)成功后,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0020]可選地,所述在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括:
[0021]根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);
[0022]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí),則根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),并將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng);
[0023]其中,所述第一啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);所述第二啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)上一次啟動(dòng)的嵌入式系統(tǒng)。
[0024]可選地,還包括:
[0025]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí),則將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
[0026]可選地,所述在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括:
[0027]如果具有所述已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng),則根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng);
[0028]其中,所述第三啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)當(dāng)前啟動(dòng)的嵌入式系統(tǒng)。
[0029]另一方面,本公開提供了一種嵌入式系統(tǒng)升級(jí)的裝置;所述裝置包括:
[0030]確定I吳塊,用于在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)如具有啟動(dòng)能力的待啟動(dòng)的第一嵌入式系統(tǒng);
[0031]啟動(dòng)模塊,用于啟動(dòng)所述確定模塊確定的第一嵌入式系統(tǒng);
[0032]獲取模塊,用于在所述啟動(dòng)模塊啟動(dòng)的第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包;
[0033]升級(jí)模塊,用于將所述獲取模塊獲取到的系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
[0034]可選地,所述裝置還包括:
[0035]劃分模塊,用于為不同的嵌入式系統(tǒng)邏輯劃分對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū);
[0036]植入模塊,用于在所述劃分模塊劃分的對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中植入對(duì)應(yīng)的嵌入式系統(tǒng)。[0037]可選地,所述第一嵌入式系統(tǒng)包括內(nèi)核映像文件及根文件系統(tǒng)映像文件,且所述第一嵌入式系統(tǒng)包括的內(nèi)核映像文件及根文件系統(tǒng)映像文件存儲(chǔ)在所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中;
[0038]所述啟動(dòng)模塊,包括:
[0039]加載單元,用于將所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中存儲(chǔ)的所述第一嵌入式系統(tǒng)的內(nèi)核映像文件加載到內(nèi)存中運(yùn)行;
[0040]掛載單元,用于掛載所述第一嵌入式系統(tǒng)的根文件系統(tǒng)映像文件。
[0041]可選地,所述系統(tǒng)升級(jí)包包括升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件;
[0042]所述升級(jí)模塊,用于將所述系統(tǒng)升級(jí)包包括的升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件寫入所述第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0043]可選地,所述裝置還包括:
[0044]校驗(yàn)?zāi)K,用于對(duì)所述系統(tǒng)升級(jí)包進(jìn)行校驗(yàn);
[0045]所述升級(jí)模塊,用于當(dāng)所述校驗(yàn)?zāi)K校驗(yàn)成功后,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0046]可選地,所述確定模塊包括:
[0047]第一確定單元,用于根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);
[0048]第二確定單元,用于當(dāng)所述第一確定單元確定在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí)后,根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),并將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng);
[0049]其中,所述第一啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);所述第二啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)上一次啟動(dòng)的嵌入式系統(tǒng)。
[0050]可選地,所述確定模塊還包括:
[0051]第三確定單元,用于當(dāng)所述第一確定單元確定在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí)后,將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
[0052]可選地,所述確定模塊包括:
[0053]第四確定單元,用于當(dāng)具有所述已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng)時(shí),根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng);
[0054]其中,所述第三啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)當(dāng)前啟動(dòng)的嵌入式系統(tǒng)。
[0055]再一方面,本公開提供了一種設(shè)備;所述設(shè)備包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行,所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:
[0056]在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)所述第一嵌入式系統(tǒng);
[0057]在所述第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
[0058]本公開的一些有益效果可以包括:
[0059]在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng)后,在第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,且將系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)中,從而擴(kuò)展了嵌入式系統(tǒng)升級(jí)的方式,達(dá)到了嵌入式系統(tǒng)升級(jí)的目的。
[0060]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。
【專利附圖】
【附圖說明】
[0061]此處所說明的附圖用來提供對(duì)本公開的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本公開的限定。在附圖中:
[0062]圖1是本公開一個(gè)實(shí)施例提供的一種嵌入式系統(tǒng)升級(jí)的方法的示例性流程圖;
[0063]圖2是本公開另一個(gè)實(shí)施例提供的一種嵌入式系統(tǒng)升級(jí)的方法的示例性流程圖;
[0064]圖3是本公開另一個(gè)實(shí)施例提供的第一種嵌入式系統(tǒng)升級(jí)的裝置的示例性結(jié)構(gòu)示意圖;
[0065]圖4是本公開另一個(gè)實(shí)施例提供的第二種嵌入式系統(tǒng)升級(jí)的裝置的示例性結(jié)構(gòu)示意圖;
[0066]圖5是本公開另一個(gè)實(shí)施例提供的一種啟動(dòng)模塊的示例性內(nèi)部結(jié)構(gòu)示意圖;
[0067]圖6是本公開另一個(gè)實(shí)施例提供的第三種嵌入式系統(tǒng)升級(jí)的裝置的示例性結(jié)構(gòu)示意圖;
[0068]圖7是本公開另一個(gè)實(shí)施例提供的第一種確定模塊的示例性內(nèi)部結(jié)構(gòu)示意圖;
[0069]圖8是本公開另一個(gè)實(shí)施例提供的第二種確定模塊的示例性內(nèi)部結(jié)構(gòu)示意圖;
[0070]圖9是本公開另一個(gè)實(shí)施例提供的第三種確定模塊的示例性內(nèi)部結(jié)構(gòu)示意圖;
[0071]圖10是本公開另一個(gè)實(shí)施例提供的一種終端設(shè)備的示例性結(jié)構(gòu)示意圖。
[0072]通過上述附圖,已示出本公開明確的實(shí)施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說明本公開的概念。
【具體實(shí)施方式】
[0073]為使本公開的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本公開做進(jìn)一步詳細(xì)說明。在此,本公開的示意性實(shí)施方式及其說明用于解釋本公開,但并不作為對(duì)本公開的限定。
[0074]本公開實(shí)施例提供一種嵌入式系統(tǒng)升級(jí)的方法,應(yīng)用于植入有嵌入式系統(tǒng)的嵌入式設(shè)備或終端。在嵌入式系統(tǒng)中,包含有BootLoader (系統(tǒng)啟動(dòng)加載器),其位于嵌入式設(shè)備或終端的閃存的起始處,王要用來啟動(dòng)系統(tǒng)。BootLoader在嵌入式系統(tǒng)的內(nèi)核運(yùn)彳丁之ill運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將嵌入式系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用嵌入式系統(tǒng)的內(nèi)核準(zhǔn)備好正確的環(huán)境。以下結(jié)合附圖及上述內(nèi)容對(duì)本公開進(jìn)行詳細(xì)說明。[0075]在一個(gè)實(shí)施例中,如圖1所示,嵌入式系統(tǒng)升級(jí)的方法包括:
[0076]在步驟SlOl中,在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng);
[0077]在另一個(gè)實(shí)施例中,還包括:
[0078]為不同的嵌入式系統(tǒng)邏輯劃分對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū),并在對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中植入對(duì)應(yīng)的嵌入式系統(tǒng)。
[0079]在另一個(gè)實(shí)施例中,在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括但不限于:
[0080]根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);
[0081]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí),則根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),并將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng);
[0082]其中,第一啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);第二啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)上一次啟動(dòng)的嵌入式系統(tǒng)。
[0083]在另一個(gè)實(shí)施例中,還包括:
[0084]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí),則將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
[0085]在另一個(gè)實(shí)施例中,在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括但不限于:
[0086]如果具有已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng),則根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng);
[0087]其中,第三啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)當(dāng)前啟動(dòng)的嵌入式系統(tǒng)。
[0088]在另一個(gè)實(shí)施例中,第一嵌入式系統(tǒng)包括內(nèi)核映像文件及根文件系統(tǒng)映像文件,且第一嵌入式系統(tǒng)包括的內(nèi)核映像文件及根文件系統(tǒng)映像文件存儲(chǔ)在第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中;
[0089]啟動(dòng)第一嵌入式系統(tǒng),包括但不限于:
[0090]將第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中存儲(chǔ)的第一嵌入式系統(tǒng)的內(nèi)核映像文件加載到內(nèi)存中運(yùn)行,并掛載第一嵌入式系統(tǒng)的根文件系統(tǒng)映像文件;
[0091]在步驟S102中,在第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)第二嵌入式系統(tǒng)的升級(jí)。
[0092]在另一個(gè)實(shí)施例中,系統(tǒng)升級(jí)包包括升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件;
[0093]將系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,包括:
[0094]將系統(tǒng)升級(jí)包包括的升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0095]在另一個(gè)實(shí)施例中,還包括:[0096]對(duì)系統(tǒng)升級(jí)包進(jìn)行校驗(yàn);
[0097]校驗(yàn)成功后,將系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
[0098]本實(shí)施例提供的方法,在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng)后,將在第一嵌入式系統(tǒng)下獲取到的系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,從而完成第二嵌入式系統(tǒng)的升級(jí),達(dá)到嵌入式系統(tǒng)升級(jí)的目的。該種方法下,即便在第一嵌入式系統(tǒng)下未獲取到系統(tǒng)升級(jí)包,也可繼續(xù)運(yùn)行第一嵌入式系統(tǒng),所以即使第二嵌入式系統(tǒng)升級(jí)失敗,也不會(huì)導(dǎo)致整個(gè)嵌入式設(shè)備不可用,因此,該種嵌入式系統(tǒng)的升級(jí)方式具有良好的擴(kuò)展性。
[0099]在另一個(gè)實(shí)施例中,以嵌入式設(shè)備中存在兩個(gè)嵌入式系統(tǒng)為例,對(duì)本公開提供的嵌入式系統(tǒng)升級(jí)的方法進(jìn)行詳細(xì)地解釋說明。如圖2所示,嵌入式系統(tǒng)升級(jí)的方法包括:
[0100]在步驟S201中,在已存在的兩個(gè)嵌入式系統(tǒng)中確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)第一嵌入式系統(tǒng);
[0101]針對(duì)該步驟,在執(zhí)行本步驟之前,預(yù)先對(duì)嵌入式設(shè)備的存儲(chǔ)媒質(zhì)進(jìn)行邏輯分區(qū),以得到待植入的兩個(gè)嵌入式系統(tǒng)各自對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū),從而在對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中分別植入對(duì)應(yīng)的嵌入式系統(tǒng)。
[0102]其中,在對(duì)嵌入式設(shè)備的存儲(chǔ)媒質(zhì)進(jìn)行邏輯分區(qū)時(shí),得到的存儲(chǔ)媒質(zhì)分區(qū)的數(shù)量具體可為8個(gè),當(dāng)然,存儲(chǔ)媒質(zhì)的分區(qū)數(shù)量除數(shù)值8外,還可以為其他數(shù)值,例如,16或32等等,本實(shí)施例對(duì)存儲(chǔ)媒質(zhì)分區(qū)的數(shù)量不作具體限定,可視待植入的嵌入式系統(tǒng)的個(gè)數(shù)而定。此外,每個(gè)存儲(chǔ)媒質(zhì)分區(qū)的大小可以相同也可以不同。例如,可劃分存儲(chǔ)空間較小的存儲(chǔ)媒質(zhì)分區(qū),用來存儲(chǔ)一類啟動(dòng)標(biāo)識(shí);還可劃分存儲(chǔ)空間較大的存儲(chǔ)媒質(zhì)分區(qū),用來存儲(chǔ)兩個(gè)嵌入式系統(tǒng)的相關(guān)文件。其中,存儲(chǔ)空間較小的存儲(chǔ)媒質(zhì)分區(qū)的大小可為64千字節(jié);存儲(chǔ)空間較大的存儲(chǔ)媒質(zhì)分區(qū)的大小具體可為4千兆。當(dāng)然,存儲(chǔ)空間小的存儲(chǔ)媒質(zhì)分區(qū)及存儲(chǔ)空間大的存儲(chǔ)媒質(zhì)分區(qū)的大小除上述數(shù)值外,還可以為其他數(shù)值,例如32千字節(jié)或2千兆,本實(shí)施例對(duì)每個(gè)存儲(chǔ)媒質(zhì)分區(qū)的大小同樣不作具體限定。
[0103]在另一個(gè)實(shí)施例中,在嵌入式設(shè)備的不同存儲(chǔ)媒質(zhì)分區(qū)分別植入對(duì)應(yīng)的嵌入式系統(tǒng)的實(shí)現(xiàn)方式,包括但不限于:將兩個(gè)嵌入式系統(tǒng)的內(nèi)核映像文件及根文件系統(tǒng)映像文件分別寫入對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū);并在其他存儲(chǔ)媒質(zhì)分區(qū)中寫入兩個(gè)嵌入式系統(tǒng)的BootLoader0
[0104]其中,嵌入式系統(tǒng)的內(nèi)核在嵌入式設(shè)備中以文件的形式存在(保存成磁盤文件形式),即內(nèi)核映像文件;根文件系統(tǒng)在嵌入式設(shè)備中同樣以文件的形式存在(保存成磁盤文件形式),即根文件系統(tǒng)映像文件。此外,由于每個(gè)嵌入式系統(tǒng)的BootLoader的作用及程序代碼均一致,因此,在寫入兩個(gè)嵌入式系統(tǒng)的內(nèi)核映像文件及根文件系統(tǒng)映像文件時(shí),僅需寫入一個(gè)BootLoader,便可對(duì)寫入的兩個(gè)嵌入式系統(tǒng)的啟動(dòng)進(jìn)行控制,從而達(dá)到節(jié)省存儲(chǔ)空間的目的。
[0105]除上述在嵌入式設(shè)備的不同存儲(chǔ)媒質(zhì)分區(qū)寫入對(duì)應(yīng)的嵌入式系統(tǒng)的方式外,還可以采取其他寫入方式,本實(shí)施例對(duì)此不作具體限定。
[0106]在另Iv實(shí)施例中,為了能夠在已存在的兩個(gè)嵌入式系統(tǒng)中確定當(dāng)如具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),本實(shí)施例提供的方法還包括設(shè)置第一啟動(dòng)標(biāo)識(shí)、第二啟動(dòng)標(biāo)識(shí)及第三啟動(dòng)標(biāo)識(shí),并將第一啟動(dòng)標(biāo)識(shí)、第二啟動(dòng)標(biāo)識(shí)及第三啟動(dòng)標(biāo)識(shí)分別寫入嵌入式設(shè)備的存儲(chǔ)媒質(zhì)分區(qū)中的步驟。
[0107]其中,第一啟動(dòng)標(biāo)識(shí),可以符號(hào)flag_where_reboot進(jìn)行標(biāo)識(shí),針對(duì)當(dāng)前次系統(tǒng)啟動(dòng)來說,用于表示在上一次啟動(dòng)的嵌入式系統(tǒng)中是否進(jìn)行了系統(tǒng)升級(jí);本實(shí)施例以flag_where_reboot=l表示“在上一次啟動(dòng)的嵌入式系統(tǒng)中進(jìn)行了系統(tǒng)升級(jí)” ;flag_where_reboot=0表示“在上一次啟動(dòng)的嵌入式系統(tǒng)中未進(jìn)行系統(tǒng)升級(jí)”。
[0108]第二啟動(dòng)標(biāo)識(shí),可以符號(hào)flag_laSt_SUCCeSS進(jìn)行標(biāo)識(shí),針對(duì)當(dāng)前次系統(tǒng)啟動(dòng)來說,用于標(biāo)識(shí)上一次成功啟動(dòng)的系統(tǒng)是兩個(gè)嵌入式系統(tǒng)中的哪個(gè)系統(tǒng);例如,如果以系統(tǒng)I和系統(tǒng)2分別標(biāo)識(shí)寫入的兩個(gè)嵌入式系統(tǒng),本實(shí)施例中可以flag_last_success=0標(biāo)識(shí)上一次成功啟動(dòng)的系統(tǒng)是系統(tǒng)I ;以flag_last_success=l標(biāo)識(shí)上一次成功啟動(dòng)的系統(tǒng)是系統(tǒng)2。
[0109]第三啟動(dòng)標(biāo)識(shí),可以符號(hào)flag_last_b00t_try進(jìn)行標(biāo)識(shí),針對(duì)嵌入式系統(tǒng)初次啟動(dòng)來說,可以根據(jù)第三啟動(dòng)標(biāo)識(shí)確定嵌入式系統(tǒng)初次啟動(dòng)時(shí)應(yīng)該啟動(dòng)哪一個(gè)嵌入式系統(tǒng)。例如,如果以系統(tǒng)I和系統(tǒng)2分別標(biāo)識(shí)寫入的兩個(gè)嵌入式系統(tǒng),本實(shí)施例中可以flag_last_boot_try=0表示嵌入式系統(tǒng)初次啟動(dòng)時(shí)應(yīng)啟動(dòng)系統(tǒng)I ;以flag_last_boot_try=0表示嵌入式系統(tǒng)初次啟動(dòng)時(shí)應(yīng)啟動(dòng)系統(tǒng)2。
[0110]需要說明的是,上述第三啟動(dòng)標(biāo)識(shí)在嵌入式系統(tǒng)升級(jí)成功或嵌入式系統(tǒng)正常啟動(dòng)時(shí),均不會(huì)起到作用。當(dāng)嵌入式系統(tǒng)初次啟動(dòng)時(shí)或嵌入式系統(tǒng)啟動(dòng)故障時(shí),才會(huì)起到作用。其是為了確定首次啟動(dòng)時(shí)應(yīng)啟動(dòng)哪個(gè)系統(tǒng),以及在確定該系統(tǒng)啟動(dòng)失敗時(shí)來繼續(xù)啟動(dòng)另一個(gè)系統(tǒng),為防止反復(fù)啟動(dòng)故障嵌入式系統(tǒng)而設(shè)置的。其具體作用會(huì)在后續(xù)步驟中結(jié)合程序代碼予以說明。
[0111]在另一個(gè)實(shí)施例中,在設(shè)置好上述三個(gè)啟動(dòng)標(biāo)識(shí)后,分別為三個(gè)啟動(dòng)標(biāo)識(shí)賦初值
O。在向嵌入式設(shè)備的存儲(chǔ)媒質(zhì)分區(qū)寫入上述三個(gè)啟動(dòng)標(biāo)識(shí)時(shí),為了防止在向存儲(chǔ)媒質(zhì)分區(qū)中寫入啟動(dòng)標(biāo)識(shí)過程中發(fā)生故障,從而導(dǎo)致成功寫入的啟動(dòng)標(biāo)識(shí)失效,所以將上述三個(gè)啟動(dòng)標(biāo)識(shí)分別寫在三個(gè)不同于存儲(chǔ)兩個(gè)嵌入式系統(tǒng)的文件的存儲(chǔ)媒質(zhì)分區(qū)中。
[0112]基于上述設(shè)置的三個(gè)啟動(dòng)標(biāo)識(shí),在已存在的兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)的實(shí)現(xiàn)方式,包括但不限于:
[0113]根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);
[0114]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí),則根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),并將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
[0115]如果在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí),則將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
[0116]在另一實(shí)施例中,在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括但不限于:[0117]如果具有已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng),則根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng)。
[0118]現(xiàn)以系統(tǒng)I和系統(tǒng)2分別標(biāo)識(shí)兩個(gè)嵌入式系統(tǒng),第一啟動(dòng)標(biāo)識(shí)為flag_where_reboot,且 flag_where_reboot 白勺值為 O 或 I,第二啟動(dòng)標(biāo)識(shí)為 flag_last_ success,且flag_last_success 的值為 O 或 I,第三啟動(dòng)標(biāo)識(shí) flag_last_boot_try,且 flag_last_boot_try的值為O或I為例,對(duì)上述在已存在的兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)進(jìn)行形象地解釋說明。其中,各個(gè)啟動(dòng)標(biāo)識(shí)的數(shù)值表示的具體含義已在本步驟的前面部分予以介紹,此處不再贅述。具體步驟如下:
[0119]第一步:確定第一啟動(dòng)標(biāo)識(shí)flag_where_reboot的當(dāng)前值;
[0120]第二步:如果f lag_where_reboot 的當(dāng)前值為 1,則將 f lag_where_reboot 的當(dāng)前值賦O,并繼續(xù)確定第二啟動(dòng)標(biāo)識(shí)flag_last_success的當(dāng)前值;
[0121]第三步:在第二步中,如果flag_last_success的當(dāng)前值為1,則確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng)為系統(tǒng)I ;如果flag_last_success的當(dāng)前值為O,則確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng)為系統(tǒng)2 ;
[0122]第四步:在第一步中,如果flag_where_reboot的當(dāng)前值為O,則繼續(xù)確定第二啟動(dòng)標(biāo)識(shí)flag_last_success的當(dāng)前值;
[0123]第五步:在第四步中,如果第二啟動(dòng)標(biāo)識(shí)flag_last_success的當(dāng)前值為1,則啟動(dòng)系統(tǒng)2 ;如果第二啟動(dòng)標(biāo)識(shí)flag_last_success的當(dāng)前值為O,則繼續(xù)確定第三啟動(dòng)標(biāo)識(shí)flag_last_boot_try 的當(dāng)前值;
[0124]第六步:在第五步中,如果第三啟動(dòng)標(biāo)識(shí)flag_last_boot_try的當(dāng)前值為O,則啟動(dòng)系統(tǒng)I,并將flag_last_boot_try賦I ;如果第三啟動(dòng)標(biāo)識(shí)flag_last_boot_try的當(dāng)前值為I,則啟動(dòng)系統(tǒng)2。
[0125]上述第一步至第六步的實(shí)現(xiàn)方式,還可通過程序代碼加以實(shí)現(xiàn),程序代碼具體如下:
[0126]
【權(quán)利要求】
1.一種嵌入式系統(tǒng)升級(jí)的方法,其特征在于,所述方法包括: 在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)所述第一嵌入式系統(tǒng); 在所述第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 為不同的嵌入式系統(tǒng)邏輯劃分對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū),并在對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中植入對(duì)應(yīng)的嵌入式系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一嵌入式系統(tǒng)包括內(nèi)核映像文件及根文件系統(tǒng)映像文件,且所述第一嵌入式系統(tǒng)包括的內(nèi)核映像文件及根文件系統(tǒng)映像文件存儲(chǔ)在所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中; 所述啟動(dòng)所述第一嵌入式系統(tǒng),包括: 將所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中存儲(chǔ)的所述第一嵌入式系統(tǒng)的內(nèi)核映像文件加載到內(nèi)存中運(yùn)行,并掛載所述第一嵌入式系統(tǒng)的根文件系統(tǒng)映像文件。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述系統(tǒng)升級(jí)包包括升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文 件; 所述將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,包括: 將所述系統(tǒng)升級(jí)包包括的升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件寫入所述第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 對(duì)所述系統(tǒng)升級(jí)包進(jìn)行校驗(yàn); 校驗(yàn)成功后,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括: 根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí); 如果在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí),則根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng); 其中,所述第一啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);所述第二啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)上一次啟動(dòng)的嵌入式系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括: 如果在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí),則將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),包括: 如果具有所述已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng),則根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng); 其中,所述第三啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)當(dāng)前啟動(dòng)的嵌入式系統(tǒng)。
9.一種嵌入式系統(tǒng)升級(jí)的裝置,其特征在于,所述裝置包括: 確定模塊,用于在已存在的至少兩個(gè)嵌入式系統(tǒng)中確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng); 啟動(dòng)模塊,用于啟動(dòng)所述確定模塊確定的第一嵌入式系統(tǒng); 獲取模塊,用于在所述啟動(dòng)模塊啟動(dòng)的第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包; 升級(jí)模塊,用于將所述獲取模塊獲取到的系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中,完成對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 劃分模塊,用于為不同的嵌入式系統(tǒng)邏輯劃分對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū); 植入模塊,用于在所述劃分模塊劃分的對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中植入對(duì)應(yīng)的嵌入式系統(tǒng)。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第一嵌入式系統(tǒng)包括內(nèi)核映像文件及根文件系統(tǒng)映像文件,且所述第一嵌入式系統(tǒng)包括的內(nèi)核映像文件及根文件系統(tǒng)映像文件存儲(chǔ)在所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中; 所述啟動(dòng)模塊,包括: 加載單元,用于將所述第一嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中存儲(chǔ)的所述第一嵌入式系統(tǒng)的內(nèi)核映像文件加載到內(nèi)存中運(yùn)行; 掛載單元,用于掛 載所述第一嵌入式系統(tǒng)的根文件系統(tǒng)映像文件。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述系統(tǒng)升級(jí)包包括升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件; 所述升級(jí)模塊,用于將所述系統(tǒng)升級(jí)包包括的升級(jí)后的內(nèi)核映像文件及根文件系統(tǒng)映像文件寫入所述第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 校驗(yàn)?zāi)K,用于對(duì)所述系統(tǒng)升級(jí)包進(jìn)行校驗(yàn); 所述升級(jí)模塊,用于當(dāng)所述校驗(yàn)?zāi)K校驗(yàn)成功后,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)分區(qū)中。
14.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定模塊包括: 第一確定單元,用于根據(jù)第一啟動(dòng)標(biāo)識(shí)確定在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí); 第二確定單元,用于當(dāng)所述第一確定單元確定在上一次啟動(dòng)的嵌入式系統(tǒng)下對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí)后,根據(jù)第二啟動(dòng)標(biāo)識(shí)確定上一次升級(jí)的嵌入式系統(tǒng),并將上一次升級(jí)后的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng); 其中,所述第一啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)在上一次啟動(dòng)的嵌入式系統(tǒng)下是否對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行了升級(jí);所述第二啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)上一次啟動(dòng)的嵌入式系統(tǒng)。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述確定模塊還包括: 第三確定單元,用于當(dāng)所述第一確定單元確定在上一次啟動(dòng)的嵌入式系統(tǒng)下未對(duì)其他未啟動(dòng)的嵌入式系統(tǒng)進(jìn)行升級(jí)后,將上一次啟動(dòng)的嵌入式系統(tǒng)確定為當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng),并將當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng)。
16.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定模塊包括: 第四確定單元,用于當(dāng)具有所述已存在的至少兩個(gè)嵌入式系統(tǒng)的嵌入式設(shè)備為初次啟動(dòng)時(shí),根據(jù)第三啟動(dòng)標(biāo)識(shí)的當(dāng)前值確定當(dāng)前待啟動(dòng)的第一嵌入式系統(tǒng); 其中,所述第三啟動(dòng)標(biāo)識(shí)用于標(biāo)識(shí)當(dāng)前啟動(dòng)的嵌入式系統(tǒng)。
17.一種設(shè)備,其特征在于,所述設(shè)備包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行,所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令: 在已存在的至少兩個(gè)嵌入式系統(tǒng)中,確定當(dāng)前具有啟動(dòng)能力的系統(tǒng)版本號(hào)最高的嵌入式系統(tǒng)作為待啟動(dòng)的第一嵌入式系統(tǒng),并啟動(dòng)所述第一嵌入式系統(tǒng); 在所述第一嵌入式系統(tǒng)下獲取系統(tǒng)升級(jí)包,將所述系統(tǒng)升級(jí)包寫入第二嵌入式系統(tǒng)對(duì)應(yīng)的存儲(chǔ)媒質(zhì)中,完成 對(duì)所述第二嵌入式系統(tǒng)的升級(jí)。
【文檔編號(hào)】G06F9/445GK103810004SQ201310598439
【公開日】2014年5月21日 申請(qǐng)日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】樊家麟, 屈恒, 楊桂楨, 張鵬飛 申請(qǐng)人:小米科技有限責(zé)任公司