关于nor flash擦除不干净,烧写失败的原因 ,高手救命!

xhz520fxj 2011-10-18 04:51:28
在uboot启动后,擦除了一段flash,之后想再次写入时,总是提示没擦除,这到底是为什么啊?flash坏了吗?下面是uboot的提示信息:
U-Boot> erase 10040000 101dffff
Erasing 13 sectors........ done
Erased 13 sectors
U-Boot> md 10040000
10040000: fffffff6 ffffffff ffffffff ffffffff ................
10040010: fffffffe fffffffe ffffffff ffffffff ................
10040020: fffffffe ffffffff ffffffff ffffffff ................
10040030: fffffffe ffffffff fffffffb ffffffff ................
10040040: fffffffe ffffffff ffffffff ffffffff ................
10040050: fffffffe ffffffff ffffffff ffffffff ................
10040060: fffffffe ffffffff ffffffff ffffffff ................
10040070: ffffffff ffffffff ffffffff ffffffff ................
10040080: fffffffe ffffffff fffffffb ffffffff ................
10040090: fffffffe ffffffff ffffffff ffffffff ................
100400a0: fffffffe ffffffff ffffffff ffffffff ................
100400b0: ffffffff ffffffff ffffffff ffffffff ................
100400c0: fffffffe ffffffff ffffffff ffffffff ................
100400d0: ffffffff ffffffff ffffffff ffffffff ................
100400e0: fffffffe ffffffff ffffffff ffffffff ................
U-Boot> mm 10040000
10040000: ffffffff ? .
**************************************************************
前面已经显示10040000为:fffffff6
10040000: fffffff6 ffffffff ffffffff ffffffff ................
为什么设置的时候又提示:10040000: ffffffff ?
为什么两次的不一样?为什么提示擦除成功后,却不能写进去?
**************************************************************
U-Boot> cp.b 20000000 10040000 $(filesize)
Copy to Flash.. 0%
rc=2
Flash not Erased
...全文
2465 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhz520fxj 2011-11-11
  • 打赏
  • 举报
回复
我用的是9623的芯片,之前是因为在Uboot的对NorFlash的驱动中设置的SMC不对,也就是时序的问题,片选和读写使能时间没拉开,所以就出现了以上的情况,修改之后,我的时序设置如下:
NCS_RD_SETUP NRD_SETUP NCS_WR_SETUP NWE_SETUP
a a a a
#define SMC0_SETUP0_VAL 0x0a0a0a0a /*setup = 0a 0a 0a 0a*/

NCS_RD_PLUSE NRD_PLUSE NCS_WR_PULSE NWE_PLUSE
b b b b
#define SMC0_PULSE0_VAL 0x0b0b0b0b /*pulse = 0b 0b 0b 0b*/

NRD_CYCLE NWE_CYCLE
0x16 0x16
#define SMC0_CYCLE0_VAL 0x00160016 /*cycle = 00 16 00 16*/
现在就没问题了,测试都通过了。
wjcapple 2011-11-09
  • 打赏
  • 举报
回复
还没有解决掉这个问题吗?顶起,顺便赚点分
xhz520fxj 2011-11-08
  • 打赏
  • 举报
回复
解决了,设置了一下arm中对norflash读写时序的控制之后就可以了!谢谢楼上几位的回复!
ffeige1984 2011-11-08
  • 打赏
  • 举报
回复
呵呵 我们当时遇到的是时序问题
joewx1984 2011-10-21
  • 打赏
  • 举报
回复
确定硬件没有短路之类?
xhz520fxj 2011-10-21
  • 打赏
  • 举报
回复
还不知道,现在先看看会不会是虚焊问题,再看看读写的时序问题。
wulinnm1 2011-10-21
  • 打赏
  • 举报
回复
问题很明白,虚焊!测量下有没有电压
Vincent_Song 2011-10-19
  • 打赏
  • 举报
回复
驱动出现问题?还是硬件出现坏块?
xhz520fxj 2011-10-19
  • 打赏
  • 举报
回复
还有就是一个问题不明白,在显示1004000的内容时是fffffff6 ,想要修改10040000的内容时,它又提示自己是ffffffff,为什么会这样?
xhz520fxj 2011-10-19
  • 打赏
  • 举报
回复
已经取消写保护了,很奇怪,昨天不行,可是等到今天早上烧写的时候就可以了,是不是flash在两次烧写的时候要隔一段什么时间啊?
wjcapple 2011-10-19
  • 打赏
  • 举报
回复
强烈关注中
JuanA1 2011-10-18
  • 打赏
  • 举报
回复
可能是写保护的问题
ezword 2011-10-18
  • 打赏
  • 举报
回复
从md显示来看好像是没有正确擦除,正确擦除后,显示应该为全f。
确认写保护有没有禁止呢,要不然就是flash的问题。

21,615

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧