我们用的是amd 29dl640e flash block大小是64k.由于usb对时间要求比较高,所以我们在驱动中采用的是根据主机传过来的扇区号计算出对应flash中间的块号,然后把该块的内容拷贝到内存中间的缓冲区中,然后把主机传过来的数据覆盖缓冲区的内容,在写回flash.现...
全文
回复(2) 2004-03-17 09:59 来自版块 - USB驱动开发
表情
njwxkun是啊。我现在就是做了一个队列。比如要写20个扇区,但是这20个都是在同一个flash快中间的。那就等着20个写完之后再把内容写入flash.缓冲区我现在开了64k,等于一个flash block。比如拷贝一个大文件他的操作涉及2个block。假如第一个block写10个扇区,第二...(2004-03-17 11:05)
jiangyiyong我想你应该做一下缓冲,将所有的写请求排队,快满的时候一次性写入,如对于一个BLOCK写的比较频繁,就没有必要发一个请求写一次,可以等若干个请求以后再写。(2004-03-17 10:48)

返回顶部