[U-Boot] Flash Not Erased for M29W128GL

Ramesh K Khokhani ramesh.khokhani at igate.com
Wed Jan 16 17:23:47 CET 2013


Hi Friends,

I am having problem with 16MB M29W128GL Flash. I am getting Flash Not Erased when i try to use saveenv command at u-boot command prompt.

I have tried manually Byte by Byte wise writing to NOR Flash location so for that i have use following command and getting 2 same byte write on consecutive location.

And when i have try to write word using mw.w then it writes correct.

Before use command:

-> md 0x50000

00050000: ffffffff ffffffff ffffffff ffffffff    ................
00050010: ffffffff ffffffff ffffffff ffffffff    ................
00050020: ffffffff ffffffff ffffffff ffffffff    ................
00050030: ffffffff ffffffff ffffffff ffffffff    ................
00050040: ffffffff ffffffff ffffffff ffffffff    ................
00050050: ffffffff ffffffff ffffffff ffffffff    ................
00050060: ffffffff ffffffff ffffffff ffffffff    ................
00050070: ffffffff ffffffff ffffffff ffffffff    ................
00050080: ffffffff ffffffff ffffffff ffffffff    ................
00050090: ffffffff ffffffff ffffffff ffffffff    ................
000500a0: ffffffff ffffffff ffffffff ffffffff    ................
000500b0: ffffffff ffffffff ffffffff ffffffff    ................
000500c0: ffffffff ffffffff ffffffff ffffffff    ................
000500d0: ffffffff ffffffff ffffffff ffffffff    ................
000500e0: ffffffff ffffffff ffffffff ffffffff    ................
000500f0: ffffffff ffffffff ffffffff ffffffff    ................

After use command: (Here i have try to write 0x12 on 0x50000 location but it writes two same bytes on 0x50000 & 0x50001)

-> mw.b 0x?50?aaa 0xaa

-> mw.b 0x50554 0x55

-> mw.b 0x50aaa 0xa0

-> mw.b 0x50000 0x12

-> md 0x50000

00050000: 1212ffff ffffffff ffffffff ffffffff    ................
00050010: ffffffff ffffffff ffffffff ffffffff    ................
00050020: ffffffff ffffffff ffffffff ffffffff    ................
00050030: ffffffff ffffffff ffffffff ffffffff    ................
00050040: ffffffff ffffffff ffffffff ffffffff    ................
00050050: ffffffff ffffffff ffffffff ffffffff    ................
00050060: ffffffff ffffffff ffffffff ffffffff    ................
00050070: ffffffff ffffffff ffffffff ffffffff    ................
00050080: ffffffff ffffffff ffffffff ffffffff    ................
00050090: ffffffff ffffffff ffffffff ffffffff    ................
000500a0: ffffffff ffffffff ffffffff ffffffff    ................
000500b0: ffffffff ffffffff ffffffff ffffffff    ................
000500c0: ffffffff ffffffff ffffffff ffffffff    ................
000500d0: ffffffff ffffffff ffffffff ffffffff    ................
000500e0: ffffffff ffffffff ffffffff ffffffff    ................
000500f0: ffffffff ffffffff ffffffff ffffffff    ................

When try to write word using mw.w then it writes correct:

-> md? ?w.w 0x50?aaa 0xaa

-> mw.w 0x50554 0x55

-> mw.w 0x50aaa ??xa0? ?

-> mw.w 0x500?10 0x1234

-> md 50000

00050000: 1212ffff ffffffff ffffffff ffffffff    ................
00050010: 1234ffff ffffffff ffffffff ffffffff    .4..............
00050020: ffffffff ffffffff ffffffff ffffffff    ................
00050030: ffffffff ffffffff ffffffff ffffffff    ................
00050040: ffffffff ffffffff ffffffff ffffffff    ................
00050050: ffffffff ffffffff ffffffff ffffffff    ................
00050060: ffffffff ffffffff ffffffff ffffffff    ................
00050070: ffffffff ffffffff ffffffff ffffffff    ................
00050080: ffffffff ffffffff ffffffff ffffffff    ................
00050090: ffffffff ffffffff ffffffff ffffffff    ................
000500a0: ffffffff ffffffff ffffffff ffffffff    ................
000500b0: ffffffff ffffffff ffffffff ffffffff    ................
000500c0: ffffffff ffffffff ffffffff ffffffff    ................
000500d0: ffffffff ffffffff ffffffff ffffffff    ................
000500e0: ffffffff ffffffff ffffffff ffffffff    ................
000500f0: ffffffff ffffffff ffffffff ffffffff    ................


So what may be problem?

Internally it uses following command (8bit x b bit). Is it problem? it should be 16bit x 8 bit?

fwc addr 00040aaa cmd aa aa 8bit x 8 bit
fwc addr 00040554 cmd 55 55 8bit x 8 bit
fwc addr 00040aaa cmd a0 a0 8bit x 8 bit


Thanks & Warm Regards,

Ramesh Khokhani
Senior Software Engineer

[X]

...................................................................................................................................................

 ramesh.khokhani at igatepatni.com

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Disclaimer~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Information contained and transmitted by this e-mail is confidential and proprietary to iGATE and its affiliates and is intended for use only by the recipient. If you are not the intended recipient, you are hereby notified that any dissemination, distribution, copying or use of this e-mail is strictly prohibited and you are requested to delete this e-mail immediately and notify the originator or mailadmin at igate.com <mailto:mailadmin at igate.com>. iGATE does not enter into any agreement with any party by e-mail. Any views expressed by an individual do not necessarily reflect the view of iGATE. iGATE is not responsible for the consequences of any actions taken on the basis of information provided, through this email. The contents of an attachment to this e-mail may contain software viruses, which could damage your own computer system. While iGATE has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should carry out your own virus checks before opening an attachment. To know more about iGATE please visit www.igate.com <http://www.igate.com>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


More information about the U-Boot mailing list