SD卡SPI模式读写,读不到块起始token(0xfe)
在MX28板子上,使用linux2.6.25代码中的mmc_spi驱动。因为板子上的spi只有一个dma缓冲区,所有spi是半双工模式,但是mmc_spi的驱动是全双工,所以我把mmc_spi中的命令收发及数据读写修改为了半双工。
现在的情况是,初始化已经通过,获取到了卡的大小。但是在使用CMD18读取多个数据块时,无法读取到块起始token(0xfe),尝试死循环读取,一直没有读到,只读到了一个(0x80),然后读到的512字节,校验错。 后面有通过CMD17读取单个数据块时,成功读取到0xfe,且数据校验成功。
请问为什么CMD18无法读到0xfe呢?有什么解决办法吗?