欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于nandflash的機(jī)頂盒的軟件升級方法

文檔序號:7836682閱讀:278來源:國知局
專利名稱:基于nandflash的機(jī)頂盒的軟件升級方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件升級技術(shù),具體的說,是涉及一種基于nandflash的機(jī)頂盒的軟件升級方法。
背景技術(shù)
隨著全球數(shù)字電視行業(yè)的迅猛發(fā)展,越來越多的各種應(yīng)用軟件已經(jīng)開始在機(jī)頂盒上集成。時下流行的各種應(yīng)用軟件通常都是基于Iinux系統(tǒng)的,因此機(jī)頂盒軟件提供商已經(jīng)開始將機(jī)頂盒的操作系統(tǒng)更新為Iinux操作系統(tǒng)。而Iinux系統(tǒng)本身比較龐大,需要占用的flash和內(nèi)存資源較多,傳統(tǒng)的單個norfIash設(shè)備由于容量較小,或者成本太高等原因已經(jīng)慢慢變得不適用起來。與此相反,nandflash設(shè)備由于容量大、讀寫速度快、成本低的優(yōu)勢開始成為機(jī)頂盒存儲設(shè)備的首選。但是nandflash的數(shù)據(jù)塊容易出現(xiàn)壞塊,因此 nandflash的使用是按分區(qū)來進(jìn)行的。一個nandfIash分區(qū)不能完全使用,必須預(yù)留一部分區(qū)域出來防止壞塊產(chǎn)生,一旦產(chǎn)生壞塊,那么機(jī)頂盒驅(qū)動會自動跳過壞塊去使用下一個正確的數(shù)據(jù)塊。基于上述,采用nandflash存儲器的機(jī)頂盒的軟件升級也是按分區(qū)來進(jìn)行的;即一個機(jī)頂盒一旦制定好了 nandflash分區(qū),那么其之后的升級都是按這個制定好的分區(qū)來進(jìn)行。傳統(tǒng)技術(shù)中,當(dāng)機(jī)頂盒的應(yīng)用部分需要重新進(jìn)行分區(qū)并進(jìn)行軟件升級的話,首先需要按既定分區(qū)的方式升級一個特殊的主程序,升級之后,主程序?qū)⑿薷募榷ǚ謪^(qū),將其修改為新的分區(qū)。然后loader再按新的分區(qū)再次升級。這樣的升級方法需要生成兩個主程序,兩個升級流,loader需要升級兩次。效率非常低下,且給機(jī)頂盒升級帶來不必要的風(fēng)險。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種基于nandflash的機(jī)頂盒的軟件升級方法,解決傳統(tǒng)技術(shù)中需要修改nandf Iash分區(qū)并進(jìn)行軟件升級時,升級效率低下的問題。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是基于nandflash的機(jī)頂盒的軟件升級方法,包括以下步驟a.前端系統(tǒng)制作升級文件;al.將所有需要升級的nandflash分區(qū)數(shù)據(jù)按一定格式組裝成升級文件;a2.將新的nandflash分區(qū)信息及本次需要升級的分區(qū)信息添加至升級文件的頭結(jié)構(gòu)中;b.前端系統(tǒng)對制作好的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流發(fā)送給機(jī)頂盒;c.機(jī)頂盒接收升級數(shù)據(jù)流進(jìn)行解析,判斷是否需要按照新的nandflash分區(qū)進(jìn)行升級,并作出相關(guān)處理。進(jìn)一步,步驟c具體包括cl.機(jī)頂盒接收升級數(shù)據(jù)流,首先解析升級文件的頭結(jié)構(gòu),解析出既定分區(qū)信息和新的nandflash分區(qū)設(shè)置標(biāo)識字段;
3
c2.若新的nandflash分區(qū)設(shè)置標(biāo)識字段為1,則本次軟件升級是按照新的 nandflash分區(qū)進(jìn)行升級,進(jìn)入步驟c3,若新的nandflash分區(qū)設(shè)置標(biāo)識字段為0,則本次軟件升級是按照既定的nandflash分區(qū)進(jìn)行升級,進(jìn)入步驟c6 ;c3.判斷本次需要升級的分區(qū)信息與新的nandflash分區(qū)信息是否匹配,如果匹配,則該升級數(shù)據(jù)流正確,進(jìn)入步驟c4 ;如果不匹配,則該升級數(shù)據(jù)流不正確,則退出本次升級;c4.對各個nandflash分區(qū)數(shù)據(jù)進(jìn)行安全性校驗,若所有數(shù)據(jù)都正常,則進(jìn)入步驟 c5,若有數(shù)據(jù)出現(xiàn)異常,則退出本次升級;c5.獲取當(dāng)前分區(qū)信息,并與新的nandflash分區(qū)信息進(jìn)行比較,若一致,則將各個nandflash分區(qū)數(shù)據(jù)寫入對應(yīng)位置,完成升級;若不一致,則保存新的nandflash分區(qū)信息,并設(shè)置升級標(biāo)志,然后重啟機(jī)頂盒,返回步驟c5 ;c6.獲取當(dāng)前分區(qū)信息,并解析出升級數(shù)據(jù)流中的各個升級數(shù)據(jù)段信息,將各個升級數(shù)據(jù)段信息與當(dāng)前分區(qū)信息比較,如果一致,則進(jìn)行各個升級數(shù)據(jù)段的數(shù)據(jù)安全性校驗, 在校驗通過后將各個升級數(shù)據(jù)段寫入到對應(yīng)分區(qū);若各個升級數(shù)據(jù)段信息與當(dāng)前分區(qū)信息不一致,或者分區(qū)信息數(shù)據(jù)校驗錯誤,則提示升級失敗,并退出升級。進(jìn)一步,步驟b中所述制作好的升級文件包括頭結(jié)構(gòu)信息和多個文件數(shù)據(jù)段,其中頭結(jié)構(gòu)信息包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件頭CRC校驗、新分區(qū)設(shè)置標(biāo)識、新分區(qū)信息長度、新分區(qū)內(nèi)容,分區(qū)升級個數(shù),分區(qū)數(shù)據(jù)段描述信息。進(jìn)一步,所述分區(qū)數(shù)據(jù)段描述信息包括FLASH設(shè)備號、分區(qū)偏移地址、數(shù)據(jù)長度、 數(shù)據(jù)CRC校驗值,數(shù)據(jù)段在組合文件內(nèi)的偏移地址。進(jìn)一步,步驟c3中,利用各個分區(qū)數(shù)據(jù)段的FLASH設(shè)備號字段和分區(qū)偏移地址,判定各個升級分區(qū)信息是否與新的nandflash分區(qū)定義是否匹配。進(jìn)一步,步驟c5中,將各個nandflash分區(qū)數(shù)據(jù)按分區(qū)信息的flash設(shè)備號和分區(qū)偏移地址寫入對應(yīng)位置。本發(fā)明的有益效果是按nandflash分區(qū)升級時,能夠自動修改分區(qū)設(shè)置,只通過一個升級數(shù)據(jù)流實現(xiàn)自動更新nandflash分區(qū)信息,并按新的分區(qū)進(jìn)行升級。
具體實施例方式本發(fā)明提出一種基于nandflash的機(jī)頂盒的軟件升級方法,解決傳統(tǒng)技術(shù)中需要修改nandflash分區(qū)并進(jìn)行軟件升級時,升級效率低下的問題。其技術(shù)方案的要點包括以下步驟a.前端系統(tǒng)制作升級文件;al.將所有需要升級的nandflash分區(qū)數(shù)據(jù)按一定格式組裝成升級文件;a2.將新的nandflash分區(qū)信息及本次需要升級的分區(qū)信息添加至升級文件的頭結(jié)構(gòu)中;b.前端系統(tǒng)對制作好的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流發(fā)送給機(jī)頂盒;c.機(jī)頂盒接收升級數(shù)據(jù)流進(jìn)行解析,判斷是否需要按照新的nandflash分區(qū)進(jìn)行升級,并作出相關(guān)處理。從具體實施上來講,包括以下步驟A.制作帶有的新的nandflash分區(qū)信息的升級文件al.要實現(xiàn)自動更新nandflash分區(qū),需要將新的nandflash分區(qū)信息通過一種方
4式告知loader。本方法將新的nandflash分區(qū)信息添加到升級文件的頭結(jié)構(gòu)中。a2.將所有的需要升級的nandflash分區(qū)數(shù)據(jù)按一定的格式組裝成一個升級文件,并將其分區(qū)信息添加到升級文件的頭結(jié)構(gòu)中。機(jī)頂盒在接收到升級數(shù)據(jù)后,再根據(jù)文件頭結(jié)構(gòu),進(jìn)行逆向解析,還原出新的nandflash分區(qū)信息和各個分區(qū)的具體信息,進(jìn)行升級。a3.根據(jù)步驟al、a2的思想,將新的nandflash分區(qū)信息,以及每個分區(qū)的升級數(shù)據(jù)合并為一個升級文件,合并后的升級文件包含合并文件信息頭和N個文件數(shù)據(jù)段,其中合并文件信息頭包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件頭CRC校驗、新分區(qū)設(shè)置標(biāo)識、新分區(qū)信息長度、新分區(qū)內(nèi)容,分區(qū)升級個數(shù),分區(qū)數(shù)據(jù)段描述信息。分區(qū)數(shù)據(jù)描述信息包括FLASH設(shè)備號、分區(qū)偏移地址、數(shù)據(jù)長度、數(shù)據(jù)CRC校驗值,數(shù)據(jù)段在組合文件內(nèi)的偏移地址。所述合并文件的具體結(jié)構(gòu)如下
合并文件頭結(jié)構(gòu)描述{
文件頭描述字符串標(biāo)志; 文件頭長度; 新分區(qū)設(shè)置標(biāo)識;
If (新分區(qū)設(shè)置標(biāo)識==1)
{
新分區(qū)信息長度; For (1=0 ; i〈新分區(qū)信息長度;i++) 新分區(qū)內(nèi)容;
}
分區(qū)升級個數(shù);
For (i=0 ; i〈分區(qū)升級個數(shù);i++){
FLASH設(shè)備號;
分區(qū)偏移地址;
數(shù)據(jù)段長度;
數(shù)據(jù)段CRC校驗值;
數(shù)據(jù)段在組合文件內(nèi)的偏移地址;
}
文件頭crc;
}
整個合并文件的結(jié)構(gòu)描述
{
合并文件頭; 分區(qū)1升級數(shù)據(jù); 分區(qū)2升級數(shù)據(jù);
分區(qū)η升級數(shù)據(jù);
}其中文件頭長度從文件頭描述字符串標(biāo)志開始,到文件頭CRC校驗值字段。當(dāng)新分區(qū)設(shè)置標(biāo)識字段為1時,標(biāo)識升級數(shù)據(jù)是需要按照新的nandflash分區(qū)進(jìn)行升級,否則按既定的nadnflash分區(qū)進(jìn)行升級。B.升級數(shù)據(jù)打包將新生成的合并文件按常用方法進(jìn)行數(shù)據(jù)打包,生成升級數(shù)據(jù)流。C.機(jī)頂盒端升級數(shù)據(jù)處理cl.接收完所有升級數(shù)據(jù)后,按照步驟a3的頭結(jié)構(gòu)定義,首先解析合并文件數(shù)據(jù)頭,解析出既定升級分區(qū)信息和新分區(qū)設(shè)置標(biāo)識字段。通過新分區(qū)設(shè)置標(biāo)識字段判別是否有新的nandflash分區(qū)。c2.若新分區(qū)設(shè)置標(biāo)識字段為1,標(biāo)識升級數(shù)據(jù)是需要按照新的nandflash分區(qū)進(jìn)行升級。按步驟a3的頭結(jié)構(gòu)定義,分析出新的nandflash數(shù)據(jù),并分析出各個分區(qū)數(shù)據(jù)段描述信息。利用各個分區(qū)數(shù)據(jù)段的FLASH設(shè)備號字段和分區(qū)偏移地址,判定各個升級分區(qū)信息是否與新的nandflash分區(qū)定義相匹配,若匹配則標(biāo)識此升級流為正確的升級流,否則提示升級流錯誤,退出升級。此后,將各個分區(qū)數(shù)據(jù)段的數(shù)據(jù),利用數(shù)據(jù)段長度、數(shù)據(jù)段CRC 校驗值以及數(shù)據(jù)段在組合文件內(nèi)的偏移地址這三個數(shù)據(jù)段進(jìn)行數(shù)據(jù)安全性校驗,若所有的升級數(shù)據(jù)都正常,則繼續(xù)升級,若異常則提示升級數(shù)據(jù)錯誤,退出升級。C3.繼步驟c2,如果數(shù)據(jù)正常,獲取出機(jī)頂盒當(dāng)前的分區(qū)信息,并與新的nandflash分區(qū)進(jìn)行比較,若發(fā)現(xiàn)兩個分區(qū)信息相同,則表示機(jī)頂盒內(nèi)的分區(qū)信息已經(jīng)更新。此后,將各個分區(qū)數(shù)據(jù)段的數(shù)據(jù)按分區(qū)信息的flash設(shè)備號和分區(qū)偏移地址進(jìn)行寫入。 若機(jī)頂盒當(dāng)前的分區(qū)信息,并與新的nandflash分區(qū)不一致,那么保存新的nandflash分區(qū)信息,并且設(shè)置升級標(biāo)志,然后重啟。機(jī)頂盒重啟并發(fā)現(xiàn)需要升級,再次進(jìn)入升級流程,此后會再運行到c3進(jìn)行分區(qū)信息比較,此時發(fā)現(xiàn)分區(qū)信息一致,那么進(jìn)行分區(qū)數(shù)據(jù)寫入。這樣就通過一個升級數(shù)據(jù)流實現(xiàn)自動更新nandflash分區(qū)信息,并按新的分區(qū)進(jìn)行升級。
C4.若新分區(qū)設(shè)置標(biāo)識字段為0.則獲取出機(jī)頂盒當(dāng)前的分區(qū)信息,并解析出升級流內(nèi)的各個升級數(shù)據(jù)段信息。將各個升級數(shù)據(jù)段信息與當(dāng)前機(jī)頂盒的分區(qū)信息比較。如果一直,則進(jìn)行各個升級數(shù)據(jù)段的數(shù)據(jù)安全性校驗,方法同c2,然后將各個升級數(shù)據(jù)段寫入到各分區(qū)。若分區(qū)信息錯誤,或者分區(qū)信息數(shù)據(jù)校驗錯誤,則提示升級失敗,并退出升級。
權(quán)利要求
1.基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,包括以下步驟a.前端系統(tǒng)制作升級文件;al.將所有需要升級的nandflash分區(qū)數(shù)據(jù)按一定格式組裝成升級文件;a2.將新的nandflash分區(qū)信息及本次需要升級的分區(qū)信息添加至升級文件的頭結(jié)構(gòu)中;b.前端系統(tǒng)對制作好的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流發(fā)送給機(jī)頂盒;c.機(jī)頂盒接收升級數(shù)據(jù)流進(jìn)行解析,判斷是否需要按照新的nandflash分區(qū)進(jìn)行升級,并作出相關(guān)處理。
2.如權(quán)利要求1所述的基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,步驟c 具體包括cl.機(jī)頂盒接收升級數(shù)據(jù)流,首先解析升級文件的頭結(jié)構(gòu),解析出既定分區(qū)信息和新的 nandflash分區(qū)設(shè)置標(biāo)識字段;c2.若新的nandflash分區(qū)設(shè)置標(biāo)識字段為1,則本次軟件升級是按照新的nandflash 分區(qū)進(jìn)行升級,進(jìn)入步驟c3,若新的nandflash分區(qū)設(shè)置標(biāo)識字段為0,則本次軟件升級是按照既定的nandflash分區(qū)進(jìn)行升級,進(jìn)入步驟c6 ;c3.判斷本次需要升級的分區(qū)信息與新的nandflash分區(qū)信息是否匹配,如果匹配,則該升級數(shù)據(jù)流正確,進(jìn)入步驟c4 ;如果不匹配,則該升級數(shù)據(jù)流不正確,則退出本次升級;c4.對各個nandflash分區(qū)數(shù)據(jù)進(jìn)行安全性校驗,若所有數(shù)據(jù)都正常,則進(jìn)入步驟c5, 若有數(shù)據(jù)出現(xiàn)異常,則退出本次升級;c5.獲取當(dāng)前分區(qū)信息,并與新的nandflash分區(qū)信息進(jìn)行比較,若一致,則將各個 nandflash分區(qū)數(shù)據(jù)寫入對應(yīng)位置,完成升級;若不一致,則保存新的nandflash分區(qū)信息, 并設(shè)置升級標(biāo)志,然后重啟機(jī)頂盒,返回步驟c5 ;c6.獲取當(dāng)前分區(qū)信息,并解析出升級數(shù)據(jù)流中的各個升級數(shù)據(jù)段信息,將各個升級數(shù)據(jù)段信息與當(dāng)前分區(qū)信息比較,如果一致,則進(jìn)行各個升級數(shù)據(jù)段的數(shù)據(jù)安全性校驗,在校驗通過后將各個升級數(shù)據(jù)段寫入到對應(yīng)分區(qū);若各個升級數(shù)據(jù)段信息與當(dāng)前分區(qū)信息不一致,或者分區(qū)信息數(shù)據(jù)校驗錯誤,則提示升級失敗,并退出本次升級。
3.如權(quán)利要求2所述的基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,步驟b 中所述制作好的升級文件包括頭結(jié)構(gòu)信息和多個文件數(shù)據(jù)段,其中頭結(jié)構(gòu)信息包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件頭CRC校驗、新分區(qū)設(shè)置標(biāo)識、新分區(qū)信息長度、新分區(qū)內(nèi)容,分區(qū)升級個數(shù),分區(qū)數(shù)據(jù)段描述信息。
4.如權(quán)利要求3所述的基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,所述分區(qū)數(shù)據(jù)段描述信息包括FLASH設(shè)備號、分區(qū)偏移地址、數(shù)據(jù)長度、數(shù)據(jù)CRC校驗值,數(shù)據(jù)段在組合文件內(nèi)的偏移地址。
5.如權(quán)利要求4所述的基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,步驟 c3中,利用各個分區(qū)數(shù)據(jù)段的FLASH設(shè)備號字段和分區(qū)偏移地址,判定各個升級分區(qū)信息是否與新的nandflash分區(qū)定義是否匹配。
6.如權(quán)利要求5所述的基于nandflash的機(jī)頂盒的軟件升級方法,其特征在于,步驟 c5中,將各個nandflash分區(qū)數(shù)據(jù)按分區(qū)信息的flash設(shè)備號和分區(qū)偏移地址寫入對應(yīng)位置。
全文摘要
本發(fā)明涉及軟件升級技術(shù),其公開了一種基于nandflash的機(jī)頂盒的軟件升級方法,解決傳統(tǒng)技術(shù)中需要修改nandflash分區(qū)并進(jìn)行軟件升級時,升級效率低下的問題。其技術(shù)方案的要點包括以下步驟a.前端系統(tǒng)制作升級文件;a1.將所有需要升級的nandflash分區(qū)數(shù)據(jù)按一定格式組裝成升級文件;a2.將新的nandflash分區(qū)信息及本次需要升級的分區(qū)信息添加至升級文件的頭結(jié)構(gòu)中;b.前端系統(tǒng)對制作好的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流發(fā)送給機(jī)頂盒;c.機(jī)頂盒接收升級數(shù)據(jù)流進(jìn)行解析,判斷是否需要按照新的nandflash分區(qū)進(jìn)行升級,并作出相關(guān)處理。本發(fā)明適用于對采用nandflash存儲器的機(jī)頂盒進(jìn)行軟件升級。
文檔編號H04N21/443GK102419713SQ20111045801
公開日2012年4月18日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者周志武, 楊艷輝, 熊建勇 申請人:四川長虹電器股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
昌平区| 邻水| 南昌县| 霍城县| 曲麻莱县| 全南县| 洛浦县| 塔城市| 安岳县| 嘉鱼县| 股票| 岳阳县| 南和县| 巫山县| 阿拉尔市| 清水河县| 仙居县| 互助| 鹤壁市| 滕州市| 浦东新区| 肇州县| 铁岭县| 水富县| 东平县| 新竹县| 蚌埠市| 仪陇县| 万全县| 湖南省| 同德县| 三江| 土默特右旗| 凤冈县| 深州市| 白河县| 团风县| 碌曲县| 栖霞市| 武宣县| 农安县|