查看: 306|回复: 0
打印 上一主题 下一主题

MAPS试用第10篇—FATFS文件系统移植

[复制链接] qrcode

34

主题

45

帖子

128

积分

注册会员

Rank: 2

积分
128
楼主
跳转到指定楼层
发表于 2015-6-1 11:55 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
虽然MAPS例程中提供了FATFS库,但却没有提供FATFS移植例程。因为最近一个小项目用到了USB存储,所以在FATFS文件系统移植上面也花了点心思(之前没有玩过FATFS)。好吧,开始FATF系统移植。

1、首先打开“sdhc_sdcard”工程。有了这个工程,我们就不用自己去写底层的SD读写驱动了。


2、在工程中添加“FATFS”文件。其中diskio.c和ff.c是必须要添加的,除此之外还要添加一个fsl_sd_disk.c或者msd_diskio.c,前者用于SD卡,后者用于U盘。本篇以SD文件系统移植为例。


3、添加相应的FATFS头文件目录。


4、在diskio.c文件里面宏定义“#define SD_DISK_ENABLE 1”


5、在主程序中调用FATFS即可。以根目录下文件名称遍历为例。
在main.c中添加目录遍历函数,在主程序中调用遍历函数即可看到遍历目录。
uint8_t mf_scan_files(uint8_t * path)
{
    FRESULT res;   
    char *fn;   // This function is assuming non-Unicode cfg. 

    res = f_opendir(&dir,(const TCHAR*)path);  
    if (res == FR_OK)  
    { 
printf("rn");  
while(1) 

        res = f_readdir(&dir, &fileinfo);                  
        if (res != FR_OK || fileinfo.fname[0] == 0) break;    
        fn = fileinfo.fname;                
printf("%s/", path); 
printf("%srn",  fn); 
}  
    }   
    return res;

}


测试结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表