petit_fatfs文件系统移植
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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