專利名稱:嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式技術(shù),特別涉及嵌入式設(shè)備文件系統(tǒng)的技術(shù)。
背景技術(shù):
傳統(tǒng)上在開發(fā)嵌入式設(shè)備軟件時,很多都會涉及到文件的簡單讀寫操作,例如機(jī)頂盒軟件中,會使用一些配置文件用于啟動,字庫文件用于顯示文字,很多圖片文件用于顯示界面,若在嵌入式設(shè)備的軟件中要使用文件, 一般是兩種方法第一種方法是做一個完整的文件系統(tǒng),但完整文件系統(tǒng)復(fù)雜而龐大,不能在很多資源有限的環(huán)境中使用,也不一定適合嵌入式軟件環(huán)境的存儲介質(zhì);第二種方法是把眾多的文件數(shù)據(jù)放在指定的存儲地址上,每個文件對應(yīng)一個存儲地址,操作文件時不使用文件名,直接使用地址讀取數(shù)據(jù),這種方法的缺點(diǎn)在于維護(hù)眾多的地址不直觀,不利于管理。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題,就是為了克服目前嵌入式設(shè)備使用文件復(fù)雜的缺點(diǎn),提供一種嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法。 本發(fā)明解決其技術(shù)問題,采用的技術(shù)方案是,嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其特征在于,包括以下步驟
a. 將所有需要讀取和/或?qū)懭氲奈募M(jìn)行分類,將所有只讀文件及可寫文件提取出
來;
b. 在所有可寫文件中預(yù)先寫入最大長度的無效數(shù)據(jù);
c. 判斷步驟a是否提取出了只讀文件,若是則進(jìn)入d步驟,若不是則進(jìn)入e步驟;
d. 將所有只讀文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù),并進(jìn)入e步驟;
e. 將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù);
f. 將所有分區(qū)文件包寫入存儲介質(zhì)上,不同的存儲地址存儲不同的分區(qū)文件包,代表不同的分區(qū);
g. 嵌入式設(shè)備軟件在啟動后建立分區(qū)信息表,將各個分區(qū)中分區(qū)文件包中的包頭信息讀取出來存放在分區(qū)信息表中;
h. 建立每個分區(qū)的分區(qū)文件表,將每個分區(qū)中分區(qū)文件包中的文件表信息讀取出來存放在分區(qū)文件表中;
i.若需要讀寫某文件,則根據(jù)文件系統(tǒng)的分區(qū)信息表中查找分區(qū);
j.根據(jù)該分區(qū)的分區(qū)文件表查找該需讀寫的文件,調(diào)用嵌入式軟件的讀寫操作進(jìn)行讀寫。 具體的,步驟d和/或步驟e所述包頭包括文件系統(tǒng)驗(yàn)證字符、分區(qū)名稱、文件總大小及文件個數(shù)。 進(jìn)一步的,步驟d和/或步驟e所述文件表信息包括各文件的文件名稱、文件偏移地址及文件大小。 具體的,步驟d和/或步驟e所述文件數(shù)據(jù)是根據(jù)文件表信息中的個文件的文件偏移地址和大小進(jìn)行相應(yīng)存放的各文件數(shù)據(jù)。 本發(fā)明的有益效果是,通過上述嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法可以迅速的尋找到需要讀取和/或?qū)懭氲奈募?,由于分區(qū)進(jìn)行存儲,并使用文件名進(jìn)行查找,利于管理,并將只讀文件與可寫文件區(qū)分開來進(jìn)行存儲,避免了在寫入文件時破壞只讀文件,且整體設(shè)計簡單。
具體實(shí)施例方式
下面結(jié)合實(shí)施例,詳細(xì)描述本發(fā)明的技術(shù)方案。 本發(fā)明提供了一種嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,首先將所有需要讀取和/或?qū)懭氲奈募M(jìn)行分類,將所有只讀文件及可寫文件提取出來,并在所有可寫文件中預(yù)先寫入最大長度的無效數(shù)據(jù),其次判斷是否提取出了只讀文件,若是則將所有只讀文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包并將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,若不是則將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù),再將所有分區(qū)文件包寫入存儲介質(zhì)上,不同的存儲地址存儲不同的分區(qū)文件包,代表不同的分區(qū),然后嵌入式設(shè)備軟件在啟動后建立分區(qū)信息表,將各個分區(qū)中分區(qū)文件包中的包頭信息讀取出來存放在分區(qū)信息表中,并建立每個分區(qū)的分區(qū)文件表,將每個分區(qū)中分區(qū)文件包中的文件表信息讀取出來存放在分區(qū)文件表中,若需要讀寫某文件,則根據(jù)文件系統(tǒng)的分區(qū)信息表中查找分區(qū),并根據(jù)該分區(qū)的分區(qū)文件表查找該需讀寫的文件,調(diào)用嵌入式軟件的讀寫操作進(jìn)行讀寫。
實(shí)施例 本例的包頭包括文件系統(tǒng)驗(yàn)證字符、分區(qū)名稱、文件總大小及文件個數(shù);文件表信息包括各文件的文件名稱、文件偏移地址及文件大?。晃募?shù)據(jù)是根據(jù)文件表信息中的個文件的文件偏移地址和大小進(jìn)行相應(yīng)存放的各文件數(shù)據(jù)。 首先將所有需要讀取和/或?qū)懭氲奈募M(jìn)行分類,將所有只讀文件及可寫文件提取出來,并在所有可寫文件中預(yù)先寫入最大長度的無效數(shù)據(jù),其次判斷是否提取出了只讀文件,若是則將所有只讀文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包并將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,若不是則將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù),其中,包頭包括文件系統(tǒng)驗(yàn)證字符、分區(qū)名稱、文件總大小及文件個數(shù),文件系統(tǒng)驗(yàn)證字符為8個字節(jié),分區(qū)名稱為16個字節(jié),文件總大小為4個字節(jié),文件個數(shù)為4個字節(jié),文件表信息包括各文件的文件名稱、文件偏移地址及文件大小,文件名稱為32個字節(jié),文件偏移地址為4個字節(jié),文件大小為4個字節(jié),文件數(shù)據(jù)是根據(jù)文件表信息中的個文件的文件偏移地址和大小進(jìn)行相應(yīng)存放的各文件數(shù)據(jù),再將所有分區(qū)文件包寫入存儲介質(zhì)上,不同的存儲地址存儲不同的分區(qū)文件包,代表不同的分區(qū),然后嵌入式設(shè)備軟件在啟動后建立分區(qū)信息表,將各個分區(qū)中分區(qū)文件包中的包頭信息讀取出來存放在分區(qū)信息表中,并建立每個分區(qū)的分區(qū)文件表,將每個分區(qū)中分區(qū)文件包中的文件表信息讀取出來存放在分區(qū)文件表中,若需要讀寫某文件,則根據(jù)需要文件的文件名中的分區(qū)名稱與文件系統(tǒng)的分區(qū)信息表中的分區(qū)名稱進(jìn)行匹配查找分區(qū),并根據(jù)需要文件的文件名中的文件名稱與該分區(qū)的分區(qū)文件表中的文件名稱匹配查找到該需讀寫的文件,調(diào)用嵌入式軟件的讀寫操作進(jìn)行讀寫。
權(quán)利要求
嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其特征在于,包括以下步驟a.將所有需要讀取和/或?qū)懭氲奈募M(jìn)行分類,將所有只讀文件及可寫文件提取出來;b.在所有可寫文件中預(yù)先寫入最大長度的無效數(shù)據(jù);c.判斷步驟a是否提取出了只讀文件,若是則進(jìn)入d步驟,若不是則進(jìn)入e步驟;d.將所有只讀文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù),并進(jìn)入e步驟;e.將所有可寫文件按照固定格式根據(jù)系統(tǒng)需要打包成至少一個分區(qū)文件包,所述分區(qū)文件包包括包頭、文件表信息及文件數(shù)據(jù);f.將所有分區(qū)文件包寫入存儲介質(zhì)上,不同的存儲地址存儲不同的分區(qū)文件包,代表不同的分區(qū);g.嵌入式設(shè)備軟件在啟動后建立分區(qū)信息表,將各個分區(qū)中分區(qū)文件包中的包頭信息讀取出來存放在分區(qū)信息表中;h.建立每個分區(qū)的分區(qū)文件表,將每個分區(qū)中分區(qū)文件包中的文件表信息讀取出來存放在分區(qū)文件表中;i.若需要讀寫某文件,則根據(jù)文件系統(tǒng)的分區(qū)信息表中查找分區(qū);j.根據(jù)該分區(qū)的分區(qū)文件表查找該需讀寫的文件,調(diào)用嵌入式軟件的讀寫操作進(jìn)行讀寫。
2. 根據(jù)權(quán)利要求1所述嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其特征在于,步驟d和/或步驟e所述包頭包括文件系統(tǒng)驗(yàn)證字符、分區(qū)名稱、文件總大小及文件個數(shù)。
3. 根據(jù)權(quán)利要求1所述嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其特征在于,步驟d和/或步驟e所述文件表信息包括各文件的文件名稱、文件偏移地址及文件大小。
4. 根據(jù)權(quán)利要求1或2或3所述嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其特征在于,步驟d和/或步驟e所述文件數(shù)據(jù)是根據(jù)文件表信息中的個文件的文件偏移地址和大小進(jìn)行相應(yīng)存放的各文件數(shù)據(jù)。
全文摘要
本發(fā)明涉及嵌入式技術(shù)。本發(fā)明解決了目前嵌入式設(shè)備使用文件復(fù)雜的問題,提供了一種嵌入式設(shè)備文件系統(tǒng)實(shí)現(xiàn)方法,其技術(shù)方案可概括為將所有文件按照固定格式打包成至少一個分區(qū)文件包,其中只讀文件和可寫文件必須分開打包,再將所有分區(qū)文件包寫入存儲介質(zhì)上,不同的存儲地址存儲不同的分區(qū)文件包,在啟動后建立分區(qū)信息表,將各分區(qū)中分區(qū)文件包中的包頭信息存放在分區(qū)信息表中,并建立每個分區(qū)的分區(qū)文件表,將各分區(qū)中分區(qū)文件包中的文件表信息存放在分區(qū)文件表中,若需要讀寫某文件,則根據(jù)分區(qū)信息表中查找分區(qū),并根據(jù)分區(qū)文件表查找該需讀寫的文件,調(diào)用讀寫操作進(jìn)行讀寫。其有益效果是,設(shè)計簡單,適用于嵌入式設(shè)備文件系統(tǒng)。
文檔編號G06F17/30GK101777077SQ201010114859
公開日2010年7月14日 申請日期2010年2月26日 優(yōu)先權(quán)日2010年2月26日
發(fā)明者常呂倫, 郝建偉, 靳國榮 申請人:四川長虹電器股份有限公司