igomine22 发表于 2007-5-16 18:11:46

移植lumit-u-boot后无法擦除flash

最近把u-boot移植到了我的s3c4510板子上,可是发现移植以后无法擦除flash了(2MBflash : at49bv1614),到现在快一个月了,u-boot还在我的flash中,擦除程序(我自己用c写的一段擦除程序)不管用,我还有一块同样的板子,因此可以排除擦除程序的原因。

刚开始以为是flash的sector被锁了,因为u-boot里面有lock flash sector的程序,后来发现sector的状态正常,没有锁定,现在我比较觉得是cache和wb的原因,因为原来使用这块板子的时候没有打开过cache和wb,u-boot程序启动后打开了cache和wb,可能是我的擦除指令被写到了wb中,没有写到flash去,导致无法擦除。
4510的datasheet中只讲到可以通过系统复位,将寄存器的cache和wb 使能位禁用才能关闭,系统启动后好像就没法关闭cache和write buffer,我试了一下直接关闭,扔然不能擦除,4510里面有一个non-cacheable区域,说是把addr设为1来访问就行了,可是还是不能擦除。

能不能给我指点一下应该从哪方面考虑来解决这个问题? 谢谢!:)
页: [1]
查看完整版本: 移植lumit-u-boot后无法擦除flash