SD 卡的 FATFS 移植
最近小弟在一块裸奔的 ARM 上移植这个系统. 遇到个问题:FR_NO_FILESYSTEM我现在只想能创建一个文件而已,不写也不读.
但总是遇到这个问题!不知道是怎么回事。不知道有哪位大哥做过这个,希望能指点小弟一下!不胜感激... 接口函数或底层的问题.
前提,确保SD卡已经被格式化过。 2# 我是土匪
谢谢关注, 我把 SD 卡格式化成 FAT32 (用电脑格式化的),我也不确定是不是底层的问题,但是第一次调用底层的读一个 Block 的时候能够通过啊!就是在调用第二次的时候通不过了,返回的是错误!现在的问题就变成了FILE_RW_ERROR, 就是有点想不明白, 它第一次能够调用成功, 第二次就通不过了!就是下面这个在调用disk_read的时候通不过!
if (sector)
{
if (disk_read(fs->drive, fs->win, sector, 1) != RES_OK)
return FALSE;
fs->winsect = sector;
}
但是在以下几个disk_read的调用能够通过!
if (disk_read(fs->drive, fs->win, sect, 1) != RES_OK) /* Load boot record*/
return 2;
if (LD_WORD(&fs->win) != 0xAA55) /* Check record signature (always placed at offset 510 even if the sector size is >512) */
return 2;
if (!memcmp(&fs->win, "FAT", 3)) /* Check FAT signature */
return 0;
if (!memcmp(&fs->win, "FAT32", 5) && !(fs->win & 0x80))
return 0;
就是不知道为什么,还望指点! 先保证底层,再调试接口函数。 4# 我是土匪
恩 现在我调试底层,不过遇到个奇怪的问题. 如果我单独的读写某个扇区,写和读取都没有什么问题。但是如果我在读取了 SD 卡的容量后马上进行某个扇区的读写,这样的话,写就不正确了!不知道为什么! 如果不读取容量只进行写读扇区就行....还望指点.... efsl
embedded file system library, sourceforge上的一个开源的,通过SPI口操作SD的工程。
直接拿来用就好了
页:
[1]