跨屆大俠
  
- 積分
- 7658
- 威望
- 4580
- 貢獻
- 3078
- 兌換幣
- 3026
- 注冊時(shí)間
- 2019-6-22
- 在線(xiàn)時(shí)間
- 0 小時(shí)
|
Cheap_flash_fs(高端版)--嵌入式FAT16/32文件系統免費源碼下載
本代碼兼容FAT16/FAT32文件系統共計兩種格式,兼容微軟的長(cháng)文件名,
支持中文的文件名(帶有GB2312/UNICODE轉換碼表,要占用ROM大小170KB)
支持多級的子目錄,支持文件的讀取,寫(xiě)入,刪除,創(chuàng )建等等文件系統常用功能。
總之,本文件系統全部使用C代碼編寫(xiě),VC仿真測試,通過(guò)各種的單片機C編譯器,移植去各種單片機平臺應用我們的文件系統的模塊。
(本代碼是由我們提供的源代碼,用戶(hù)可根據需要進(jìn)行研究,測試,應用本代碼。并可用于商業(yè)產(chǎn)品上。
如果您需要和作者聯(lián)系,可通過(guò)以下提供的聯(lián)系方式聯(lián)系。
qq:292942278 e-mail:tony_yang123@sina.com
==新增加功能函數==
1.增加了一個(gè)磁盤(pán)刪除的演示代碼
2.GetEntryFromDirectory()增加了不需要讀扇區模式,不用每次調用GetEntryFromDirectory()都讀扇區,比如說(shuō)加快打開(kāi)文件的速度
3.建短文件名的時(shí)候區分大小寫(xiě)(擴展名和文件名的大小寫(xiě)可以不一樣,同樣建短文件名),如果是短文件名大小寫(xiě)都有則建長(cháng)文件名。
create_file("aaaaaa.TXT");創(chuàng )建短文件名
create_file("BBBBBB.txt");創(chuàng )建短文件名
create_file("aaaBaa.TXT");因為文件名有大小寫(xiě),創(chuàng )建長(cháng)文件名
create_file("aaaaaa.TxT");因為擴展名有大小寫(xiě),創(chuàng )建長(cháng)文件名
4.優(yōu)化了f_seek()函數,一次最大移2G個(gè)字節
5.優(yōu)化了函數Write_LongFileName_Entry()從一個(gè)目錄項寫(xiě)一次扇區,修改為同一個(gè)扇區內的目錄項寫(xiě)一次扇區,加快建文件的速度.
6.函數Add_A_Directory_Entry_()的條件if(len == 1 || !flag)改成if(len == 1 && !flag),去除重復檢查文件名.
7.加入了include目錄".\",防止編譯出錯.
8.優(yōu)化了函數Allocate_EMPTY_CLUSTER_TO_CUR_CLUSTER_CHAIN(),分配簇同一個(gè)扇區的簇記錄只寫(xiě)2次扇區
9.優(yōu)化了多簇分配函數,多簇處理變得簡(jiǎn)單
10.優(yōu)化了兩個(gè)單簇分配函數,單簇處理變得簡(jiǎn)單
11.建目錄時(shí),目錄的首簇號分配放到尋道成功再分配
12.fill_fat_table()加了參數u32 buf_sector_num判斷,一般情況下可以少讀一個(gè)扇區,加快簇分配的速度
13.Remove_LONGFILENAME()的時(shí)候if(CORE[disk_id].offset==512)判斷,防止地址越界
14.解決了folder_enumeration()的get_file_attribute_2()ATTR_ARCHIVE未設置不能讀出文件大小的BUG
15.解決cd_folder()數字文件名目錄不能進(jìn)入的漏洞
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊
x
|