两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種對嵌入式程序進行無損壓制的裝置和方法

文檔序號:6435442閱讀:219來源:國知局
專利名稱:一種對嵌入式程序進行無損壓制的裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,更具體地說,是應(yīng)用于嵌入式系統(tǒng)的一種文件組織方式,為對嵌入式程序進行無損壓制的裝置和方法。
背景技術(shù)
現(xiàn)代電子技術(shù)的高速發(fā)展,使得嵌入式產(chǎn)品隨處可見,而為了縮短嵌入式系統(tǒng)和 PC間的處理能力的差異,為嵌入式系統(tǒng)專門開發(fā)的各種技術(shù)應(yīng)運而生,而嵌入式文件系統(tǒng)作為嵌入式存儲部分的接口,尤其重要。而現(xiàn)在嵌入式系統(tǒng)存在以下問題1、嵌入式文件系統(tǒng)有FAT,YAFFS,JFFS,也有直接對存儲塊進行讀寫的直接操作方法。由于各種文件組織方式的差異,使得應(yīng)用程序中調(diào)用存儲在不同的格式的文件系統(tǒng)的文件,采用的API接口并不一致,錯誤機制也不盡相同,所以在軟件可讀性和維護性上來說非常不便。2、嵌入式文件系統(tǒng)的數(shù)據(jù)完整性保證隨著存儲硬件的不同而存在差異,為了加快訪問速度沒有像PC做完整的校驗,所以在可能存在訪問數(shù)據(jù)錯誤風(fēng)險,并不能保證文件存儲讀取的正確性。3、嵌入式文件系統(tǒng),由于采用存儲電路,不同的組織方式存在不同的加載速度,特別在多文件尋址的時候,時間差異非常大,而如果是一個文件的形式連續(xù)存儲的話,讀寫的速度差異則相對較小。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明公開一種對嵌入式程序進行無損壓制的裝置和方法,可以方便、 快捷、準確的實現(xiàn)嵌入式程序的無損壓制。所述對嵌入式程序進行無損壓制的裝置包括文件檢索單元,用于從文件根目錄對所包含文件進行逐級查找,對查找到符合要求的文件,記錄其路徑、名稱及大小等信息,通過檢索亦可獲取到所有文件的總數(shù)量信息;文件壓制單元,用于對文件進行打包并壓制。文件校驗單元,用于將所有要壓制的數(shù)據(jù)進行CRC校驗計算,然后將計算的校驗值追加到壓制數(shù)據(jù)后,以便解壓時對所壓制的數(shù)據(jù)進行完整和正確性的判斷。文件解壓和還原單元,用于將壓制生成后的文件下載或燒錄到嵌入式文件系統(tǒng)上,在嵌入式系統(tǒng)內(nèi)對該壓制文件進行解壓和還原操作。所述嵌入式程序進行無損壓制的裝置中所述的文件路徑可為PC系統(tǒng)上的文件路徑或存儲硬件上的文件路徑。本發(fā)明還公開一種對嵌入式程序進行無損壓制的方法,所述方法包括如下步驟A、訪問文件根目錄并逐級查找各嵌入式文件進行逐級查找,同時記錄文件的路徑、大小,并在最后記錄文件的總數(shù)量;B、根據(jù)檢索到的文件,在文件頭部信息中記錄所需信息,選擇加載類型進行數(shù)據(jù)加載,讀取文件內(nèi)容;C、用于將所有要壓制的數(shù)據(jù)進行CRC校驗計算,然后將計算的校驗值追加到壓制數(shù)據(jù)后,以便解壓時對所壓制的數(shù)據(jù)進行完整和正確性的判斷;D、將壓制生成后的文件下載或燒錄到嵌入式文件系統(tǒng)上,在嵌入式系統(tǒng)內(nèi)對該壓制文件進行解壓和還原操作。進一步的步驟A中所述查找可以查找PC系統(tǒng)上文件路徑或存儲硬件上文進件路徑。進一步的步驟B、C中所述加載為靜態(tài)加載或動態(tài)加載。有益效果 提高嵌入式文件裝載速度,統(tǒng)一程序訪問API,確保數(shù)據(jù)正確訪問,提供多種加載方式。


圖1為對嵌入式程序進行無損壓制的裝置原理框圖;圖2為對嵌入式程序進行無損壓制的裝置及方法流程圖;圖3為對嵌入式程序進行無損壓制的裝置及方法所查找、記錄文件信息結(jié)構(gòu)圖。
具體實施例方式本發(fā)明是提出一種多文件結(jié)構(gòu)的組織形式。以固定的形式在PC機上對文件進行檢索,校驗并壓制。這種實現(xiàn)依賴于本方法能夠?qū)⒁粋€數(shù)據(jù)塊頭和每個數(shù)據(jù)塊關(guān)聯(lián)起來。每個文件都由一個數(shù)據(jù)塊頭與之相對應(yīng),數(shù)據(jù)塊頭中保存了文件的信息如程序類型,數(shù)據(jù)結(jié)構(gòu),文件數(shù)量,壓縮標(biāo)志,靜態(tài)尺寸等,用于錯誤檢測和壞塊處理。本發(fā)明充分考慮到了各種嵌入式文件系統(tǒng)的特點,在PC上將嵌入式程序所需要的所有數(shù)據(jù)資源文件全部壓制打包具體實施例用C語言進行描述其步驟如下使用自定義查找函數(shù)根據(jù)入口函數(shù)提供的根目錄向下進行一級一級查找,同時記錄文件的路徑、大小,并在最后記錄文件的總數(shù)量。當(dāng)查找結(jié)束后,進行文件壓制。使用自定義的壓制函數(shù),在內(nèi)部實現(xiàn)壓制文件的創(chuàng)建,文件頭部信息的記錄,并在查找函數(shù)提供的各個文件路徑下記錄相應(yīng)的文件內(nèi)容,該函數(shù)可以同時實現(xiàn)靜態(tài)加載和動態(tài)加載功能,用戶可依據(jù)其嵌入式設(shè)備的內(nèi)存大小及加載時間要求來選擇加載類型。在該壓制函數(shù)中,還分級做了 CRC校驗,確保文件頭信息寫入、加載、記錄文件內(nèi)容時準確無誤后再壓制到指定一個文件中。再將該文件下載或燒錄到嵌入式文件系統(tǒng)上,并在嵌入式程序內(nèi)根據(jù)方法指令做解壓和還原。具體用C語言可做如下定義描述typedef struct MERGEFORMAT{
char STU_HEAD[30]; //文件頭部信息 unsigned int Ver; unsigned mt BuildData; unsigned int BuildTime;
unsigned int ProgType; //程,予類型,ucos 或 linux unsigned int FileCount; //文件數(shù)量 unsigned int isCompress; //Bs縮稱忐,NULL 為イヽ壓縮 unsigned int STLSIZE; //靜態(tài)庫尺寸 }TMF;
tvpedef struct TAreainfo { char riame[255];
unsigned int CompileType;//編譯類型,1靜態(tài)加載,O動態(tài)加載,可釋放 unsigned xnt BuildData; unsigned mt BuildTime; unsigned mt offset; unsigned int filesize; void *pInfo; }TAreaInfo;
權(quán)利要求
1.一種對嵌入式程序進行無損壓制的裝置,其特征在于,所述裝置包括文件檢索單元,用于從文件根目錄對所包含文件進行逐級查找,對查找到符合要求的文件,記錄其路徑、名稱及大小等信息,通過檢索亦可獲取到所有文件的總數(shù)量信息;文件壓制單元,用于對文件進行打包并壓制。文件校驗單元,用于將所有要壓制的數(shù)據(jù)進行CRC校驗計算,然后將計算的校驗值追加到壓制數(shù)據(jù)后,以便解壓時對所壓制的數(shù)據(jù)進行完整和正確性的判斷。文件解壓和還原單元,用于將壓制生成后的文件下載或燒錄到嵌入式文件系統(tǒng)上,在嵌入式系統(tǒng)內(nèi)對該壓制文件進行解壓和還原操作。
2.如權(quán)利要求1所述嵌入式程序進行無損壓制的裝置,其特征在于,所述的文件路徑可為PC系統(tǒng)上的文件路徑或存儲硬件上的文件路徑。
3.一種對嵌入式程序進行無損壓制的方法,其特征在于,所述方法包括如下步驟A、訪問文件根目錄并逐級查找各嵌入式文件進行逐級查找,同時記錄文件的路徑、大小,并在最后記錄文件的總數(shù)量;B、根據(jù)檢索到的文件,在文件頭部信息中記錄所需信息,選擇加載類型進行數(shù)據(jù)加載, 讀取文件內(nèi)容;C、用于將所有要壓制的數(shù)據(jù)進行CRC校驗計算,然后將計算的校驗值追加到壓制數(shù)據(jù)后,以便解壓時對所壓制的數(shù)據(jù)進行完整和正確性的判斷;D、將壓制生成后的文件下載或燒錄到嵌入式文件系統(tǒng)上,在嵌入式系統(tǒng)內(nèi)對該壓制文件進行解壓和還原操作。
4.如權(quán)利要求3所述對嵌入式程序進行無損壓制的方法,其特征在于,步驟A中所述查找可以查找PC系統(tǒng)上文件路徑或存儲硬件上文件路徑。
5.如權(quán)利要求3所述對嵌入式程序進行無損壓制的方法,其特征在于,步驟B、C中所述加載為靜態(tài)加載或動態(tài)加載。
全文摘要
本發(fā)明公開了一種對嵌入式程序進行無損壓制的裝置和方法,是應(yīng)用于嵌入式系統(tǒng)的一種文件組織方式。所述裝置包括包括文件檢索單元,用于從文件根目錄對所包含文件進行逐級查找,對查找到符合要求的文件,記錄其路徑、名稱及大小等信息,通過檢索亦可獲取到所有文件的總數(shù)量信息;文件壓制單元;文件校驗單元;文件解壓和還原單元,用于將壓制生成后的文件下載或燒錄到嵌入式文件系統(tǒng)上,在嵌入式系統(tǒng)內(nèi)對該壓制文件進行解壓和還原操作。所述方法包括對嵌入式程序進行檢索、壓制、校驗和解壓還原。本發(fā)明具備提高嵌入式文件裝載速度,統(tǒng)一程序訪問API,確保數(shù)據(jù)正確訪問,提供多種加載方式。
文檔編號G06F17/30GK102360381SQ201110308759
公開日2012年2月22日 申請日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者曾逸, 楊基鵬, 江小玲 申請人:深圳眾為興技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜阳县| 防城港市| 桑日县| 陇南市| 监利县| 阿拉善右旗| 连城县| 芦溪县| 民勤县| 抚顺市| 商南县| 射洪县| 桂东县| 腾冲县| 措美县| 岳池县| 溧水县| 上思县| 陕西省| 铁力市| 平远县| 中江县| 屏东市| 汽车| 云梦县| 绩溪县| 黄山市| 东至县| 莆田市| 东乌珠穆沁旗| 息烽县| 武威市| 南昌市| 平阳县| 民丰县| 丹巴县| 石嘴山市| 太白县| 航空| 石景山区| 深泽县|