專利名稱:機(jī)頂盒的雙Loader升級(jí)方法
才幾頂盒的雙Loader升級(jí)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種機(jī)頂盒的升級(jí)方法,尤其涉及一種機(jī)頂盒的具有雙保險(xiǎn) 的雙Loader升級(jí)方法。
背景技術(shù):
近年來(lái),隨著有線數(shù)字電視的推廣,有線數(shù)字電視機(jī)頂盒逐漸走進(jìn)千家 萬(wàn)戶。在機(jī)頂盒的使用過(guò)程中,隨著有線數(shù)字電視增值業(yè)務(wù)的不斷推出,廣 電運(yùn)營(yíng)商有升級(jí)的要求;同時(shí)機(jī)頂盒供應(yīng)商也有可能提出軟件升級(jí)的要求用 以解決已發(fā)現(xiàn)的軟件缺陷。因此,機(jī)頂盒軟件升級(jí)需求不斷攀升。
如圖l所示,普通的機(jī)頂盒升級(jí)軟件(Loader)是一段式單Loader的 結(jié)構(gòu),其升級(jí)方法通常如圖2所示,步驟10:通電開(kāi)機(jī)時(shí),CPU首先運(yùn)行 Loader程序,如果Loader被破壞,系統(tǒng)將無(wú)法啟動(dòng);如果Loader沒(méi)有被破 壞,則在Loader中檢測(cè)是否有升級(jí)要求;步驟20:如果有升級(jí)要求,啟動(dòng) 升級(jí)功能,否則跳轉(zhuǎn)到應(yīng)用程序(APP即Application)的運(yùn)行;步驟30: 在運(yùn)行應(yīng)用程序的過(guò)程中,也有可能接收到前端升級(jí)的命令,此時(shí)應(yīng)用程序 將跳轉(zhuǎn)到Loader, #1行下載升級(jí)過(guò)程。
Loader是運(yùn)行在應(yīng)用程序之前的一小段程序,它的主要作用是實(shí)現(xiàn) Loader以外的程序或數(shù)據(jù)的升級(jí),如升級(jí)應(yīng)用程序、字庫(kù)、數(shù)據(jù)等。Loader 對(duì)于機(jī)頂盒的正常工作和后續(xù)軟件升級(jí)起著至關(guān)重要的作用, 一旦這段程序 出現(xiàn)問(wèn)題,將直接影響用戶的使用。普通的一段式單Loader軟件一般只用 于升級(jí)Loader以外的數(shù)據(jù),不輕易對(duì)自身進(jìn)行升級(jí), 一旦升級(jí)Loader自身 失敗的話,Loader程序?qū)⒈黄茐?,機(jī)頂盒將無(wú)法正常工作,此時(shí)需要技術(shù) 人員上門維修才可恢復(fù)。
對(duì)于上述這種Loader來(lái)說(shuō),升級(jí)自身是危險(xiǎn)的,在軟件升級(jí)過(guò)程中如 果遇到意外導(dǎo)致升級(jí)失敗的話,機(jī)頂盒就有可能無(wú)法正常工作。因此,如何保證升級(jí)過(guò)程的順利進(jìn)^f亍,在升級(jí)過(guò)程中遇到意外使得軟件遭到破壞的時(shí) 候,如何修復(fù)軟件使得機(jī)頂盒能正常工作,這些成為機(jī)頂盒軟件升級(jí)過(guò)程中 越來(lái)越受關(guān)注的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題,在于提供一種機(jī)頂盒的雙Loader升級(jí)方法, 其具有雙保險(xiǎn)的升級(jí)的功能,既可實(shí)現(xiàn)Loader以外的程序或數(shù)據(jù)的升級(jí), 又可實(shí)現(xiàn)Loader自身的升級(jí),而且還可極大地降低機(jī)頂盒的故障率。
本發(fā)明是這樣實(shí)現(xiàn)的 一種機(jī)頂盒的雙Loader升級(jí)方法,包括如下步
驟
步驟100:通電開(kāi)機(jī)后,CPU首先運(yùn)行Starter程序,在Starter中檢測(cè) 是否有升級(jí)要求;
步驟200:如果Starter ;險(xiǎn)測(cè)到有升級(jí)要求,先判斷主Loader是否被破 壞,如果主Loader沒(méi)有被破壞,便跳轉(zhuǎn)到主Loader,進(jìn)行主Loader的升級(jí); 如果主Loader被破壞,再判斷備份Loader是否被破壞,如果備份Loader 沒(méi)有被破壞,則跳到備份Loader,進(jìn)行備份Loader升級(jí);如果Starter檢測(cè) 到?jīng)]有升級(jí)要求或者兩個(gè)Loader都被破壞,則跳轉(zhuǎn)到應(yīng)用程序;
步驟300:在Loader程序升級(jí)順利結(jié)束并重新啟動(dòng)后,由Starter程序 負(fù)責(zé)對(duì)兩Loader進(jìn)行比對(duì),用升級(jí)后的新的Loader替換掉原來(lái)的未升級(jí)的 Loader,再跳轉(zhuǎn)到應(yīng)用程序。
如上所述的升級(jí)方法,其在步驟300之后還進(jìn)一步包括步驟400:在運(yùn)行 應(yīng)用程序的過(guò)程中,接收到前端升級(jí)的命令時(shí),執(zhí)行步驟200。
本發(fā)明具有如下優(yōu)點(diǎn)既可實(shí)現(xiàn)Loader以外的程序或lt據(jù)的升級(jí),又可 實(shí)現(xiàn)Loader自身的升級(jí),并且可以最大程度保證Loader不被破壞,最大限度 保證機(jī)頂盒不會(huì)喪失在線升級(jí)的功能,確保機(jī)頂盒始終能正常工作,因此是 一種具有雙保險(xiǎn)的升級(jí)方法。
下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。圖1為現(xiàn)有機(jī)頂盒升級(jí)軟件單Loader的結(jié)構(gòu)框圖。 圖2為現(xiàn)有機(jī)頂盒升級(jí)方法的流程框圖。 圖3為本發(fā)明機(jī)頂盒升級(jí)軟件雙Loader的結(jié)構(gòu)框圖。 圖4為本發(fā)明機(jī)頂盒升級(jí)方法的流程框圖。
具體實(shí)施方式
請(qǐng)參閱圖3所示,本發(fā)明機(jī)頂盒升級(jí)軟件是一個(gè)兩段式雙Loader的軟 件結(jié)構(gòu),兩段式是指Starter模塊和Loader模塊,這兩個(gè)模塊各自獨(dú)立、分 別存儲(chǔ);雙Loader是指主Loader和備份Loader。 Starter部分包含對(duì)系統(tǒng)的 初始化、雙Loader的校-瞼、主程檢-險(xiǎn)、4全測(cè)升級(jí)需求;Loader部分主要是 引導(dǎo)升級(jí)的過(guò)程。Starter部分和Loader部分在Flash中分區(qū)存儲(chǔ)。
如圖4所示,基于上述的軟件基礎(chǔ),本發(fā)明機(jī)頂盒的雙Loader升級(jí)方 法,包括如下步驟
步驟100:通電開(kāi)機(jī)后,CPU首先運(yùn)行Starter程序,在Starter中檢測(cè) 是否有升級(jí)要求;
步驟200:如果Starter檢測(cè)到有升級(jí)要求,先判斷主Loader是否被破 壞,如果主Loader沒(méi)有被破壞,便跳轉(zhuǎn)到主Loader,進(jìn)行主Loader的升級(jí); 如果主Loader被破壞,此處的主Loader破壞通常是指升級(jí)過(guò)程中突然斷電 的破壞,Starter程序檢測(cè)到主Loader已經(jīng)不能正常運(yùn)行,再判斷備份Loader 是否被破壞,如果備份Loader沒(méi)有被破壞,則跳到備份Loader,進(jìn)行備份 Loader升級(jí),如果Starter檢測(cè)到?jīng)]有升級(jí)要求或者兩個(gè)Loader都被破壞, 則跳轉(zhuǎn)到應(yīng)用程序(APP);
步驟300:在Loader程序升級(jí)順利結(jié)束并重新啟動(dòng)后,由Starter程序 負(fù)責(zé)對(duì)兩Loader進(jìn)行比對(duì),用升級(jí)后的新的Loader替換掉原來(lái)的未升級(jí)的 Loader,再跳轉(zhuǎn)到應(yīng)用程序(APP)。
步驟400:在運(yùn)行應(yīng)用程序的過(guò)程中,接收到前端升級(jí)的命令時(shí),執(zhí)行 步驟200。
本發(fā)明機(jī)頂盒的雙Loader升級(jí)方法,在FLASH的不同存儲(chǔ)空間,存放兩片相同的Loader程序(主Loader和備份Loader) , Loader采用"兩段式" 的存儲(chǔ)方式,使得在升級(jí)Loader程序自身失敗,Loader不能正常運(yùn)行的情 況下,Starter程序還能夠引導(dǎo)機(jī)頂盒啟動(dòng)并加載其他應(yīng)用程序,繼續(xù)正常工 作。而且Starter程序是受保護(hù)的,它在升級(jí)過(guò)程中是不會(huì)被破壞的,這也 是機(jī)頂盒始終能正常工作的一個(gè)關(guān)鍵。在Loader程序升級(jí)順利結(jié)束并重新 啟動(dòng)后,由Starter程序負(fù)責(zé)對(duì)兩片Loader進(jìn)行比對(duì),用新升級(jí)的Loader替 換掉原來(lái)的Loader。若在Loader程序升級(jí)時(shí),因意外情況的發(fā)生,導(dǎo)致升 級(jí)失敗造成主Loader損壞,在機(jī)頂盒再次上電啟動(dòng)后,Starter程序檢測(cè)到 主Loader已經(jīng)不能正常運(yùn)行,便跳轉(zhuǎn)到備份Loader繼續(xù)運(yùn)行,重新開(kāi)始升 級(jí)工作。這樣一來(lái),即便Loader程序升級(jí)失敗,也不會(huì)使機(jī)頂盒喪失在線 升級(jí)的功能。
權(quán)利要求
1、一種機(jī)頂盒的雙Loader升級(jí)方法,其特征在于,包括如下步驟步驟100通電開(kāi)機(jī)后,CPU首先運(yùn)行Starter程序,在Starter中檢測(cè)是否有升級(jí)要求;步驟200如果Starter檢測(cè)到有升級(jí)要求,先判斷主Loader是否被破壞,如果主Loader沒(méi)有被破壞,便跳轉(zhuǎn)到主Loader,進(jìn)行主Loader的升級(jí);如果主Loader被破壞,再判斷備份Loader是否被破壞,如果備份Loader沒(méi)有被破壞,則跳到備份Loader,進(jìn)行備份Loader升級(jí);如果Starter檢測(cè)到?jīng)]有升級(jí)要求或者兩個(gè)Loader都被破壞,則跳轉(zhuǎn)到應(yīng)用程序;步驟300在Loader程序升級(jí)順利結(jié)束并重新啟動(dòng)后,由Starter程序負(fù)責(zé)對(duì)兩Loader進(jìn)行比對(duì),用升級(jí)后的新的Loader替換掉原來(lái)的未升級(jí)的Loader,再跳轉(zhuǎn)到應(yīng)用程序。
2、 如權(quán)利要求1的機(jī)頂盒的雙Loader升級(jí)方法,其特征在于,所述步 驟300之后還進(jìn)一步包括步驟400:在運(yùn)行應(yīng)用程序的過(guò)程中,接收到前端 升級(jí)的命令時(shí),執(zhí)行步驟200。
全文摘要
本發(fā)明提供一種機(jī)頂盒的雙Loader升級(jí)方法,包括如下步驟開(kāi)機(jī)后,CPU首先運(yùn)行Starter程序,檢測(cè)是否有升級(jí)要求;有則先跳轉(zhuǎn)到主Loader進(jìn)行升級(jí);若主Loader被破壞,則跳到備份Loader進(jìn)行升級(jí);如果檢測(cè)到?jīng)]有升級(jí)要求或者兩個(gè)Loader都被破壞,則跳轉(zhuǎn)到應(yīng)用程序;在Loader程序升級(jí)順利結(jié)束并重新啟動(dòng)后,由Starter程序負(fù)責(zé)對(duì)兩Loader進(jìn)行比對(duì),用升級(jí)后的新的Loader替換掉原來(lái)的未升級(jí)的Loader,再跳轉(zhuǎn)到應(yīng)用程序。此升級(jí)方法既可實(shí)現(xiàn)Loader以外的程序或數(shù)據(jù)的升級(jí),又可實(shí)現(xiàn)Loader自身的升級(jí),而且還可極大地降低機(jī)頂盒的故障率。
文檔編號(hào)H04N5/00GK101567962SQ200910111628
公開(kāi)日2009年10月28日 申請(qǐng)日期2009年4月24日 優(yōu)先權(quán)日2009年4月24日
發(fā)明者張書(shū)義, 沈少陽(yáng), 文 陳, 黃少雄 申請(qǐng)人:福建新大陸通信科技有限公司