国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用程序多次壓縮解壓方法

      文檔序號(hào):6373130閱讀:368來(lái)源:國(guó)知局
      專利名稱:一種應(yīng)用程序多次壓縮解壓方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及機(jī)盤上FLASH存儲(chǔ)空間內(nèi)應(yīng)用程序存儲(chǔ)、運(yùn)行技術(shù)領(lǐng)域,具體說(shuō)是一種應(yīng)用程序多次壓縮解壓方法。尤指一種應(yīng)用程序制作時(shí)多次壓縮,啟動(dòng)時(shí)多次解壓的方法。
      背景技術(shù)
      由于機(jī)盤上FLASH存儲(chǔ)空間的大小有限,用于存放應(yīng)用程序的空間往往也限定了大小。為了使較大的應(yīng)用程序能夠存儲(chǔ)在較小的FLASH空間內(nèi),一般情況下制作應(yīng)用程序時(shí)都會(huì)對(duì)應(yīng)用程序進(jìn)行壓縮,當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),CPU不能直接執(zhí)行壓縮后的應(yīng)用程序,所以還需要對(duì)壓縮后的應(yīng)用程序進(jìn)行解壓處理。隨著軟件功能的不斷增加,應(yīng)用程序大小也在不斷加大,會(huì)出現(xiàn)應(yīng)用程序過大而·沒有足夠的FLASH空間存放的問題。如果增大FLASH大小就會(huì)增加硬件成本,而且CPU支持的FLASH空間大小也不是無(wú)限大的,并且已經(jīng)生產(chǎn)使用的機(jī)盤再增加FLASH硬件也是不現(xiàn)實(shí)的,應(yīng)用中就出現(xiàn)了由于應(yīng)用程序過大而導(dǎo)致沒有足夠空間存儲(chǔ)的問題。

      發(fā)明內(nèi)容
      針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種應(yīng)用程序多次壓縮解壓方法,在制作應(yīng)用程序時(shí)多次壓縮,實(shí)現(xiàn)了大的應(yīng)用程序經(jīng)過多次壓縮體積變小,最終實(shí)現(xiàn)小FLASH空間存儲(chǔ)大應(yīng)用程序的目的;當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),壓縮后的應(yīng)用程序自動(dòng)完成多次解壓、拷貝和內(nèi)存清理,最終得到能夠被CPU執(zhí)行的應(yīng)用程序,并且放在正確的內(nèi)存空間,為應(yīng)用程序的執(zhí)行做好準(zhǔn)備;節(jié)省了硬件成本。為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是
      一種應(yīng)用程序多次壓縮解壓方法,其特征在于,包括以下幾個(gè)步驟
      第一步,在制作新版本的應(yīng)用程序時(shí),對(duì)應(yīng)用程序進(jìn)行多次壓縮,以達(dá)到減小新版本的應(yīng)用程序體積的目的,且多次壓縮時(shí)每一次均采用不同的壓縮算法,所述多次指兩次以上;
      多次壓縮的具體步驟如下
      O首先編譯生成沒有壓縮的應(yīng)用程序;
      2)用一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭,該自解壓頭用于當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí)能夠自動(dòng)完成對(duì)本次壓縮的解壓;
      3)根據(jù)需要確定壓縮的總次數(shù),然后用另一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭;
      4)重復(fù)步驟3),直到壓縮次數(shù)等于需要壓縮的總次數(shù),且在執(zhí)行最后一次壓縮時(shí),選用BOOTROM能夠解壓的壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮;
      5)對(duì)最終壓縮好的應(yīng)用程序添加用于檢查和校驗(yàn)的文件頭;
      第二步,當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),對(duì)經(jīng)過多次壓縮的應(yīng)用程序進(jìn)行多次解壓、拷貝和內(nèi)存清理,最終得到CPU能夠執(zhí)行的應(yīng)用程序。在上述技術(shù)方案的基礎(chǔ)上,壓縮后的應(yīng)用程序啟動(dòng)的具體步驟如下
      O板卡啟動(dòng)完成硬件初始化;
      2)BOOTROM拷貝自己到內(nèi)存中;
      3)BOOTROM完成對(duì)最終壓縮好的應(yīng)用程序的第一次解壓,并把解壓后的應(yīng)用程序放在正確的地址空間;
      4)解壓后的應(yīng)用程序包括自解壓頭和壓縮文件兩部分,把自解壓頭和壓縮文件分別拷貝到不同的內(nèi)存空間,實(shí)現(xiàn)壓縮文件和自解壓頭的分離; 5)自解壓頭和壓縮文件拷貝完成后,清理原來(lái)程序占用的內(nèi)存空間;
      6)自解壓頭完成與其對(duì)應(yīng)的壓縮文件的解壓,并再次把解壓后的應(yīng)用程序放在正確的地址空間;
      7)根據(jù)應(yīng)用程序壓縮的總次數(shù),重復(fù)步驟4)、5)和6),依次完成應(yīng)用程序的多次解壓,最終得到能夠被CPU執(zhí)行的沒有壓縮的應(yīng)用程序,并把這個(gè)沒有壓縮的應(yīng)用程序放在能夠被CPU執(zhí)行的內(nèi)存空間;
      8)清理使用過的內(nèi)存,CPU開始執(zhí)行沒有壓縮的應(yīng)用程序,完成沒有壓縮的應(yīng)用程序的啟動(dòng)。在上述技術(shù)方案的基礎(chǔ)上,每次解壓完成后,判斷解壓結(jié)果是否正確,如果正確就進(jìn)行下一步,如果不正確就重新解壓再次判斷,如果連續(xù)三次解壓都不正確,則認(rèn)為應(yīng)用程序損壞。本發(fā)明所述的應(yīng)用程序多次壓縮解壓方法,提供了一套完整的制作時(shí)多次壓縮,啟動(dòng)時(shí)多次解壓及內(nèi)存空間分配方案,在制作應(yīng)用程序時(shí)多次壓縮,實(shí)現(xiàn)了大的應(yīng)用程序經(jīng)過多次壓縮體積變小,最終實(shí)現(xiàn)小FLASH空間存儲(chǔ)大應(yīng)用程序的目的;當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),壓縮后的應(yīng)用程序自動(dòng)完成多次解壓、拷貝和內(nèi)存清理,最終得到能夠被CPU執(zhí)行的應(yīng)用程序,并且放在正確的內(nèi)存空間,為應(yīng)用程序的執(zhí)行做好準(zhǔn)備;該方法能夠在不改變硬件FLASH存儲(chǔ)空間的條件下存儲(chǔ)更大的應(yīng)用程序,這樣既節(jié)省了硬件成本又能滿足原有軟件的兼容。


      本發(fā)明有如下附圖
      圖I 二次壓縮應(yīng)用程序制作過程 圖2 —次壓縮程序啟動(dòng)過程 圖3 二次壓縮程序啟動(dòng)流程 圖4 二次解壓內(nèi)存使用示意圖。
      具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。本發(fā)明所述的應(yīng)用程序多次壓縮解壓方法,包括以下幾個(gè)步驟
      第一步,在制作新版本的應(yīng)用程序時(shí),對(duì)應(yīng)用程序進(jìn)行多次壓縮,以達(dá)到減小新版本的應(yīng)用程序體積的目的,且多次壓縮時(shí)每一次均采用不同的壓縮算法,所述多次指兩次以上;
      多次壓縮的具體步驟如下
      1)首先編譯生成沒有壓縮的應(yīng)用程序,即可以被CPU直接執(zhí)行的應(yīng)用程序,該應(yīng)用程序?yàn)槭讉€(gè)版本,或?qū)Ξ?dāng)前版本的升級(jí);
      2)用一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭,該自解壓頭用于當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí)能夠自動(dòng)完成對(duì)本次壓縮的解壓;
      3)根據(jù)需要確定壓縮的總次數(shù),然后用另一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭;壓縮的總次數(shù)大于等于2 ;
      4)重復(fù)步驟3),直到壓縮次數(shù)等于需要壓縮的總次數(shù),且在執(zhí)行最后一次壓縮時(shí),選用BOOTROM (自動(dòng)啟動(dòng)技術(shù),該技術(shù)用于使存儲(chǔ)于FLASH內(nèi)的程序可自動(dòng)執(zhí)行一次)能夠解壓 的壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮;最后一次壓縮時(shí)選用BOOTRO能夠解壓的壓縮算法是為了保證第一次解壓BOOTROM能夠自己完成;
      5)對(duì)最終壓縮好的應(yīng)用程序添加用于檢查和校驗(yàn)的文件頭;該文件頭用于FLASH燒寫時(shí)文件的檢查和校驗(yàn);
      第二步,當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),對(duì)經(jīng)過多次壓縮的應(yīng)用程序進(jìn)行多次解壓、拷貝和內(nèi)存清理,最終得到CPU能夠執(zhí)行的應(yīng)用程序。需要注意的是,應(yīng)用程序不可能被無(wú)限的壓縮變小。壓縮和解壓必須按照一定的順序進(jìn)行,這個(gè)順序就是先壓縮的后解壓,壓縮和解壓的順序必須一一對(duì)應(yīng)。另外 第一步執(zhí)行完后,該攜帶有用于檢查和校驗(yàn)的文件頭的最終壓縮好的應(yīng)用程序需要燒寫到FLASH內(nèi),然后才能利用BOOTROM技術(shù)執(zhí)行第二步所說(shuō)的“壓縮后的應(yīng)用程序啟動(dòng)”,由于“燒寫到FLASH內(nèi)”不是本發(fā)明的研究重點(diǎn),且可采用現(xiàn)有公知技術(shù)實(shí)施,故不在詳述。在上述技術(shù)方案的基礎(chǔ)上,壓縮后的應(yīng)用程序啟動(dòng)的具體步驟如下
      O板卡啟動(dòng)完成硬件初始化;
      2)BOOTROM拷貝自己到內(nèi)存中;
      3)BOOTROM完成對(duì)最終壓縮好的應(yīng)用程序的第一次解壓,并把解壓后的應(yīng)用程序放在正確的地址空間;
      4)解壓后的應(yīng)用程序包括自解壓頭和壓縮文件兩部分,把自解壓頭和壓縮文件分別拷貝到不同的內(nèi)存空間,實(shí)現(xiàn)壓縮文件和自解壓頭的分離;
      5)自解壓頭和壓縮文件拷貝完成后,清理原來(lái)程序占用的內(nèi)存空間;
      6)自解壓頭完成與其對(duì)應(yīng)的壓縮文件的解壓,并再次把解壓后的應(yīng)用程序放在正確的地址空間;
      7)根據(jù)應(yīng)用程序壓縮的總次數(shù),重復(fù)步驟4)、5)和6),依次完成應(yīng)用程序的多次解壓,最終得到能夠被CPU執(zhí)行的沒有壓縮的應(yīng)用程序,并把這個(gè)沒有壓縮的應(yīng)用程序放在能夠被CPU執(zhí)行的內(nèi)存空間;
      8)清理使用過的內(nèi)存,CPU開始執(zhí)行沒有壓縮的應(yīng)用程序,完成沒有壓縮的應(yīng)用程序的啟動(dòng)。在上述技術(shù)方案的基礎(chǔ)上,每次解壓完成后,判斷解壓結(jié)果是否正確,如果正確就進(jìn)行下一步,如果不正確就重新解壓再次判斷,如果連續(xù)三次解壓都不正確,則認(rèn)為應(yīng)用程序損壞。
      為了減小應(yīng)用程序的體積,本發(fā)明采用了應(yīng)用程序多次壓縮的方法減小體積,程序燒寫進(jìn)FLASH之后,啟動(dòng)時(shí)對(duì)壓縮程序進(jìn)行多次自動(dòng)解壓和拷貝,最終得到可以被CPU執(zhí)行的應(yīng)用程序,并把這個(gè)應(yīng)用程序放在能夠被CPU執(zhí)行的內(nèi)存空間。(I)、壓縮制作應(yīng)用程序。應(yīng)用程序生成后,采用不同的壓縮算法對(duì)應(yīng)用程序進(jìn)行多次壓縮,每次壓縮完成后,需要給壓縮后的應(yīng)用程序添加自解壓頭,自解壓頭能夠當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí)完成本次壓縮的自動(dòng)解壓。最后一次壓縮應(yīng)該采用BOOTROM能夠解壓的壓縮算法,以便BOOTROM能夠完成第一次解壓。程序的壓縮指定了壓縮算法和順序后,在程序編譯時(shí)可以采用壓縮工具自動(dòng)生成壓縮文件和添加自解壓頭,最終生成可以燒寫FLASH的應(yīng)用程序。(2)、程序啟動(dòng)時(shí)解壓應(yīng)用程序。啟動(dòng)時(shí),BOOTROM完成硬件的初始化之后,BOOTROM首先拷貝自己到內(nèi)存,然后開始解壓應(yīng)用程序,BOOTROM完成第一次應(yīng)用程序解壓,并把解壓后的文件放在正確的內(nèi)存空間(這個(gè)解壓后的文件包括自解壓頭和壓縮程序兩部分),然 后分別拷貝自解壓頭和壓縮文件到不同的內(nèi)存空間,實(shí)現(xiàn)自解壓頭和壓縮文件的分離,然后清理拷貝前壓縮程序占用的內(nèi)存空間。自解壓頭再次對(duì)壓縮文件進(jìn)行解壓,并把解壓后的應(yīng)用程序放在能夠被CPU執(zhí)行的內(nèi)存空間。按照上面的步驟,根據(jù)應(yīng)用程序壓縮的次數(shù)對(duì)壓縮程序進(jìn)行多次解壓,解壓次數(shù)和壓縮次數(shù)必須一樣,并且按照先壓縮后解壓的順序進(jìn)行,最終得到能夠被CPU執(zhí)行的應(yīng)用程序,并且放在能夠被CPU執(zhí)行的內(nèi)存空間。程序啟動(dòng)時(shí),自動(dòng)拷貝壓縮文件和自解壓頭到正確的內(nèi)存空間并且完成解壓,經(jīng)過多次解壓和內(nèi)存清理后最終得到可以被CPU執(zhí)行的應(yīng)用程序。(3)、清理內(nèi)存空間。程序在解壓過程中,自解壓頭和壓縮程序都會(huì)占用內(nèi)存空間,當(dāng)一次解壓完成后,需要清理使用過的內(nèi)存空間,以供下次解壓使用,解壓完成后,清理完內(nèi)存之后才能開始執(zhí)行應(yīng)用程序。下面以vxworks操作系統(tǒng)下二次壓縮解壓為例,對(duì)應(yīng)用程序的壓縮制作和解壓?jiǎn)?dòng)過程做詳細(xì)的介紹。兩次壓縮分別采用vxworks的deflate壓縮算法和7zip壓縮算法。例如部分機(jī)盤FLASH里用于存放應(yīng)用程序大小的空間被限制在5M以內(nèi),隨著應(yīng)用程序的不斷增大,經(jīng)過deflate壓縮之后的應(yīng)用程序大小超過了 5M,大小超過了 FLASH空間的限定,不能直接燒寫進(jìn)FLASH,就需要對(duì)應(yīng)用程序進(jìn)行第二次壓縮。壓縮文件的制作過程如圖I所示,在編譯生成xvworks. bin文件之后,首先使用7zip壓縮算法對(duì)文件進(jìn)行第一次壓縮,壓縮完成后,給壓縮后的文件添加自解壓頭,這個(gè)自解壓頭具有解壓7zip壓縮文件的功能。添加了自解壓頭的7zip壓縮文件由于大小還不能滿足FLASH大小的要求,需要對(duì)其進(jìn)行第二次壓縮。第二次壓縮采用vxworks的deflate壓縮算法(如果第二次壓縮后文件大小還不能滿足FLASH大小的要求,就需要進(jìn)行三次壓縮,但最后一次壓縮必須是vxworks BOOTROM能夠解壓的deflate壓縮算法,需要注意的是文件不可能被無(wú)限的壓縮變小,壓縮到一定程度后再次壓縮就沒有多大效果),壓縮完成后需要給壓縮文件添加256字節(jié)文件頭,這個(gè)用于文件的檢查和校驗(yàn)。經(jīng)過二次壓縮,添加了文件頭的壓縮程序大小有3M多,這個(gè)壓縮程序就可以用來(lái)燒寫FLASH。程序啟動(dòng)時(shí),二次壓縮程序的啟動(dòng)要比一次壓縮的啟動(dòng)過程復(fù)雜。首先介紹一次壓縮程序的啟動(dòng)過程。如圖2所示,在vxworks操作系統(tǒng)下,BOOTROM首先完成硬件的初始化,硬件初始化完成之后,BOOTROM就會(huì)拷貝自己到地址為0x100000的內(nèi)存空間,接著程序會(huì)跳轉(zhuǎn)到內(nèi)存執(zhí)行,BOOTROM解壓壓縮程序到地址為0x200000的內(nèi)存空間(B00TR0M能夠解壓deflate壓縮的程序),解壓完成后就跳轉(zhuǎn)到應(yīng)用程序的起始地址開始執(zhí)行應(yīng)用程序。由于經(jīng)過二次壓縮的應(yīng)用程序在啟動(dòng)時(shí)需要進(jìn)行兩次解壓,所以二次壓縮程序的啟動(dòng)比一次壓縮的要復(fù)雜些,如圖3所示,二次壓縮程序的啟動(dòng)在完成硬件的初始化之后,第一次經(jīng)過BOOTROM的解壓,把解壓后的文件放在內(nèi)存地址為0x200000的地址空間,第一次解壓后的應(yīng)用程序仍然是個(gè)壓縮文件,這個(gè)壓縮文件不能被CPU執(zhí)行,所以需要進(jìn)行第二次解壓。經(jīng)過BOOTROM解壓后的文件是7zip壓縮文件,這個(gè)文件由自解壓頭和壓縮文件兩部分組成,首先把7zip的自解壓頭拷貝到地址為0x100000的內(nèi)存空間,把7zip的壓縮文件拷貝到地址為0x7000000的內(nèi)存空間,把自解壓頭和壓縮文件分離開之后,用自解壓頭對(duì)壓縮文件進(jìn)行第二次解壓,把解壓出來(lái)的程序放在地址為0x200000的內(nèi)存空間,這個(gè)解壓后的程序就是CPU能夠執(zhí)行的應(yīng)用程序。清理使用過的內(nèi)存之后,CPU就從內(nèi)存地址為0x200000開始執(zhí)行應(yīng)用程序,完成軟件的啟動(dòng),如果需要進(jìn)行更多次解壓,就按照上面的步驟重復(fù)程序拷貝和解壓即可。在這個(gè)啟動(dòng)過程中,內(nèi)存的使用和程序的拷貝如圖4所示,首先BOOTROM拷貝自己到地址為0x100000的內(nèi)存空間,當(dāng)BOOTROM完成對(duì)應(yīng)用程序的第一次解壓之后,就會(huì)釋放 自己占用的內(nèi)存空間,之后7zip壓縮文件的自解壓頭被拷貝到這個(gè)內(nèi)存空間。BOOTROM解壓出來(lái)的7zip壓縮文件和自解壓頭放在內(nèi)存地址為0x200000的地址空間,當(dāng)自解壓頭和壓縮文件完成拷貝時(shí),這個(gè)地址空間就要被釋放,以便7zip的壓縮文件能夠再次解壓到這個(gè)地址空間(如果需要更多次解壓,只要這樣重復(fù)拷貝程序和清理內(nèi)存空間即可),當(dāng)最后一次解壓完成后,清理解壓前用過的內(nèi)存空間,之后CPU開始執(zhí)行應(yīng)用程序完成啟動(dòng)。上述方法實(shí)現(xiàn)了用較小的FLASH空間存放較大應(yīng)用程序的目的,不但節(jié)省了硬件成本,也有利于程序的兼容。本發(fā)明不局限于上述最佳實(shí)施方式,任何人應(yīng)該得知在本發(fā)明的啟示下作出的結(jié)構(gòu)變化,凡是與本發(fā)明具有相同或相近的技術(shù)方案,均落入本發(fā)明的保護(hù)范圍之內(nèi)。本說(shuō)明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
      權(quán)利要求
      1.一種應(yīng)用程序多次壓縮解壓方法,其特征在于,包括以下幾個(gè)步驟 第一步,在制作新版本的應(yīng)用程序時(shí),對(duì)應(yīng)用程序進(jìn)行多次壓縮,以達(dá)到減小新版本的應(yīng)用程序體積的目的,且多次壓縮時(shí)每一次均采用不同的壓縮算法,所述多次指兩次以上; 多次壓縮的具體步驟如下 1)首先編譯生成沒有壓縮的應(yīng)用程序; 2)用一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭,該自解壓頭用于當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí)能夠自動(dòng)完成對(duì)本次壓縮的解壓; 3)根據(jù)需要確定壓縮的總次數(shù),然后用另一種壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮,給壓縮后的應(yīng)用程序添加自解壓頭; 4)重復(fù)步驟3),直到壓縮次數(shù)等于需要壓縮的總次數(shù),且在執(zhí)行最后一次壓縮時(shí),選用BOOTROM能夠解壓的壓縮算法對(duì)應(yīng)用程序進(jìn)行壓縮; 5)對(duì)最終壓縮好的應(yīng)用程序添加用于檢查和校驗(yàn)的文件頭; 第二步,當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),對(duì)經(jīng)過多次壓縮的應(yīng)用程序進(jìn)行多次解壓、拷貝和內(nèi)存清理,最終得到CPU能夠執(zhí)行的應(yīng)用程序。
      2.如權(quán)利要求I所述的應(yīng)用程序多次壓縮解壓方法,其特征在于,壓縮后的應(yīng)用程序啟動(dòng)的具體步驟如下 1)板卡啟動(dòng)完成硬件初始化; 2)BOOTROM拷貝自己到內(nèi)存中; 3)BOOTROM完成對(duì)最終壓縮好的應(yīng)用程序的第一次解壓,并把解壓后的應(yīng)用程序放在正確的地址空間; 4)解壓后的應(yīng)用程序包括自解壓頭和壓縮文件兩部分,把自解壓頭和壓縮文件分別拷貝到不同的內(nèi)存空間,實(shí)現(xiàn)壓縮文件和自解壓頭的分離; 5)自解壓頭和壓縮文件拷貝完成后,清理原來(lái)程序占用的內(nèi)存空間; 6)自解壓頭完成與其對(duì)應(yīng)的壓縮文件的解壓,并再次把解壓后的應(yīng)用程序放在正確的地址空間; 7)根據(jù)應(yīng)用程序壓縮的總次數(shù),重復(fù)步驟4)、5)和6),依次完成應(yīng)用程序的多次解壓,最終得到能夠被CPU執(zhí)行的沒有壓縮的應(yīng)用程序,并把這個(gè)沒有壓縮的應(yīng)用程序放在能夠被CPU執(zhí)行的內(nèi)存空間; 8)清理使用過的內(nèi)存,CPU開始執(zhí)行沒有壓縮的應(yīng)用程序,完成沒有壓縮的應(yīng)用程序的啟動(dòng)。
      3.如權(quán)利要求2所述的應(yīng)用程序多次壓縮解壓方法,其特征在于每次解壓完成后,判斷解壓結(jié)果是否正確,如果正確就進(jìn)行下一步,如果不正確就重新解壓再次判斷,如果連續(xù)三次解壓都不正確,則認(rèn)為應(yīng)用程序損壞。
      全文摘要
      本發(fā)明涉及一種應(yīng)用程序多次壓縮解壓方法,第一步,在制作新版本的應(yīng)用程序時(shí),對(duì)應(yīng)用程序進(jìn)行多次壓縮,以達(dá)到減小新版本的應(yīng)用程序體積的目的,且多次壓縮時(shí)每一次均采用不同的壓縮算法,所述多次指兩次以上;第二步,當(dāng)壓縮后的應(yīng)用程序啟動(dòng)時(shí),對(duì)經(jīng)過多次壓縮的應(yīng)用程序進(jìn)行多次解壓、拷貝和內(nèi)存清理,最終得到CPU能夠執(zhí)行的應(yīng)用程序。本發(fā)明所述的應(yīng)用程序多次壓縮解壓方法,提供了一套完整的制作時(shí)多次壓縮,啟動(dòng)時(shí)多次解壓及內(nèi)存空間分配方案,能夠在不改變硬件FLASH存儲(chǔ)空間的條件下存儲(chǔ)更大的應(yīng)用程序,這樣既節(jié)省了硬件成本又能滿足原有軟件的兼容。
      文檔編號(hào)G06F11/36GK102779060SQ20121023931
      公開日2012年11月14日 申請(qǐng)日期2012年7月11日 優(yōu)先權(quán)日2012年7月11日
      發(fā)明者吳軍平, 楊帥偉 申請(qǐng)人:烽火通信科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1