petit_fatfs文件系统移植

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FatFS文件系统的优点我就不赘述了,我需要的功能不多,所以我移植是FatFS的精简版petit fatfs,现将我的一直步骤写下来供大家参考。工程暂不能分享,见谅。

1、移植的文件系统为petit fatfs R0.02。

下载地址:/fsw/ff/pff2.zip

2、本人选用的单片机是STC12C5A56S2(容量够大)。

3、选用的SD卡为macro SD,容量512M,格式化为fat32文件系统,分配大小为512字节。

Petit fatfs文件系统的修改步骤及说明如下:

一、integer.h,pff.c,diskio.h这三个文件不需要修改。

二、pff.h的修改:

1、使能FAT32文件系统的支持#define_FS_FAT321

2、选择简体中文编码格式#define_CODE_PAGE936

三、diskio.c的修改:

1、添加必要头文件:reg51.h,sd.h,spi.h。

2、填写设备初始化函数DSTATUS disk_initialize(void)

这个函数我是参考别人写的:

DSTATUS disk_initialize(void)

{

DSTATUS stat;

//Put your code here

stat=STA_NOINIT;

if(!SD_Init())

{

stat&=~STA_NOINIT;

}

return stat;

}

3、填写读函数:DRESULT disk_readp(BYTE*dest,DWORD sector,WORD sofs,WORD count)

这个函数写法各异,就不具体说了,

BYTE*dest这个就是指你要讲读出来的数据存在哪里的指针变量。

DWORD sector是要读扇区的地址,看一下SD卡的读写命令你就知道了。

WORD sofs是偏移量,简单就是说,要读的数据相对于扇区开始的字节数,这个读出来,直接忽略掉。

WORD count是要读的字节个数,读完偏移量的字节数,就是要读这个,将读出来的数据存在干才说的那个BYTE*dest。

最后还有一个剩余字节数即(512-sofs-count),这个也不是需要的数据,读出来忽略掉就行了。

4、我做的东西不需要向SD写入,所以disk_writep就没有动。

具体操作,以及在主函数中的调用可参考/tlptotop/blog/item/21c30b2ae0c9a4f5e7cd40de.html

声明:本人菜鸟一只,如有错误敬请高手指正。转载请注明出处,谢谢!!!文章出处:/s/blog_8026a5040100w7j7.html

相关文档
最新文档