日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

说说FATFS文件系统(转)

發(fā)布時(shí)間:2024/4/18 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说说FATFS文件系统(转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說說FATFS文件系統(tǒng)(轉(zhuǎn))

FATFS是一個(gè)為小型嵌入式系統(tǒng)設(shè)計(jì)的通用FAT(File?Allocation?Table)文件系統(tǒng)模塊。FatFs?的編寫遵循ANSI?C,并且完全與磁盤I/O層分開。因此,它獨(dú)立(不依賴)于硬件架構(gòu)。它可以被嵌入到低成本的微控制器中,如AVR,?8051,?PIC,?ARM,?Z80,?68K?等等,而不需要做任何修改。?

?

FatFS文件系統(tǒng)包含了文件

?

ff.h ????????:文件系統(tǒng)實(shí)現(xiàn)頭文件,定義有文件系統(tǒng)所需的數(shù)據(jù)結(jié)構(gòu)

diskio.h ?:底層驅(qū)動(dòng)頭文件,就一些狀態(tài)宏的定義和底層驅(qū)動(dòng)函數(shù)的申明

integer.h:僅實(shí)現(xiàn)數(shù)據(jù)類型重定義,增加系統(tǒng)的可移植性

ffconf.h :文件系統(tǒng)配置

ff.c ?:文件系統(tǒng)實(shí)現(xiàn)。

diskio.c 底層驅(qū)動(dòng)

?

FatFs 提供下面的函數(shù)API:

f_mount - 注冊(cè)/注銷一個(gè)工作區(qū)域(Work Area)

f_open - 打開/創(chuàng)建一個(gè)文件f_close - 關(guān)閉一個(gè)文件

f_read - 讀文件f_write - 寫文件

f_lseek - 移動(dòng)文件讀/寫指針

f_truncate - 截?cái)辔募?/p>

f_sync - 沖洗緩沖數(shù)據(jù) Flush Cached Data

f_opendir - 打開一個(gè)目錄

f_readdir - 讀取目錄條目

f_getfree - 獲取空閑簇 Get Free Clusters

f_stat - 獲取文件狀態(tài)

f_mkdir - 創(chuàng)建一個(gè)目錄

f_unlink - 刪除一個(gè)文件或目錄

f_chmod - 改變屬性(Attribute)

f_utime - 改變時(shí)間戳(Timestamp)

f_rename -?重命名/移動(dòng)一個(gè)文件或文件夾

f_mkfs - 在驅(qū)動(dòng)器上創(chuàng)建一個(gè)文件系統(tǒng)

f_forward - 直接轉(zhuǎn)移文件數(shù)據(jù)到一個(gè)數(shù)據(jù)流 Forward file data to the stream directly

f_gets - 讀一個(gè)字符串

f_putc - 寫一個(gè)字符

f_puts - 寫一個(gè)字符串

f_printf - 寫一個(gè)格式化的字符磁盤I/O接口

f_tell - 獲取當(dāng)前讀/寫指針

f_eof - 測(cè)試一個(gè)文件是否到達(dá)文件末尾

f_size - 獲取一個(gè)文件大小

f_error - 測(cè)試一個(gè)文件是否出錯(cuò)

?

因?yàn)镕atFs模塊完全與磁盤I/O層分開,因此需要下面的函數(shù)來實(shí)現(xiàn)底層物理磁盤的讀寫與獲取當(dāng)前時(shí)間。底層磁盤I/O模塊并不是FatFs的一部分,并且必須由用戶提供。

disk_initialize - Initialize disk drive 初始化磁盤驅(qū)動(dòng)器

disk_status - Get disk status 獲取磁盤狀態(tài)

disk_read - Read sector(s) 讀扇區(qū)

disk_write - Write sector(s) 寫扇區(qū)

disk_ioctl - Control device dependent features 設(shè)備相關(guān)的控制特性

get_fattime - Get current time 獲取當(dāng)前時(shí)間

FatFS系統(tǒng)特性

打開文件數(shù)量:無限制,與可用內(nèi)存有關(guān)。 卷(volume)數(shù)量:最多10個(gè)。?

文件大小:與FAT規(guī)范有關(guān)(最大4G-1字節(jié))。?

卷大小:與FAT規(guī)范有關(guān)(在512字節(jié)/扇區(qū)上,最大2T字節(jié))?

簇(Cluster)大小:與FAT規(guī)范有關(guān)(在512字節(jié)/扇區(qū)上,最大64K字節(jié)) 扇區(qū)(Sector)大小:與FAT規(guī)范有關(guān)(最大4K字節(jié))

創(chuàng)建文件并讀寫的使用例程

1)f_mount(0, &fatFS); ??????????????????????????????????????

2)f_mkfs(0,1,512); ????????????????//創(chuàng)建文件系統(tǒng)

FRESULT f_mkfs (
?BYTE ?Drive, ???????????
?BYTE ?PartitioningRule,?
?WORD ?AllocSize ????????);

?

分區(qū)規(guī)則:當(dāng)給定0時(shí),首先在驅(qū)動(dòng)器上的第一個(gè)扇區(qū)創(chuàng)建一個(gè)分區(qū)表,然后文件系統(tǒng)被創(chuàng)建在分區(qū)上。這被稱為FDISK格式化,用于硬盤和存儲(chǔ)卡。當(dāng)給定1時(shí),文件系統(tǒng)從第一個(gè)扇區(qū)開始創(chuàng)建,而沒有分區(qū)表。這被稱為超級(jí)軟盤(SFD)格式化,用于軟盤和可移動(dòng)磁盤。

3)f_getfree("0:", &fre_clust, &fs2) ??//獲得磁盤存儲(chǔ)空間大小?

4)f_open(&file1, "/srcfile.txt", ?FA_OPEN_ALWAYS | FA_READ | FA_WRITE); ?//打開文件

FIL ????file1; ??

5)f_puts(cDataBuf, &file1); ???//將cDataBuf[]數(shù)據(jù)寫入 文件srcfile.txt

6)f_sync (&file1); ??//刷新文件

7)f_lseek(&file1, 0); ??//從文件 偏移字節(jié)0出開始讀文件

8)f_read(&file1, buffer, 10,&r); ????//讀出10個(gè)字節(jié)到 buffer[]中

9)f_close(&file1); ??//操作完成 ?關(guān)閉文件

?

創(chuàng)建目錄例程

1) f_chdir("0:"); ??//切換到根目錄

2)f_mkdir("folder"); ??//創(chuàng)建目錄 folder

3)f_open(&file1, "folder/oldname2.txt", FA_CREATE_ALWAYS | FA_WRITE); ?//打開folder目錄下的文件

4)f_close(&file1); ???//關(guān)閉文件

分類: 嵌入式系統(tǒng)知識(shí)點(diǎn) 好文要頂 關(guān)注我 收藏該文 張凌001
關(guān)注 - 0
粉絲 - 17 +加關(guān)注 0 0 ? 上一篇:以操作系統(tǒng)的角度述說線程與進(jìn)程(轉(zhuǎn))以及區(qū)別及聯(lián)系
? 下一篇:C語(yǔ)言100個(gè)經(jīng)典的算法之兔子總數(shù)計(jì)算內(nèi)含printf的用法
<p class="postfoot">posted on <span id="post-date">2018-02-22 15:52</span> <a href="https://www.cnblogs.com/zhugeanran/">張凌001</a> 閱讀(<span id="post_view_count">776</span>) 評(píng)論(<span id="post_comment_count">0</span>) <a href="https://i.cnblogs.com/EditPosts.aspx?postid=8459150" rel="nofollow">編輯</a> <a href="#" onclick="AddToWz(8459150);return false;">收藏</a></p> </div> <script type="text/javascript">var allowComments=true,cb_blogId=406829,cb_entryId=8459150,cb_blogApp=currentBlogApp,cb_blogUserGuid='7d0073df-8601-4e21-2355-08d54dbac325',cb_entryCreatedDate='2018/2/22 15:52:00';loadViewCount(cb_entryId);var cb_postType=1;</script></div><a name="!comments"></a><div id="blog-comments-placeholder"></div><script type="text/javascript">var commentManager = new blogCommentManager();commentManager.renderComments(0);</script> 刷新評(píng)論刷新頁(yè)面返回頂部 注冊(cè)用戶登錄后才能發(fā)表評(píng)論,請(qǐng) 登錄 或 注冊(cè),訪問網(wǎng)站首頁(yè)。 【推薦】超50萬VC++源碼: 大型組態(tài)工控、電力仿真CAD與GIS源碼庫(kù)!
【推薦】華為云11.11普惠季 血拼風(fēng)暴 一促即發(fā)
【工具】SpreadJS純前端表格控件,可嵌入應(yīng)用開發(fā)的在線Excel
【騰訊云】拼團(tuán)福利,AMD云服務(wù)器8元/月
相關(guān)博文:
· FATFS 文件系統(tǒng)
· fatfs文件系統(tǒng)f_lseek追加文件
· 文件系統(tǒng)、根文件系統(tǒng) 轉(zhuǎn)
· SD卡的讀寫和FatFS文件系統(tǒng)
· FatFS文件系統(tǒng)詳解-附移植建議
<a id="Footer1_Hyperlink3" name="Hyperlink1" href="https://www.cnblogs.com/" style="font-family:Verdana;font-size:12px;">博客園</a> <br> Copyright ? 張凌001

總結(jié)

以上是生活随笔為你收集整理的说说FATFS文件系统(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。