在调试LBA 的USB Promer的时候,重新定义了新的buffer的变量,结果不小心,把变量放在了
#pragma arm section zidata = "promer_non_cachable_data"
之外,所以,新的buffer的地址,就是cachable,可以缓存的了,
结果就是,用此buffer存放底层文件系统读出来的文件数据,其用的DMA方式传输的,
导致读出来的数据,在函数返回时候,不能完全同步,也就是说,数据只有部分是正确的,
buffer里面的其他数据,都是没有及时flush的,都是错误的,
因此,接下来的操作,就全错了。。。
以后,一定要注意,数据是否允许缓存这个事情。。。