tag 标签: fatfs移植

相关博文
  • 热度 27
    2013-11-15 21:42
    3422 次阅读|
    2 个评论
    1、到官网下载:http://elm-chan.org/fsw/ff/00index_e.html 下载FATFS源代码,最新版本是R0.1版本。 2、解压下载后的文件会得到两个文件夹,一个是doc文件夹,这里是FATFS的一些使用文档和说明,以后在文件编程的时候可以查看该文档。另一个是src文件夹,里面就是我们所要的源文件。 3、将解压后的src文件夹下的文件拷贝到STM32F4工程目录下。 4、将ff.c和diskio.c添加到SMT32F4工程 5、打开ffconf.h文件,修改_CODE_PAGE 的值为936(支持中文),将_USE_FASTSEEK的值为1. 6、修改diskio.c文件中硬件相关函数。 添加disk_initialize初始化函数内容 DSTATUS disk_initialize (     BYTE pdrv                /* Physical drive nmuber (0..) */ ) {     //DSTATUS stat;     //int result;    SD_Error Status;     switch (pdrv) {     case ATA :     //    result = ATA_disk_initialize();         // translate the reslut code here         //return stat;         Status = SD_Init();     if(Status == SD_OK)         {             Stat = 0;       //  return 0;         }     else         {             Stat = STA_NOINIT;       //  return STA_NOINIT;         }         return Stat ;     case MMC :         //result = MMC_disk_initialize();         // translate the reslut code here         //return stat;         Stat = STA_NOINIT;         return Stat ;     case USB :         //result = USB_disk_initialize();         // translate the reslut code here         //return stat;           return Stat ;     }     return STA_NOINIT; } 硬盘状态函数disk_status DSTATUS disk_status (     BYTE pdrv        /* Physical drive nmuber (0..) */ ) {      //    int result;     switch (pdrv) {     case ATA :     //    result = ATA_disk_status();         // translate the reslut code here         return Stat ;     case MMC :         //result = MMC_disk_status();         // translate the reslut code here         //return stat;         return Stat ;     case USB :         //result = USB_disk_status();         // translate the reslut code here         return Stat ;     }     return STA_NOINIT; } 详细代码看附件(附件中包括正在高度中的USB功能,项目不添加USB相关库文件,需要将USB相关代码注消或删除才能编译。 7、编写相关的接口初始化代码。文件sdio_sd.c(详细代码就不贴出来了,看附件源代码文件) 源代码下载地址 http://yunpan.cn/Q9TCTEGySfXCk (360云盘)