基于CF卡的嵌入式文件系統:CompactFlash(簡稱CF卡)是一種應用空問廣悶,成奉低的存儲設備。介紹了SEP3203嵌人式處理器和CF卡的接口電路,CF卡的工作原理以盟CF書的驅動程序。FAT文件系統在嵌入式系統中應用越來越廣泛,傳統的8.3格式文件名已經滿足不了某些應用的需求。本發明專利技術說明短文件名和長文件名之間的差異,分析了支持長文件名的數據結構,以CF為存儲介質設計和實現了FAT16文件系統.這一文件系統支持長文件名文件的讀寫操作,有效地解決了嵌入式環境下使用長文件名所存在的問題。
【技術實現步驟摘要】
本專利技術涉及基于CF卡的嵌入式文件系統,本專利技術說明短文件名和長文件名之間的差異,分析了支持長文件名的數據結構,以CF為存儲介質設計和實現了 FAT16文件系統.這一文件系統支持長文件名文件的讀寫操作,有效地解決了嵌入式環境下使用長文件名所存在的問題。
技術介紹
隨著電子技術、計算機技術的飛速發展,嵌入式系統越來越多地出現在消費類、通訊類的電子產品中。嵌入式系統的發展,要求系統能夠存儲和管理大量的數據。SEP3203是東南大學自主研發的一款ARM7TDMI的嵌入式微處理器。SEP3203移動終端應用處理器針對低成本個人移動終端的應用需求,為用戶提供了面向移動終端應用的豐富外設、低功托管理和低成本的外存配置。CF卡是專門為海量存儲設計的的閃存卡,具有成本低、兼容性好等優點。為了 CF卡能夠和Windows系統進行數據交換,實現以FAT16文件系統來驅動基于CF卡的文件操作。FAT文件系統在嵌入式系統中應用越來越廣泛,傳統的8.3格式文件名已經滿足不了某些應用的需求。
技術實現思路
基于上述問題,特此專利技術基于CF卡的嵌入式文件系統.此系統支持長文件名文件的讀寫操作,有效地解決了嵌入式環境下使用長文件名所存在的問題。1.CF卡驅動程序設計;CF卡的瀆寫操作都是通過內部寄存器實現的。CF卡有兩組內部寄存器:命令寄存器組和控制寄存器組。命令寄存器組給磁盤寄存器發送命令并進行數據交換,控制寄存器組用來控制磁盤驅動器。這兩組寄存器是通過CEl和CE2來選擇的。A2 一 AO是寄存器的尋址線。通過地址線A2 — AO和片選CEl和CE2訪問各個寄存器。在讀寫時,IDE接口有兩種工作方式:LBA(邏輯塊地址)和CHS(柱面磁頭/扇區)。這兩種方式由磁頭寄存器的第六位區分。在LBA方式下,系統隱藏扇區是不能訪問的,能訪問的扇區從O柱面、O磁頭、I扇區開始,在LBA方式下為第O號扇區。所有的扇區依次統一編號。CHS(柱面P磁頭P扇區)尋址時,直接輸人相應的柱面P磁頭P扇區數值就可以了。在LBA訪問方式時,要將所要訪問的邏輯扇區值轉換成相應的物理磁道、柱面和扇區號。本設計采用LBA尋址。在O、卡讀寫操作過程中,首先設置瀆寫訪問地址的尋址方式,然后按照所設置的尋址方式分別設置驅動器/磁頭寄存器、柱面低字節寄存器、柱面高字節寄存器、扇區號寄存器以得到瀆寫操作的起始地址。接著設置扇區計數器來決定所要讀寫的數據塊數量,最后以塊為單位對CF卡進行讀寫。2.文件系統的設計;眾多的嵌入式的應用領域涉及到文件的瀆寫,同時CF卡讀卡器一般是在Windows系統下操作。所以必須建立一套文件系統,本設計選取FAT16格式,支持長文件名、中文文件名。(I).CF卡磁盤劃分為:引導扇區,FAT區,根目錄區和數據區。引導扇區占512字節,包括跳轉指令、廠商標識和版本號、BPB、擴展BPB和系統引導程序。FAT區是FAT文件系統用來記磁盤錄數據區簇鏈結構的。根目錄區用來保存目錄信息。數據區保存文件的數據。其中,RS為保留扇區數,FS為FAT表占用扇區數,NF為FAT表備份數,默認是2,DB為根目錄起始扇區,DS為根目錄數,SS為每扇區所占字節數。(2).長文件名的實現;FAT文件系統在長文件名方面的擴展稱為VFAT。傳統的FAT16文件系統只支持8.3格式的文件名。一個8.3格式的文件名目錄格式如表2所示。一個長文件名在目錄上實際上存儲著兩個名字:一個長文件名的別名(短文件名)和一個長文件名。作為別名的短文件名以8.3格式存儲在目錄項中,長文件名則存儲在屬性標志為CFH的若干個目錄項中。其中,短名目錄項使用GR2312碼格式,每個字符需要I個字節空間;長文件名目錄項使用Unicode碼格式,所以必須建立GB2312碼到Unicode碼之間的轉換表。由于在嵌人式領域中,只建立常用3600個漢字的轉換表,通常可以滿足應用的需求了。GB2312碼是規則排列的,而與GB2312碼——對應的Unicode碼是不規則的L6J。所以可以按照GB2312碼的規則建立一張表。當GB2312碼轉換為Unicode碼時,就可以很方便得到偏移量,當Unicode碼轉換為GB2312碼時,就只能通過順序查找整張表。對于一個長文件名來說,短文件名和長文件名都存儲在目錄項中,長文件名目錄按照第一個字節的目錄序列號存儲。其中,關于文件是否存在的判斷如下:先判斷文件名是不是一個長文件名,若不是,則按照傳統方法判斷。若是一個長文件名,先在目錄項查找別名(短文件名)的目錄項,若沒有則打開不成功。若有,再根據長文件名目錄合成一個長文件名,與之比較,若相同,則說明存在這個文件,若不同,則不存在。找到目錄項之后,就可以獲得文件的首簇號,實現文件的讀寫操作。創建一個新文件的過程是:先判斷文件名是不是一個長文件名,若不是,則按照傳統方法創建。若是一個長文件名,則先在目錄項上申請一個足夠大的空間,可以存放別名(短文件名)和長文件名,若沒有空間則失敗。再按照短文件名和長文件名的格式填寫目錄項,返回文件標示符。本文檔來自技高網...
【技術保護點】
基于CF卡的嵌入式文件系統:該系統以CF為存儲介質設計和實現了FAT16文件系統。
【技術特征摘要】
1.關于CF卡的嵌入式文件系統:該系統以CF為存儲介質設計和實現了FAT16文件系統。2.根據權利要求1的基于CF卡的嵌入式文件系統,此系統主要由CF卡驅動程序設計、長文件名的實現進行操作。CF卡的讀寫操作都是通過...
【專利技術屬性】
技術研發人員:楊際榮,
申請(專利權)人:鎮江華揚信息科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。