亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法

文檔序號:6607506閱讀:270來源:國知局
專利名稱:一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法
一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字化終端嵌入式軟件領(lǐng)域,具體是指一種基于數(shù)字電視機頂盒軟件 的代碼校驗及版本存儲方法。
背景技術(shù)
隨著數(shù)字電視終端的發(fā)展,機頂盒新功能不斷增加以及增值業(yè)務(wù)的推廣,軟件升 級成為機頂盒不可或缺的一項技術(shù),而升級的安全就顯得尤為的重要。數(shù)字電視機頂盒軟件存儲時一般分成若干分區(qū)保存,如果出現(xiàn)意外情況,只要有 其中一個分區(qū)出現(xiàn)錯誤,則機頂盒軟件就會崩潰而無法工作。則在軟件升級時保障和判斷 軟件的完整性的方法就具有其實際意義。

發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題在于提供一種可以保障安全升級的基于數(shù)字電視機 頂盒軟件的代碼校驗及版本存儲方法。本發(fā)明采用以下技術(shù)方案解決上述技術(shù)問題一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,包括如下步驟步驟一編譯生成保存升級數(shù)據(jù)的app. bin文件;步驟二 KB manufacture, cfg 文^f牛以及 cpcb. cfg 文^f牛;其中 manufacturer, cfg 文件中指明了當前升級的版本信息,cpcb. Cfg文件指明了當前升級的指導(dǎo)信息以及升級的 數(shù)據(jù)塊配置信息;步驟三在creatcpcb這個工具的目錄下輸入相應(yīng)命令生成cpcb. bin文件;步驟四將app. bin文件與cpcb. cfg文件合并生成一個application, bin文件。所述步驟二中升級版本信息包括MANUFACTURE_IDENT 定義廠商編號,機頂盒廠商,區(qū)別不同機頂盒生產(chǎn)銷售廠 商;HARDWARE_MODULE 定義硬件模塊,硬件模塊號;HARDWARE_VERSION 定義硬件版本,為8字節(jié)字段;S0FTWARE_M0DULE 定義軟件模塊、軟件模塊號;S0FTWARE_VERSI0N 定義軟件版本,為8字節(jié)字段。所述步驟二中cpcb. cfg文件中升級的指導(dǎo)信息DownloadHeader_Data包括TRAN_DIRECTION:定義傳輸數(shù)據(jù)方向,0為上傳,1為下載,其它值保留;PARTITI0N_C0UNT 定義升級數(shù)據(jù)塊的個數(shù);TRANS_TOTAL_SIZE 定義傳輸升級數(shù)據(jù)的總大??;N0R_CRC_PARTIT10N_C0UNT 定義非CRC校驗的數(shù)據(jù)塊的個數(shù);C0MPRESS_FLAG 定義數(shù)據(jù)是否壓縮的標志;ENCRYPT_FLAG 定義數(shù)據(jù)是否加密的標志;
ENCRYPT_KEY 定義數(shù)據(jù)加密的密鑰;所述步驟二中cpcb. cfg文件中數(shù)據(jù)塊配置信息Flash_Download_Configuration 主要定義所要升級的存儲器件對應(yīng)的內(nèi)部結(jié)構(gòu);每一數(shù)據(jù)塊配置信息定義3個參數(shù)Memory type 定義升級數(shù)據(jù)塊類型,默認為0,其它值保留;Block start 定義升級數(shù)據(jù)塊起始地址;Block size 定義升級數(shù)據(jù)塊大小,描述升級數(shù)據(jù)塊的數(shù)據(jù)長度;表示從升級數(shù)據(jù) 塊起始地址開始,存在若干大小的升級數(shù)據(jù)。本發(fā)明的優(yōu)點在于根據(jù)特定的數(shù)據(jù)組織管理,判斷機頂盒內(nèi)部軟件代碼部分是 否完整,若遭破壞loader能自動啟動升級;下載時校驗升級是否有效和為上載數(shù)據(jù)提供必 要的版本信息。本發(fā)明可以有效保障軟件升級安全。

下面參照附圖結(jié)合實施例對本發(fā)明作進一步的描述。圖1是本發(fā)明流程示意圖。
具體實施方式請參閱圖1所示,一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,包 括如下步驟步驟Sl 編譯生成保存升級數(shù)據(jù)的app. bin文件;步驟 S2 Kg manufacture, cfg 以及 cpcb· cfgi^ ;^ψ manufacturer, cfg 文件中指明了當前升級的版本信息,cpcb. Cfg文件指明了當前升級的指導(dǎo)信息以及升級的 數(shù)據(jù)塊配置信息;步驟S3 在creatcpcb這個工具的目錄下輸入相應(yīng)命令生成cpcb. bin文件;步驟S4 將app. bin文件與cpcb. cfg文件合并生成一個application, bin文件。使用Creatcpcb這個工具主要是為了生成一個Ik大小的信息塊(CPCB)。這個信 息塊主要包括兩個部分當前flash app的版本信息以及app中所有partition的crc校驗值。flash app 的版本信息,包括 Manufacture_Ident, hardware module, hardware version, software module, software version等。在下載時我們通過讀取這部分信息來 判斷當前升級是否有效。上載時,則讀取這部分信息填入download header的相應(yīng)字段。在版本信息之后是partition的CRC校驗信息。把除loader之外(all)的 partition *艮據(jù)性質(zhì)分成 non crc partition 禾口 crc partiton。其中 non crc partiton 包括除代碼以外的那部分數(shù)據(jù)塊,既data key logo default。而crc partition則為app 塊。生成時,non crc partition的4字節(jié)的crc均為Oxff0而crc partiton的crc貝Ij是 對相應(yīng)partition中數(shù)據(jù)的校驗。每次開機時,校驗crc partiton來判斷flash中的代碼部分是否完整,如果校驗 失敗,說明代碼部分遭到破壞,loader會自動啟動ota升級。使用creatcpcb這個工具需要兩個配置文件一個配置版本信息的 manufacturer, cfg l^XM,一yIvECfeMItf flash partition 的 cpcb. cfg。
其中manufacturer, cfg中指明了當前升級的版本信息。而cpcb. cfg則指明了當 前升級的指導(dǎo)信息以及升級的數(shù)據(jù)塊配置信息。通過cpcb. Cfg中的升級的數(shù)據(jù)塊配置信 息我們可以從app. bin這個文件中獲取相應(yīng)的升級數(shù)據(jù)。而根據(jù)cpcb. cfg中的升級指導(dǎo) 信息我們對升級數(shù)據(jù)進行相應(yīng)的處理(e.g.壓縮,加密)。在manufacturer, cfg文件中配置當前升級文件的升級版本信息,升級版本信息 包括MANUFACTURE_IDENT 定義廠商編號,機頂盒廠商,區(qū)別不同機頂盒生產(chǎn)銷售廠 商;HARDWARE_MODULE 定義硬件模塊,硬件模塊號;HARDWARE_VERSION 定義硬件版本,為8字節(jié)字段;S0FTWARE_M0DULE 定義軟件模塊、軟件模塊號;S0FTWARE_VERSI0N 定義軟件版本,為8字節(jié)字段;在cpcb. cfg文件中配置當前升級文件的升級指導(dǎo)信息和升級數(shù)據(jù)的數(shù)據(jù)塊配置 fn息ο升級的指導(dǎo)信息DownloadHeader_Data包括TRAN_DIRECTION:定義傳輸數(shù)據(jù)方向,0為上傳,1為下載,其它值保留;PARTITI0N_C0UNT 定義升級數(shù)據(jù)塊的個數(shù);TRANS_TOTAL_SIZE 定義傳輸升級數(shù)據(jù)的總大?。籒0R_CRC_PARTIT10N_C0UNT 定義非CRC校驗的數(shù)據(jù)塊的個數(shù);C0MPRESS_FLAG 定義數(shù)據(jù)是否壓縮的標志;ENCRYPT_FLAG 定義數(shù)據(jù)是否加密的標志;ENCRYPT_KEY:定義數(shù)據(jù)加密的密鑰。數(shù)據(jù)塊配置信息主要定義所要升級的存儲器件對應(yīng)的內(nèi)部結(jié)構(gòu);每一數(shù)據(jù)塊配置 信息定義3個參數(shù)Memory type 定義升級數(shù)據(jù)塊類型,默認為0,其它值保留;Block start 定義升級數(shù)據(jù)塊起始地址;Block size 定義升級數(shù)據(jù)塊大小,描述升級數(shù)據(jù)塊的數(shù)據(jù)長度;表示從升級數(shù)據(jù) 塊起始地址開始,存在若干大小的升級數(shù)據(jù)。因為cpcb是對app進行校驗,并且存放于app的最后lk。所以需要先生成一個合 適大小的app.bin。再由這個app. bin生成cpcb. bin,然后將兩者合并。在creatcpcb這 yIvXJIliItJ Ιξ| ^T"A :creatcpcb manufacturer, cfg cpcb. cfgapp. bin JJllJ^Itf |ξ[ 錄下即可生成cpcb. bin。文件的大小為1024。版本存儲及代碼校驗數(shù)據(jù)組織結(jié)構(gòu)如下 本發(fā)明的有益效果在于1、能夠檢測flash的代碼部分是否完整,若遭破壞 loader能自動啟動升級。2、下載時校驗升級是否有效和為上載數(shù)據(jù)提供必要的版本信息。
權(quán)利要求
一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,其特征在于包括如下步驟步驟一編譯生成保存升級數(shù)據(jù)的app.bin文件;步驟二配置manufacture.cfg文件以及cpcb.cfg文件;其中manufacturer.cfg文件中指明了當前升級的版本信息,cpcb.cfg文件指明了當前升級的指導(dǎo)信息以及升級的數(shù)據(jù)塊配置信息;步驟三在creatcpcb這個工具的目錄下輸入相應(yīng)命令生成cpcb.bin文件;步驟四將app.bin文件與cpcb.cfg文件合并生成一個application.bin文件。
2.如權(quán)利要求1所述的一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,其 特征在于所述步驟二中升級版本信息包括MANUFACTURE_IDENT 定義廠商編號,機頂盒廠商,區(qū)別不同機頂盒生產(chǎn)銷售廠商;HARDWARE_MODULE 定義硬件模塊,硬件模塊號;HARDWARE_VERSION 定義硬件版本,為8字節(jié)字段;S0FTWARE_M0DULE 定義軟件模塊、軟件模塊號;S0FTWARE_VERSI0N 定義軟件版本,為8字節(jié)字段。
3.如權(quán)利要求1所述的一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,其 特征在于所述步驟二中cpcb. Cfg文件中升級的指導(dǎo)信息D0wnl0adHeader_Data包括TRAN_DIRECTION:定義傳輸數(shù)據(jù)方向,0為上傳,1為下載,其它值保留;PARTITI0N_C0UNT 定義升級數(shù)據(jù)塊的個數(shù);TRANS_TOTAL_SIZE 定義傳輸升級數(shù)據(jù)的總大??;N0R_CRC_PARTIT10N_C0UNT 定義非CRC校驗的數(shù)據(jù)塊的個數(shù);C0MPRESS_FLAG 定義數(shù)據(jù)是否壓縮的標志;ENCRYPT_FLAG 定義數(shù)據(jù)是否加密的標志;ENCRYPT_KEY 定義數(shù)據(jù)加密的密鑰;所述步驟二中cpcb. cfg文件中數(shù)據(jù)塊配置信息Flash_Download_Configuration主要 定義所要升級的存儲器件對應(yīng)的內(nèi)部結(jié)構(gòu);每一數(shù)據(jù)塊配置信息定義3個參數(shù) Memory type 定義升級數(shù)據(jù)塊類型,默認為0,其它值保留; Block start 定義升級數(shù)據(jù)塊起始地址;Block size 定義升級數(shù)據(jù)塊大小,描述升級數(shù)據(jù)塊的數(shù)據(jù)長度;表示從升級數(shù)據(jù)塊起 始地址開始,存在若干大小的升級數(shù)據(jù)。
全文摘要
一種基于數(shù)字電視機頂盒軟件的代碼校驗及版本存儲方法,包括如下步驟編譯生成保存升級數(shù)據(jù)的app.bin文件;配置manufacture.cfg文件以及cpcb.cfg文件;其中manufacturer.cfg文件中指明了當前升級的版本信息,cpcb.cfg文件指明了當前升級的指導(dǎo)信息以及升級的數(shù)據(jù)塊配置信息;在creatcpcb這個工具的目錄下輸入相應(yīng)命令生成cpcb.bin文件;將app.bin文件與cpcb.cfg文件合并生成一個application.bin文件。本發(fā)明根據(jù)特定的數(shù)據(jù)組織管理,判斷機頂盒內(nèi)部軟件代碼部分是否完整,若遭破壞loader能自動啟動升級;下載時校驗升級是否有效和為上載數(shù)據(jù)提供必要的版本信息。本發(fā)明可以有效保障軟件升級安全。
文檔編號G06F9/445GK101923478SQ201010250128
公開日2010年12月22日 申請日期2010年8月11日 優(yōu)先權(quán)日2010年8月11日
發(fā)明者郭鑫俊 申請人:福建新大陸通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1