请教以扇区为单位读U盘问题

u盘的基本可寻址单元是扇区,扇区组成块,块组成簇。 1.375是写或者读64字节中断一次(512字节中断9次),为什么必须要有一个扇区大小的ram呢?可不可以只用64?比如数据采集,满64字节,然后发送DISK_WR_GO(循环利用这64个字节的缓冲区),可以吗?这样不是可以只用64字节缓冲区吗? 2.闪存写之前先擦除块,那么以扇区为单位写的话,比如写扇区4(扇区4、5属于一个块),再写扇区5时要先擦出块,那么4扇区的不是白写了?同样以字节为单位也是这样。

这几个新手问题困扰我好几天了,希望大家帮忙解惑一下。十分感谢!!!!!

1.U盘的底层操作都是以扇区为单位的,扇区的大小一般为512字节.大扇区U盘比较少,所以读写的缓冲区一般为整扇区的倍数. 2.对U盘写的过程就是先擦除,然后在写.(以扇区为单位),如果是修改,则应是先把数据读取出来,修改之后,然后在写


大哥,你说的清楚点行不?我还是不明白,能不能不用一个扇区的缓冲区,用64行不? U盘以扇区为单位擦啊?一块要是好几个扇区怎么办?


你又不操作FLASH,和你没有什么关系.擦除是U盘控制器来做的,你只管去读写就行了. 必须有512B缓存.这个不可以减少.你理解有误.


谢谢各位的热心帮助,大家再帮看看我那里理解有误?


只有登录才能回复,可以选择微信账号登录