- 论坛徽章:
- 0
|
1.要用4bit的数据传输,否则的话,在读取数据的时候,一直提示数据异常 rSDICARG = 0 << 1; //Wide 0: 1bit, 1: 4bit 2.在移植FATFS文件系统的时候,FATFS是以sector的序号作为读写的单位的, 而在SD卡中,是以字节的地址作为读写的开始地址的,所以,我们需做如下处理 sector * 0x200 3.由于FATFS是以大端格式来进行字节流的操作的,所以SDIO的设置需要设置成 大端模式。
debug记录: 1.发现初始化失败,其原因是因为 大小端格式 2.发现0扇区的数据读取正确,而读取其他段的时候,发现读取不成功,其原因为 SDIO的读取首地址是以字节为单位来进行的,而FATFS是以扇区号来进行标识的 在读取驱动程序中,设置首地址时,需要 sector * 0x200 3.不知道为何 check_fs 函数中,if((LD_DWORD(&fs->win[BS_FilSysType]) & 0xFFFFFF) == 0x544146) 总是判断失效,查看其反汇编源码,发现反汇编出来的代码不正确,将这部分代码剔出来放到 VS2005里面却是正确的,初步认为是编译器问题 但是 temp = (LD_DWORD(&fs->win[BS_FilSysType]) & 0xFFFFFF); if (temp == 0x544146) /* Check "FAT" string */ 这样就对了,打算换个编译器试试 |
|