嵌入式產(chǎn)品系統(tǒng)軟件升級方法
【專利摘要】本發(fā)明公開了一種嵌入式產(chǎn)品系統(tǒng)軟件升級方法,包括:在系統(tǒng)中設(shè)置雙面鏡像標(biāo)記,標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件和升級鏡像位置;讀取ROM中存儲的正在運(yùn)行鏡像文件標(biāo)記;讀取升級鏡像文件,燒寫到升級鏡像位置;檢查燒寫到升級鏡像位置的升級鏡像文件合法有效性,如果合法有效那么將鏡像標(biāo)記互換,將更新后的正在運(yùn)行鏡像文件標(biāo)記存儲在ROM中;如果檢查結(jié)果是鏡像文件不是合法有效的那么保持鏡像標(biāo)記不變;重新啟動系統(tǒng),讀取存儲在ROM中的鏡像標(biāo)記,將ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件復(fù)制到RAM中;執(zhí)行RAM中復(fù)制好的鏡像文件。本發(fā)明能避免在嵌入式產(chǎn)品系統(tǒng)軟件升級過程中出現(xiàn)系統(tǒng)崩潰,嵌入式產(chǎn)品無法正常使用的情況。
【專利說明】嵌入式產(chǎn)品系統(tǒng)軟件升級方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別是涉及一種嵌入式產(chǎn)品系統(tǒng)軟件升級方法。
【背景技術(shù)】
[0002]目前,常見的嵌入式產(chǎn)品的系統(tǒng)軟件升級(比如手機(jī)操作系統(tǒng)升級)升級過程有嚴(yán)格的要求,比如“升級過程不能斷電”,“升級鏡像文件必須是合法有效的文件”,等等。如果在系統(tǒng)軟件升級過程中發(fā)生其中意外情況,往往會導(dǎo)致產(chǎn)品系統(tǒng)軟件升級失敗,甚至出現(xiàn)產(chǎn)品徹底無法使用的極端情況,在現(xiàn)有智能手機(jī)操作系統(tǒng)的升級過程中常常因系統(tǒng)升級失敗出現(xiàn)”手機(jī)變磚頭”的嚴(yán)重后果,導(dǎo)致系統(tǒng)損毀,手機(jī)無法使用。
[0003]現(xiàn)有的嵌入式產(chǎn)品一般是RAM (Random Access Memory) +ROM (Read-Only Memory)的結(jié)構(gòu),系統(tǒng)軟件被固化在ROM中,產(chǎn)品開機(jī)啟動后,有的產(chǎn)品將系統(tǒng)軟件從ROM中復(fù)制到RAM中,再在運(yùn)行RAM中的系統(tǒng)軟件;有的產(chǎn)品不需要將系統(tǒng)軟件從ROM復(fù)制到RAM中,而是直接在ROM中運(yùn)行系統(tǒng)軟件。系統(tǒng)軟件升級的方案的過程,讀取新的升級鏡像文件,更新到ROM中去,重新上電啟動,系統(tǒng)就運(yùn)行了新的系統(tǒng)軟件。在現(xiàn)有的軟件升級的方案中,有一個(gè)致命的缺點(diǎn):只要導(dǎo)致ROM上的系統(tǒng)軟件被破壞,導(dǎo)致“ROM上的系統(tǒng)軟件被破壞”產(chǎn)品就不能夠繼續(xù)使用,產(chǎn)生這一后果的因素有很多,常見的有如下幾種:
[0004]I)升級過程中途取消升級;
[0005]2)升級過程斷電;
[0006]3)升級鏡像文件不是合法有效的文件;
[0007]4)由于燒寫ROM出現(xiàn)意外,產(chǎn)品死機(jī);
[0008]現(xiàn)有嵌入式產(chǎn)品軟件升級的方案,升級過程很可能出現(xiàn)上述情況后ROM上的系統(tǒng)軟件被破壞,造成系統(tǒng)軟件無法正常運(yùn)行?,F(xiàn)有嵌入式產(chǎn)品軟件升級的方案有很大的局限性,不能適應(yīng)越來越發(fā)達(dá)的嵌入式產(chǎn)品的消費(fèi)市場。
【發(fā)明內(nèi)容】
[0009]本發(fā)明要解決的技術(shù)問題是提供一種安全、有效的嵌入式產(chǎn)品系統(tǒng)軟件升級方法,能避免在嵌入式產(chǎn)品系統(tǒng)軟件升級過程中出現(xiàn)ROM上的系統(tǒng)軟件被破壞造成的系統(tǒng)崩潰,嵌入式產(chǎn)品無法正常使用的情況。
[0010]為解決上述技術(shù)問題,本發(fā)明的嵌入式產(chǎn)品系統(tǒng)軟件升級方法,包括:
[0011]一、在系統(tǒng)初始導(dǎo)入、尚未進(jìn)行任何升級操作時(shí),在系統(tǒng)中設(shè)置雙面鏡像標(biāo)記,標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件和升級鏡像位置;
[0012]二、升級操作,讀取ROM中存儲的正在運(yùn)行鏡像文件標(biāo)記;
[0013]三、讀取升級鏡像文件,燒寫到升級鏡像位置;
[0014]四、檢查燒寫到升級鏡像位置的升級鏡像文件合法有效性,如果合法有效,那么將所述鏡像標(biāo)記互換,將更新后的正在運(yùn)行鏡像文件標(biāo)記存儲在ROM中;
[0015]如果檢查結(jié)果是鏡像文件不是合法有效的,那么保持鏡像標(biāo)記不變;
[0016]后續(xù)步驟:
[0017]對于需要將系統(tǒng)軟件從ROM中復(fù)制到RAM中運(yùn)行的產(chǎn)品,采用:重新啟動系統(tǒng),讀取存儲在ROM中的鏡像標(biāo)記,將ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件復(fù)制到RAM中;
[0018]執(zhí)行RAM中復(fù)制好的鏡像文件,完成升級。
[0019]對于可以直接在ROM中運(yùn)彳丁系統(tǒng)軟件的廣品,米用:重新啟動系統(tǒng),讀取存儲在ROM中的A/B面鏡像標(biāo)記,跳轉(zhuǎn)到ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件開始執(zhí)行,完成升級;
[0020]本發(fā)明的方法在系統(tǒng)升級的過程解決了以下問題:
[0021](I)升級過程不能中途取消,本發(fā)明方案能支持中途取消的操作,重新啟動產(chǎn)品,繼續(xù)執(zhí)行原有的系統(tǒng)軟件。
[0022](2)升級過程不能斷電,本發(fā)明能夠處理中途斷電的異常,重新啟動產(chǎn)品,繼續(xù)執(zhí)行原有的系統(tǒng)軟件。
[0023](3)升級鏡像文件不是合法有效的文件,本發(fā)明能夠通過檢查已經(jīng)更新的ROM中的系統(tǒng)軟件的合法有效性,如果不是合法有效的,能夠忽略本次升級,重新啟動產(chǎn)品,繼續(xù)執(zhí)行原有的系統(tǒng)軟件。
[0024](4)由于燒寫ROM出現(xiàn)意外,產(chǎn)品死機(jī),本發(fā)明能夠通過檢查已經(jīng)更新的ROM中的系統(tǒng)軟件的合法有效性,如果不是合法有效的,能夠忽略本次升級,重新啟動產(chǎn)品,繼續(xù)執(zhí)行原有的系統(tǒng)軟件。
[0025]本發(fā)明采用雙面鏡像和雙面鏡像標(biāo)識的技術(shù)手段,將系統(tǒng)劃分為正在運(yùn)行的鏡像和將要燒寫的鏡像,不再使用ROM中同一個(gè)鏡像,而是單獨(dú)使用,能避免在系統(tǒng)軟件升級過程中ROM上的系統(tǒng)軟件被破壞造成的嵌入式產(chǎn)品無法正常使用的情況。使用本技術(shù)方案的嵌入式產(chǎn)品,系統(tǒng)軟件升級不再受外部因素干擾,能夠可靠的,安全的,升級嵌入式產(chǎn)品系統(tǒng)軟件,不會因?yàn)樵谏夁^程中遇到的意外導(dǎo)致升級失敗造成嵌入式產(chǎn)品無法使用。
【專利附圖】
【附圖說明】
[0026]下面結(jié)合附圖與【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明:
[0027]圖1是本發(fā)明系統(tǒng)軟件升級的流程示意圖。
【具體實(shí)施方式】
[0028]如圖1所示,本發(fā)明的嵌入式產(chǎn)品系統(tǒng)軟件升級方法,包括:
[0029]一、在系統(tǒng)初始導(dǎo)入、尚未進(jìn)行任何升級操作時(shí),在系統(tǒng)中設(shè)置A/B面雙鏡像標(biāo)記,標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件是A面鏡像標(biāo)記,標(biāo)記升級鏡像位置是B面鏡像標(biāo)記,將正在運(yùn)行鏡像文件的A面鏡像標(biāo)記存儲在ROM中;
[0030]二、在升級操作時(shí),讀取ROM中存儲的正在運(yùn)行鏡像文件標(biāo)記,如果是A面,那么標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件是A面鏡像標(biāo)記,標(biāo)記升級鏡像位置是B面鏡像標(biāo)記;如果是B面,那么標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件是B面鏡像標(biāo)記,標(biāo)記升級鏡像位置是A面鏡像標(biāo)記;
[0031]三、讀取升級鏡像文件,燒寫到升級鏡像位置;
[0032]四、檢查燒寫到升級鏡像位置的升級鏡像文件合法有效性,如果合法有效,那么修改A/B面鏡像標(biāo)記,將鏡像標(biāo)記互換,將更新后的正在運(yùn)行鏡像文件標(biāo)記存儲在ROM中;
[0033]如果檢查結(jié)果是鏡像文件不是合法有效的,那么保持A/B面鏡像標(biāo)記不變;
[0034]所述的“將鏡像標(biāo)記互換”指的是,如果當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件標(biāo)記是A面鏡像標(biāo)記,那么標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件是B面鏡像標(biāo)記,標(biāo)記升級鏡像位置是A面鏡像標(biāo)記;如果當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件標(biāo)記是B面鏡像,那么標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件是A面鏡像標(biāo)記,標(biāo)記升級鏡像位置是B面鏡像標(biāo)記;
[0035]后續(xù)步驟:
[0036]對于需要將系統(tǒng)軟件從ROM中復(fù)制到RAM中運(yùn)行的產(chǎn)品,采用:重新啟動系統(tǒng),讀取存儲在ROM中的鏡像標(biāo)記,將ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件復(fù)制到RAM中;SP,如果是A面,那么把ROM中A面鏡像標(biāo)記位置的鏡像文件復(fù)制到RAM中,如果是B面鏡像標(biāo)記,那么把ROM中B面鏡像標(biāo)記位置的鏡像文件復(fù)制到RAM中;
[0037]執(zhí)行RAM中復(fù)制好的鏡像文件,完成升級。
[0038]對于可以直接在ROM中運(yùn)彳丁系統(tǒng)軟件的廣品,米用:重新啟動系統(tǒng),讀取存儲在ROM中的A/B面鏡像標(biāo)記,跳轉(zhuǎn)到ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件開始執(zhí)行,完成升級;
[0039]以上通過【具體實(shí)施方式】和實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種嵌入式產(chǎn)品系統(tǒng)軟件升級方法,其特征是,包括: 一、在系統(tǒng)初始導(dǎo)入、尚未進(jìn)行任何升級操作時(shí),在系統(tǒng)中設(shè)置雙面鏡像標(biāo)記,標(biāo)記當(dāng)前系統(tǒng)正在運(yùn)行的鏡像文件和升級鏡像位置; 二、升級操作,讀取ROM中存儲的正在運(yùn)行鏡像文件標(biāo)記; 三、讀取升級鏡像文件,燒寫到升級鏡像位置; 四、檢查燒寫到升級鏡像位置的升級鏡像文件合法有效性,如果合法有效,那么將所述鏡像標(biāo)記互換,將更新后的正在運(yùn)行鏡像文件標(biāo)記存儲在ROM中; 如果檢查結(jié)果是鏡像文件不是合法有效的,那么保持鏡像標(biāo)記不變; 五、重新啟動系統(tǒng),讀取存儲在ROM中的鏡像標(biāo)記,將ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件復(fù)制到RAM中; 執(zhí)行RAM中復(fù)制好的鏡像文件,完成升級。
2.如權(quán)利要求1所述的嵌入式產(chǎn)品系統(tǒng)軟件升級方法,其特征是: 五、重新啟動系統(tǒng),讀取存儲在ROM中的鏡像標(biāo)記,直接執(zhí)行ROM中鏡像標(biāo)記對應(yīng)鏡像位置的鏡像文件,完成升級。
【文檔編號】G06F9/445GK104281464SQ201310292348
【公開日】2015年1月14日 申請日期:2013年7月12日 優(yōu)先權(quán)日:2013年7月12日
【發(fā)明者】趙滿宏, 劉鐵 申請人:上海明波通信技術(shù)股份有限公司