这几天很懒,很懈怠…
废话不多说,今天来移植FATFS文件系统,在移植FATFS之前,我们需要:
1、在网上下载FATFS的源码,这个不用说把…
2、准备好SD卡的基本读写函数,SPI模式或者SDIO模式均可。
3、在ffconf.h头文件里修改相应的宏定义,设置相应的功能。
4、在integer.h中定义好的数据类型,这里需要了解你的编译器的数据类型,然后根据编译器定义好数据类型。(如果使用的是MDK3..58a,则不用改动)
好,下面开始正式移植FATFS!
先将FATFS文件系统加入工程,添加相应路径。然后打开discio.c。
diskio.c里有如下代码:
DSTATUS disk_initialize (
BYTE drv /* Physical drive nmuber (0..) */
)
{
DSTATUS stat;
int result;
switch (drv) {
case ATA :
result = ATA_disk_initialize();
// translate the reslut code here
return stat;
case MMC :
result = MMC_disk_initialize();
// translate the reslut code here
return stat;
case USB :
result = USB_disk_initialize();
// translate the reslut code here
return stat;
}
return STA_NOINIT;
}
这是FATFS提供的初始化磁盘的函数,需要我们将实现准备好的SD_Initiliaze()填进去。
DSTATUS disk_initialize (
BYTE pdrv /* 磁盘的物理分区,默认为0 */
)
{
u8 res=0;
switch(pdrv)
{
case SD_CARD://SD卡