專利名稱:軟件解壓縮啟動方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式技術(shù),特別涉及一種通過軟件壓縮解壓縮技術(shù)實現(xiàn)數(shù)字機頂盒主應(yīng)用 軟件啟動的方法。
技術(shù)背景隨著嵌入式產(chǎn)品的廣泛使用,如現(xiàn)在常用的機頂盒。由于人們對嵌入式產(chǎn)品的軟件應(yīng)用 功能不斷增加,而且越來越復(fù)雜,使得其應(yīng)用軟件越來越龐大,需要大的FLASH存儲器資 源來存貯相應(yīng)的應(yīng)用軟件。而采用現(xiàn)有的嵌入式產(chǎn)品的軟件啟動的方法,在增加嵌入式產(chǎn)品 的應(yīng)用軟件的軟件功能的同時提升了其硬件成本。如機頂盒的軟件在FLASH存儲器中的劃分 主要包括裝載軟件和主應(yīng)用軟件兩大軟件模塊,裝載軟件主要是實現(xiàn)下載新軟件和啟動主應(yīng) 用軟件的功能;主應(yīng)用軟件實現(xiàn)客戶的應(yīng)用需求。其中大部分FLASH存儲器空間分配給主應(yīng) 用軟件。現(xiàn)有的機頂盒軟件啟動方法為首先加電,然后執(zhí)行裝載程序第一條指令,再跳轉(zhuǎn) 到FLASH存儲器中主應(yīng)用程序第一條指令,拷貝主應(yīng)用程序和數(shù)據(jù)到內(nèi)存,跳轉(zhuǎn)到內(nèi)存的主 應(yīng)用程序和數(shù)據(jù),執(zhí)行主應(yīng)用程序。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是,針對在增加機頂盒的應(yīng)用軟件的軟件功能會導(dǎo)致硬件成 本的提升的問題,提供一種軟件解壓縮啟動方法。本發(fā)明解決所述技術(shù)問題采用的技術(shù)方案是,軟件解壓縮啟動方法,其特征在于,包括 下列步驟;a、 壓縮主應(yīng)用程序并寫入FLASH存儲器;b、 執(zhí)行裝載程序第一條指令;b、 從FLASH存儲器中讀取的所述主應(yīng)用程序;c、 解壓主應(yīng)用程序到內(nèi)存,跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序第一條指令;d、 拷貝主應(yīng)用程序和數(shù)據(jù)到內(nèi)存;e、 跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序和數(shù)據(jù),執(zhí)行主應(yīng)用程序;進(jìn)一步的,所述步驟a中,壓縮后的主應(yīng)用程序?qū)懭隖LASH存儲器的指定位置。 本發(fā)明的有益效果是,在不增加FLASH存儲器資源、內(nèi)存資源的前提下,增加了嵌入式 產(chǎn)品的應(yīng)用軟件功能。
具體實施方式
以下結(jié)合具體實施方式
對本發(fā)明作進(jìn)一步說明。將本發(fā)明應(yīng)用在機頂盒軟件啟動上。在計算機上生成一個用于壓縮二進(jìn)制文件的壓縮軟 件,對主應(yīng)用程序進(jìn)行壓縮。修改主應(yīng)用程序的makefile和配置文件,為了達(dá)到壓縮的目的 ,在內(nèi)存(RAM)位置虛擬為ROM內(nèi)存,用于存放主程序的代碼段和數(shù)據(jù)段,即把編譯生成的機 頂盒的主應(yīng)用程序的代碼段和數(shù)據(jù)段在FLASH存儲器的ROM位置定義在內(nèi)存(RAM)位置。通過 壓縮軟件對編譯成功后的主應(yīng)用程序的二進(jìn)制文件進(jìn)行壓縮,生成壓縮后的主應(yīng)用程序的二 進(jìn)制文件。壓縮后的主應(yīng)用程序的二進(jìn)制文件寫入FLASH存儲器的指定位置,具體的指定位 置在FLASH存儲器使用規(guī)劃時指定。在裝載程序中有對應(yīng)壓縮主應(yīng)用程式的解壓縮算法。機 頂盒軟件啟動流程如下加電后,執(zhí)行裝載程序的第一條指令;然后從FLASH存儲器中讀取壓縮后的主應(yīng)用程序 的二進(jìn)制文件數(shù)據(jù);裝載程序中的解壓縮算法對從FLASH存儲器中讀取的主應(yīng)用程序進(jìn)行解 壓,將解壓的主應(yīng)用程序的代碼段和數(shù)據(jù)段存放到相應(yīng)的內(nèi)存位置,同時跳轉(zhuǎn)到主應(yīng)用程序 代碼段和數(shù)據(jù)段存放內(nèi)存位置的第一條指令;拷貝主應(yīng)用程序和數(shù)據(jù)到指定內(nèi)存;跳轉(zhuǎn)到內(nèi) 存的主應(yīng)用程序和數(shù)據(jù),執(zhí)行主應(yīng)用程序。
權(quán)利要求
1. 軟件解壓縮啟動方法,其特征在于,包括下列步驟;a、壓縮主應(yīng)用程序并寫入FLASH存儲器;b、執(zhí)行裝載程序第一條指令;b、從FLASH存儲器中讀取的所述主應(yīng)用程序;c、解壓主應(yīng)用程序到內(nèi)存,跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序第一條指令;d、拷貝主應(yīng)用程序和數(shù)據(jù)到內(nèi)存;e、跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序和數(shù)據(jù),執(zhí)行主應(yīng)用程序。
2、如權(quán)利要求l所述的軟件解壓縮啟動方法,其特征在于,所述步驟 a中,壓縮后的主應(yīng)用程序?qū)懭隖LASH存儲器的指定位置。
全文摘要
本發(fā)明涉及嵌入式技術(shù)。本發(fā)明針對在增加機頂盒的應(yīng)用軟件的軟件功能會導(dǎo)致硬件成本的提升的問題,公開了一種軟件解壓縮啟動方法。本發(fā)明的技術(shù)方案包括下列步驟a、壓縮主應(yīng)用程序并寫入FLASH存儲器;b、執(zhí)行裝載程序第一條指令;c、從FLASH存儲器中讀取的所述主應(yīng)用程序;d、解壓主應(yīng)用程序到內(nèi)存,跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序第一條指令;e、拷貝主應(yīng)用程序和數(shù)據(jù)到內(nèi)存;f、跳轉(zhuǎn)到內(nèi)存的主應(yīng)用程序和數(shù)據(jù),執(zhí)行主應(yīng)用程序。本發(fā)明用于嵌入式產(chǎn)品,本發(fā)明的有益效果是,在不增加FLASH存儲器資源、內(nèi)存資源的前提下,增加了嵌入式產(chǎn)品的應(yīng)用軟件功能。
文檔編號G06F9/445GK101256501SQ20081030118
公開日2008年9月3日 申請日期2008年4月18日 優(yōu)先權(quán)日2008年4月18日
發(fā)明者強 張, 曾祥根 申請人:四川長虹電器股份有限公司