移植fat16的步骤
1。存储器的接口初始化
·编写spi的sd卡接口代码
·读一个字节的spi口
·写一个字节的spi口
·向sd卡发送一条命令
·向sd卡发送一个数据包
·从sd卡接受一个数据包
·编写diskio.h文件
·编写对SD卡的初始化程序
·状态检测函数。默认支持
·编写读扇区的函数
③DRESULT disk_read(BYTE drv,BYTE*buff,DWORD sector,BYTE.count);
读扇区函数。在SD卡读接口函数的基础上编写,*buff存储已经读取的数据,sector是开始读的起始扇区,count是需要读的扇区数。1个扇区512个字节。执行无误返回O,错误返回非0。
·写扇区的函数
④DRESULT disk_write(BYTE drv,const BYTE*buff,DWORD sector,BYTE count);
写扇区函数。在SD卡写接口函数的基础上编写,*buff存储要写入的数据,sector是开始写的起始扇区count是需要写的扇区数。1个扇区512个字节。执行无误返回O,错误返回非0。
·⑤DRESULT disk_ioctl(BYTE drv,BYTE ctrl,VoiI*buff);
存储媒介控制函数。ctrl是控制代码,*buff存储或接收控制数据。可以在此函数里编写自己需要的功能代码,比如获得存储媒介的大小、检测存储媒介的上电与否存储媒介的扇区数等。如果是简单的应用,也可以不用编写,返回O即可。
·⑥DWORD get_fattime(Void);
实时时钟函数。返回一个32位无符号整数,时钟信息包含在这32位中,如下所示:
bit31:25 年(O..127)从1980年到现在的年数
bit24:21 月(1…12)
bit20:16 日(1..31)
bitl5.1] 时(O..23)
bitl0:5 分(O..59)
bit4:0 秒/2(0..29)
如果用不到实时时钟,也可以简单地返回一个数。正确编写完DiskIO,移植工作也就基本完成了,接下来的工作就是对Tiny—FatFs进行配置。
2。fatfs的配置
·基本不要改动