标题:
STM32-移植FATFS的NANDFLASH驱动
[打印本页]
作者:
yuyang911220
时间:
2015-4-28 21:10
标题:
STM32-移植FATFS的NANDFLASH驱动
一,建立工程FATFS源码
1,在
http://elm-chan.org/fsw/ff/00index_e.html
上下载ff007c.zip,并把ff007c.zip里面的
src文件夹复制到D:\works\EK-STM3210E-UCOSII下,并改名为Fatfs;
2,在IDE工程中右击选择“Add Group”建立“FATFS”文件组,并在“FATFS”上右击选择“Add Files”添加
D:\works\EK-STM3210E-UCOSII\Fatfs下的C文件;
3,把D:\works\EK-STM3210E-UCOSII\Fatfs文件夹目录添加到项目头文件搜索路径中,如:
$PROJ_DIR$\..\..\Fatfs
二,移植NANDFLASH驱动接口
1,把stm32f10x_stdperiph_lib_v3.0.0\Project\Examples\FSMC\NAND下的fsmc_nand.c复制到
D:\works\EK-STM3210E-UCOSII\Drivers下,并加入到工程的DRV文件组;
2,把stm32f10x_stdperiph_lib_v3.0.0\Project\Examples\FSMC\NAND下的fsmc_nand.h复制到
D:\works\EK-STM3210E-UCOSII\Include下;
3,在fsmc_nand.c前添加上#include "stm32f10x_conf.h",并把系统中的 "stm32f10x_conf.h"
文件的/* #include "stm32f10x_fsmc.h" */注释打开;
三,修改FATFS的配置文件
1,把D:\works\EK-STM3210E-UCOSII\Fatfs下的ff.h中的宏定义:
[cpp]
view plain
copy
#define _USE_MKFS 0
#define _CODE_PAGE 932
#define _FS_RPATH 0
#define _MAX_SS 512
修改为:
#define _USE_MKFS 1
#define _CODE_PAGE 936
#define _MAX_SS <span style="font-size:18px;color:#3333ff;">2048
</span> #define _FS_RPATH 1
2,把D:\works\EK-STM3210E-UCOSII\Fatfs下的integer.h的宏定义:
[cpp]
view plain
copy
typedef
enum { FALSE = 0, TRUE } BOOL;
修改为:
typedef
bool
BOOL;//typedef enum { FALSE = 0, TRUE } BOOL;
四,修改FATFS的DISK/IO接口
1,把diskio.c复制后改名为nandio.c替换掉工程中的diskio.c,并添加到EWARM的工程中的
“FATFS”文件组;
2,媒介初始化直接返回正常的0:
[cpp]
view plain
copy
DSTATUS disk_initialize (BYTE drv)
{ return 0;}
3,媒介状态查询直接返回正常的0:
[cpp]
view plain
copy
DSTATUS disk_status (BYTE drv)
{ return 0;}
4,取系统系统直接返回0(自己可以按格式修改为真实时间):
[cpp]
view plain
copy
DWORD get_fattime (void)
{ return 0;}
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0