專利名稱:一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字電視機(jī)頂,特別涉及一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法。
背景技術(shù):
隨著全球數(shù)字電視行業(yè)的迅猛發(fā)展,付費(fèi)電視已經(jīng)成為數(shù)字電視的主流,各種條件接收方案廣泛的被世界各國的數(shù)字電視運(yùn)營商們所采用。因此基于條件接收系統(tǒng)的機(jī)頂盒在市場上的使用也越來越多。然而目前在機(jī)頂盒上使用的各種應(yīng)用軟件通常都是基于 Iinux系統(tǒng)的;Iinux系統(tǒng)本身比較龐大,需要占用的flash和內(nèi)存資源較多,因此機(jī)頂盒使用的flash資源也越來越多;單個的flash設(shè)備或者容量較小的flash設(shè)備已經(jīng)開始面臨容量不足的情況。因此,目前市面上出現(xiàn)支持多flash設(shè)備的機(jī)頂盒,以解決單flash容量不足的問題;然而目前大部分的條件接收系統(tǒng)對于機(jī)頂盒軟件升級的規(guī)范仍然是針對單flash升級,且由機(jī)頂盒廠家提供的flash使用配置規(guī)范也未升級。而對于兩種flash設(shè)備(即 norflash和nandflash)來說,在使用方法有很大差別,因此傳統(tǒng)的條件接收系統(tǒng)的升級規(guī)范在nandfIash的使用中不可避免的出現(xiàn)的了一些問題比如,傳統(tǒng)的條件接收系統(tǒng)規(guī)定的升級方法即norflash是按flashblock依次順序?qū)懭氲?,而nandflash的使用是按分區(qū)使用的,nandflash的壞塊機(jī)制造成每個分區(qū)不可能被完全使用,要預(yù)留一部分來防止壞塊產(chǎn)生,因此nandflash的寫flash操作是跳躍的,因此在生成升級流時也需要考慮升級的內(nèi)容是分段式的。另外傳統(tǒng)的norflash容量都較小,市場上流行的較大的norflash容量通常都是64兆,而nandflash容量通常都是都達(dá)到了 128兆,256兆,甚至更大,因此傳統(tǒng)的 norflash的升級數(shù)據(jù)容量是較小的,而與傳統(tǒng)條件接收系統(tǒng)升級規(guī)范配套的系列打包工具支持的可升級容量也較小,無法支持nandflash的大容量。由上可以看出傳統(tǒng)條件接收系統(tǒng)升級規(guī)范主要針對的都是norflash,若使用 nandf lash,不管是在容量上,還是在規(guī)范上都不是非常的契合;如何在現(xiàn)有的條件接收系統(tǒng)升級規(guī)范的前提下支持多flash設(shè)備升級,突破升級容量限制,且能靈活升級(既支持 norflsh升級又支持nandflash升級)是一個亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,在現(xiàn)有的條件接收系統(tǒng)升級規(guī)范的前提下支持多flash設(shè)備升級,突破升級容量限制, 且能實(shí)現(xiàn)靈活升級。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,包括以下步驟a.機(jī)頂盒開發(fā)商根據(jù)機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建flash配置文件;
b.機(jī)頂盒開發(fā)商按照flash配置文件中的定義將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件中,形成合并后的升級文件,并提供給前端系統(tǒng);c.前端系統(tǒng)將合并后的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流并下發(fā);d.機(jī)頂盒接收升級數(shù)據(jù)流,根據(jù)flash配置文件中的定義還原針對機(jī)頂盒的 flash設(shè)備的各分區(qū)的升級數(shù)據(jù);e.機(jī)頂盒根據(jù)相關(guān)信息對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash分區(qū)的處理。進(jìn)一步,該方法還包括步驟f.機(jī)頂盒根據(jù)flash配置文件中的定義將flash設(shè)備的各分區(qū)的升級數(shù)據(jù)讀取出來,并計(jì)算CRC校驗(yàn)值,寫入到分區(qū)信息數(shù)據(jù)校驗(yàn)區(qū)內(nèi);g.機(jī)頂盒重啟,再次根據(jù)flash配置文件中的定義將flash設(shè)備的各分區(qū)的升級數(shù)據(jù)讀取出來,并計(jì)算CRC校驗(yàn)值,與分區(qū)信息數(shù)據(jù)校驗(yàn)區(qū)內(nèi)存儲的CRC校驗(yàn)值進(jìn)行比較, 如果相同,則升級成功,機(jī)頂盒正常啟動;如果不相同,則升級失敗,返回步驟a。進(jìn)一步,步驟a具體包括al.機(jī)頂盒開發(fā)商確定機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域;a2.機(jī)頂盒開發(fā)商根據(jù)flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建flash配置文件,并定義每個數(shù)據(jù)塊具體屬于哪個flash設(shè)備上的哪個使用區(qū)域,所述flash配置文件中定義了數(shù)據(jù)塊的偏移地址和長度。進(jìn)一步,步驟b中,將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件后,該合并后的升級文件包括η個升級文件描述頭和η個文件數(shù)據(jù);各分區(qū)的升級數(shù)據(jù)的合并規(guī)則為文件I描述頭+文件I數(shù)據(jù)+文件2描述頭+文件2數(shù)據(jù)…文件η 描述頭+文件η數(shù)據(jù),所述η對應(yīng)flash配置文件里規(guī)定的各個flash設(shè)備的分區(qū)。進(jìn)一步,所述升級文件描述頭包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件屬性值、flash設(shè)備號、flash設(shè)備屬性值、升級文件偏移地址、數(shù)據(jù)段長度、數(shù)據(jù)段 CRC校驗(yàn)值。進(jìn)一步,所述文件屬性值標(biāo)明該文件是否需要寫入flash :當(dāng)需要升級某個flash 設(shè)備的某個分區(qū)時,那么就將針對該分區(qū)的升級文件的文件屬性值設(shè)置為1,將其他不需要升級的分區(qū)的升級文件的文件屬性值設(shè)置為O ;當(dāng)需要升級的分區(qū)對應(yīng)的升級文件不在 flash配置文件的規(guī)定里且需要寫入flash,則將針對該分區(qū)的升級文件的文件屬性值設(shè)置為2。進(jìn)一步,步驟e中,機(jī)頂盒根據(jù)相關(guān)信息對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash 分區(qū)的處理的具體方法是機(jī)頂盒讀取針對各分區(qū)的升級文件的文件屬性值值,若文件屬性值值為0,則該分區(qū)的升級文件不寫入flash ;若文件屬性值值為1,則根據(jù)flash配置文件里的規(guī)定,將該分區(qū)的升級文件寫入到相應(yīng)的flash設(shè)備的相應(yīng)地址;若文件屬性值為 2,則根據(jù)該分區(qū)的升級文件的頭信息定義的flash設(shè)備號和升級文件偏移地址來寫入到 flash設(shè)備的相應(yīng)地址。本發(fā)明的有益效果是在現(xiàn)有的條件接收系統(tǒng)升級規(guī)范的前提下支持多flash設(shè)備升級,突破升級容量限制,既能支持norflsh升級又能支持nandflash升級,升級方式靈活。
具體實(shí)施例方式傳統(tǒng)技術(shù)中的機(jī)頂盒軟件升級方式大多都只能支持norflsh單設(shè)備升級,升級容量受限,且不能支持nandflash升級;為了解決上述問題,本發(fā)明提出了一種支持多flash 設(shè)備的機(jī)頂盒軟件升級方法,包括以下步驟a.機(jī)頂盒開發(fā)廠家根據(jù)機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建flash配置文件;b.機(jī)頂盒開發(fā)廠家按照flash配置文件中的定義將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件中,形成合并后的升級文件;
c.前端系統(tǒng)將合并后的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流并下發(fā);d.機(jī)頂盒接收升級數(shù)據(jù)流,根據(jù)flash配置文件中的定義還原針對機(jī)頂盒的 flash設(shè)備的各分區(qū)的升級數(shù)據(jù);e.機(jī)頂盒根據(jù)相關(guān)信息對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash分區(qū)的處理。本發(fā)明的升級方法與傳統(tǒng)技術(shù)的區(qū)別點(diǎn)在于(1)在FLASH配置文件里關(guān)聯(lián)了 flash設(shè)備和分區(qū)及分區(qū)大小。(2)本方法的最終升級文件是由各個FLASH設(shè)備上的各分區(qū)文件合并而成的,且是按既定的格式來合成的,該格式包含了符合nandflash升級需要的特性;而傳統(tǒng)的升級文件就一個升級文件;(3)本方法的最終升級文件生成方式涵蓋了傳統(tǒng)升級文件規(guī)范與工具無法支持到的升級區(qū)域。假如工具只支持升級64兆的數(shù)據(jù),那么傳統(tǒng)的升級方法只能前64M區(qū)域的數(shù)據(jù),經(jīng)過本方法后,可以把任何區(qū)域的數(shù)據(jù)組合到合并文件中,而只要最終的合并文件數(shù)據(jù)小于64M即可。這樣就突破了 flash設(shè)備和容量的限制。下面結(jié)合具體實(shí)施方式
對本發(fā)明的技術(shù)方案作詳細(xì)闡述A.機(jī)頂盒開發(fā)商根據(jù)機(jī)頂盒使用的flash設(shè)備個數(shù)和使用區(qū)域,構(gòu)建flash配置文件al.確定一個項(xiàng)目的機(jī)頂盒固定使用的flash設(shè)備的個數(shù);a2.確定每個flash設(shè)備的使用區(qū)域劃分。如fIashO的第一兆區(qū)域存放loader,第二兆到fIashO設(shè)備的最后存放主程序;fIashl的前20兆存放文件系統(tǒng),第21 兆到30兆存放數(shù)據(jù)庫等;a3.前端系統(tǒng)根據(jù)al,a2的劃分,構(gòu)成flash配置文件,且和機(jī)頂盒共同規(guī)定每個塊的歸屬。由于條件接收系統(tǒng)的工具只針對一個flash,因此配置文件中的各個數(shù)據(jù)塊的偏移地址是虛擬的,但它與實(shí)際的flash的物理地址有具體的對應(yīng)關(guān)系,這就由機(jī)頂盒廠家來定義的。如第一個blcok的偏移地址為0x8000,長度0x18000,它對應(yīng)的flash設(shè)備的I 分區(qū),第二個block偏移為0x2000,長度0x2000可以對應(yīng)flash設(shè)備2的O分區(qū)等等。B.實(shí)現(xiàn)支持多flash設(shè)備的升級文件數(shù)據(jù)打包bl.由于條件接收系統(tǒng)的升級流打包工具只支持打包一個升級文件,那么要支持多個flash設(shè)備的數(shù)據(jù)升級,就只有將所有的需要升級的數(shù)據(jù)按一定的格式封裝成一個升級文件用于生成升級流。機(jī)頂盒在接收到升級數(shù)據(jù)后,再按此格式,進(jìn)行逆向解析,還原出各個flash設(shè)備的升級數(shù)據(jù),進(jìn)行升級。b2.根據(jù)上述bl的思想,將每個flash設(shè)備上的升級數(shù)據(jù)合并為一個升級文件,合并后的升級文件包含η個升級文件描述頭和N個文件數(shù)據(jù),其中升級文件的合并規(guī)則為文件I描述頭+文件I數(shù)據(jù)+文件2描述頭+文件2數(shù)據(jù)…文件η描述頭+文件N數(shù)據(jù),所述
1、2……N對應(yīng)flash配置文件里規(guī)定的各個flash設(shè)備的分區(qū)。上述升級文件描述頭信息包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件屬性值、FLASH設(shè)備號、FLASH設(shè)備屬性值、升級文件偏移地址、數(shù)據(jù)段長度、數(shù)據(jù)段CRC校驗(yàn)值;基于上述,合并后的升級文件的具體結(jié)構(gòu)如下
For(i=0; i〈升級數(shù)據(jù)段個數(shù);i++)
文件頭描述字符串標(biāo)志;
文件頭長度;
文件屬性值;
FLASH設(shè)備號;
FLASH設(shè)備屬性值;
升級文件偏移地址;
數(shù)據(jù)段長度;
數(shù)據(jù)段CRC校驗(yàn)值;
文件數(shù)據(jù);
}其中文件頭長度是指從文件頭描述字符串標(biāo)志開始,到數(shù)據(jù)段CRC校驗(yàn)值字段長度。文件屬性值標(biāo)明該文件是否需要寫入flash :如當(dāng)某次升級只需要升級某個flash 設(shè)備的某個分區(qū),那么就將該分區(qū)的升級文件的文件屬性值設(shè)置為1,其他不需要升級的分區(qū)的升級文件的文件屬性值設(shè)置為O ;當(dāng)需要升級的升級數(shù)據(jù)所在的分區(qū)未在flash配置文件中定義,則將該分區(qū)的升級文件的文件屬性值設(shè)置為2。(由于條件接收系統(tǒng)的升級規(guī)范及其工具有升級容量限制,因此根據(jù)其規(guī)范定義的flash配置文件的容量只是機(jī)頂盒 FLASH容量的一部分。當(dāng)需要升級的數(shù)據(jù)所在的分區(qū)未在flash配置文件中定義,那么則將該分區(qū)的升級文件的文件屬性值設(shè)置為2。)b3.按照上述思想對針對各個flash設(shè)備的升級數(shù)據(jù)進(jìn)行處理b3. I根據(jù)flash配置文件的規(guī)定,依次將flash配置文件里包含flash設(shè)備上的分區(qū)的升級數(shù)據(jù),按先根據(jù)b2定義的結(jié)構(gòu),逐個保存到一個升級文件里。直到最后一個需要真正升級的數(shù)據(jù)被添加。如fIashO設(shè)備上有5個分區(qū),我們只想升級第三個分區(qū),那么合并文件就只需要添加前三個分區(qū)。后面的兩個分區(qū)及其他flash設(shè)備上的分區(qū)均不需要添加。b3. 2當(dāng)某次升級只需要升級某個flash設(shè)備的某個分區(qū),那么就將該分區(qū)的升級文件的文件屬性值設(shè)置為1,并且該文件數(shù)據(jù)使用真實(shí)的升級數(shù)據(jù)。其他不需要升級的分區(qū)的升級文件的文件屬性值設(shè)置為0,且升級數(shù)據(jù)使用OxfT填充。當(dāng)我們需要升級的數(shù)據(jù)分區(qū)不在flash配置文件的規(guī)定里(即超過條件接收系統(tǒng)定義的最大可升級范圍),那么我們就在flash配置文件定義的分區(qū)里,選擇一個分區(qū)大小匹配,且本次不需要升級的分區(qū)來存放該超出支持范圍分區(qū)的升級數(shù)據(jù),并將文件屬性值設(shè)置為2。如b3. I里的示例,分區(qū)I 和2需要將文件屬性值設(shè)置為O,其數(shù)據(jù)直接添加OxfT.若要升級超過64M后的分區(qū)數(shù)據(jù), 那么假如flashO的第I分區(qū)大小適合該分區(qū),那么可以將該分區(qū)的數(shù)據(jù)存放在flashO設(shè)備的第I分區(qū)。假如flashO設(shè)備的第1,2,4分區(qū)大小均不適合,而第5分區(qū)適合,那么則將該分區(qū)數(shù)據(jù)添加到flashO設(shè)備的第5分區(qū)。同時flashO的第5分區(qū)為最后一個分區(qū)。b3. 3升級文件數(shù)據(jù)的長度需要處理。由于我們在flash配置文件里規(guī)定了每個分區(qū)的數(shù)據(jù)長度,而合并后的升級文件里每個分區(qū)增加了文件描述頭信息。因此每個分區(qū)真正能夠升級的數(shù)據(jù)長度為flash配置文件里定義的分區(qū)長度減去文件頭長度。如果每個分區(qū)的文件數(shù)據(jù)長度小于flash配置文件里定義的分區(qū)長度減去文件頭長度。那么剩余的長度則用OXff來填充。如果fash設(shè)備屬性值為nandflash,那么升級數(shù)據(jù)長度必須小于分區(qū)長度減去文件頭長度.通常nandflsh分區(qū)需要留十分之一(或者更多)的空白空間用于壞塊備用,這是因?yàn)閚andflash的特性決定的.如果fash設(shè)備屬性值為norflash,那么每個分區(qū)的文件數(shù)據(jù)長度可以等于flash配置文件里定義的分區(qū)長度減去文件頭長度。b2. 3.將合并后的升級文件,使用條件接收系統(tǒng)提供的打包工具,生成升級數(shù)據(jù)流。b2. 4條件接收系統(tǒng)打包工具只會在合并文件的最后添加測試數(shù)據(jù)(前面的數(shù)據(jù)設(shè)計(jì)應(yīng)用程序啟動,不能更改)。C.機(jī)頂盒對升級數(shù)據(jù)的處理步驟Cl.機(jī)頂盒接收完所有升級數(shù)據(jù)后,根據(jù)flash配置文件里的定義來將升級數(shù)據(jù)還原為各個分區(qū)的數(shù)據(jù)。如升級數(shù)據(jù)的前0x60000的數(shù)據(jù)為flash設(shè)備O的第一個分區(qū)數(shù)據(jù)。c2.根據(jù)步驟b2定義的文件頭信息定義,分析出各個分區(qū)的數(shù)據(jù)是否需要寫入 flash.若文件屬性值設(shè)置為0,則該分區(qū)數(shù)據(jù)不寫入flash,若為I,則根據(jù)flash配置文件里的規(guī)定,寫入到相應(yīng)的flash設(shè)備的相對應(yīng)的地址。若為2,則根據(jù)頭信息定義里的flash 設(shè)備號和升級文件偏移地址來進(jìn)行flash寫入。c3.判斷條件接收系統(tǒng)打包工具是否增加了測試數(shù)據(jù)將從升級數(shù)據(jù)流中獲取到升級數(shù)據(jù)的長度與合并文件的長度進(jìn)行判斷,若發(fā)現(xiàn)其比合并文件的數(shù)據(jù)長度長,那么將多出的長度,寫到在flash配置文件規(guī)定的范圍內(nèi)真正升級的分區(qū)或者這個分區(qū)的下一個分區(qū)。如b3. I示例,最后一個可升級的分區(qū)為flashO設(shè)備的第三個分區(qū),那么將多余的數(shù)據(jù)寫到這個第三個分區(qū)的分區(qū)長度減去第三分區(qū)文件頭長度再減去第三分區(qū)數(shù)據(jù)段長度的位置。若多余數(shù)據(jù)的長度大于第三分區(qū)長度減去文件頭長度再減去數(shù)據(jù)段長度,那么將剩余的數(shù)據(jù)先寫入第三個分區(qū)的剩余區(qū)域,然后超過第三分區(qū)剩余區(qū)域的數(shù)據(jù)依次寫入到第四分區(qū)。c4.各個分區(qū)數(shù)據(jù)寫入后,根據(jù)flash配置文件的規(guī)定,將各flash設(shè)備上的各分區(qū)的數(shù)據(jù)讀出來并計(jì)算出CRC校驗(yàn)值,寫入到分區(qū)信息校驗(yàn)數(shù)據(jù)區(qū)內(nèi)。D.升級后機(jī)頂盒的啟動校驗(yàn)。在機(jī)頂盒重啟后,啟動loader根據(jù)flash配置文件里的規(guī)定,將各個flash設(shè)備上的各分區(qū)的數(shù)據(jù)讀出來并計(jì)算出CRC校驗(yàn)值,并與flash設(shè)備上原有的分區(qū)信息校驗(yàn)數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行比較, 若相同則正常啟動,若不同則標(biāo)識升級異常。
權(quán)利要求
1.一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,包括以下步驟 a.機(jī)頂盒開發(fā)商根據(jù)機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建flash配置文件; b.機(jī)頂盒開發(fā)商按照flash配置文件中的定義將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件中,形成合并后的升級文件,并提供給前端系統(tǒng); c.前端系統(tǒng)將合并后的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流并下發(fā); d.機(jī)頂盒接收升級數(shù)據(jù)流,根據(jù)flash配置文件中的定義還原針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù); e.機(jī)頂盒根據(jù)相關(guān)信息對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash分區(qū)的處理。
2.如權(quán)利要求I所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,該方法還包括步驟 f.機(jī)頂盒根據(jù)flash配置文件中的定義將flash設(shè)備的各分區(qū)的升級數(shù)據(jù)讀取出來,并計(jì)算CRC校驗(yàn)值,寫入到分區(qū)信息數(shù)據(jù)校驗(yàn)區(qū)內(nèi); g.機(jī)頂盒重啟,再次根據(jù)flash配置文件中的定義將flash設(shè)備的各分區(qū)的升級數(shù)據(jù)讀取出來,并計(jì)算CRC校驗(yàn)值,與分區(qū)信息數(shù)據(jù)校驗(yàn)區(qū)內(nèi)存儲的CRC校驗(yàn)值進(jìn)行比較,如果相同,則升級成功,機(jī)頂盒正常啟動;如果不相同,則升級失敗,返回步驟a。
3.如權(quán)利要求I或2所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,步驟a具體包括 al.機(jī)頂盒開發(fā)商確定機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域; a2.機(jī)頂盒開發(fā)商根據(jù)flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建flash配置文件,并定義每個數(shù)據(jù)塊具體屬于哪個flash設(shè)備上的哪個使用區(qū)域,所述flash配置文件中定義了數(shù)據(jù)塊的偏移地址和長度。
4.如權(quán)利要求3所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,步驟b中,將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件后,該合并后的升級文件包括n個升級文件描述頭和n個文件數(shù)據(jù);各分區(qū)的升級數(shù)據(jù)的合并規(guī)則為文件I描述頭+文件I數(shù)據(jù)+文件2描述頭+文件2數(shù)據(jù)…文件n描述頭+文件n數(shù)據(jù),所述n對應(yīng)flash配置文件里規(guī)定的各個flash設(shè)備的分區(qū)。
5.如權(quán)利要求4所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,所述升級文件描述頭包含以下字段文件頭描述字符串標(biāo)志、文件頭長度、文件屬性值、flash設(shè)備號、flash設(shè)備屬性值、升級文件偏移地址、數(shù)據(jù)段長度、數(shù)據(jù)段CRC校驗(yàn)值。
6.如權(quán)利要求5所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,所述文件屬性值標(biāo)明該文件是否需要寫入flash :當(dāng)需要升級某個flash設(shè)備的某個分區(qū)時,那么就將針對該分區(qū)的升級文件的文件屬性值設(shè)置為1,將其他不需要升級的分區(qū)的升級文件的文件屬性值設(shè)置為O ;當(dāng)需要升級的分區(qū)對應(yīng)的升級文件不在flash配置文件的規(guī)定里且需要寫入flash,則將針對該分區(qū)的升級文件的文件屬性值設(shè)置為2。
7.如權(quán)利要求6所述的一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,其特征在于,步驟e中,機(jī)頂盒根據(jù)相關(guān)信息對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash分區(qū)的處理的具體方法是機(jī)頂盒讀取針對各分區(qū)的升級文件的文件屬性值值,若文件屬性值值為O,則該分區(qū)的升級文件不寫入flash ;若文件屬性值值為1,則根據(jù)flash配置文件里的規(guī)定,將該分區(qū)的升級文件寫入到相應(yīng)的flash設(shè)備的相應(yīng)地址;若文件屬性值值為2,則根據(jù)該分區(qū)的升級文件的頭信息定義的flash設(shè)備號和升級文件偏移地址來寫入到flash設(shè)備 的相應(yīng)地址。
全文摘要
本發(fā)明涉及數(shù)字電視機(jī)頂盒,其公開了一種支持多flash設(shè)備的機(jī)頂盒軟件升級方法,在現(xiàn)有的條件接收系統(tǒng)升級規(guī)范下支持多flash設(shè)備升級,突破升級容量限制,且能實(shí)現(xiàn)靈活升級。其技術(shù)方案的要點(diǎn)可概括為a.機(jī)頂盒開發(fā)商根據(jù)機(jī)頂盒使用的flash設(shè)備個數(shù)和各flash設(shè)備的使用區(qū)域構(gòu)建配置文件;b.按照配置文件中的定義將針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù)合并保存在一個升級文件中,形成合并后的升級文件,并提供給前端系統(tǒng);c.前端系統(tǒng)將合并后的升級文件進(jìn)行打包,生成升級數(shù)據(jù)流并下發(fā);d.機(jī)頂盒接收升級數(shù)據(jù)流,根據(jù)配置文件中的定義還原針對機(jī)頂盒的flash設(shè)備的各分區(qū)的升級數(shù)據(jù);e.對各分區(qū)的升級數(shù)據(jù)進(jìn)行寫入相應(yīng)flash分區(qū)的處理。本發(fā)明適用于機(jī)頂盒生產(chǎn)商。
文檔編號H04N21/458GK102622250SQ20121005809
公開日2012年8月1日 申請日期2012年3月7日 優(yōu)先權(quán)日2012年3月7日
發(fā)明者周志武, 楊艷輝, 熊建勇 申請人:四川長虹電器股份有限公司