[U-Boot] Flash not erased problem.
Stefan Roese
sr at denx.de
Mon Feb 20 19:04:36 CET 2012
Hi Sanjoy,
On Monday 20 February 2012 13:40:30 Sanjoy Saha - ERS, HCL Tech wrote:
> I am using u-Boot [2009.08-CanyonlandsOptimized_2.6.30_1.13-01] in
> canyonlands board to flash my ram file system (which I need to do often).
> I go in step to erase/tftp/copy the binary in my flash.
>
> era 0xfc200000 0xfd5fffff
> tftp 0x200000 canyonlands/ramdisk.img
> cp.b ${fileaddr} 0xfc200000 ${filesize}
>
> other than copy command everything works fine. The copy command bails out
> with error message "flash not erased". Size of ramdisk image is ~7MB. I
> have verified the sectors for erase operation done properly (i.e filled
> with 0xFFFFFFFF).
>
> After giving 'n" number of shot copy works great. I suspect timing problem
> which degrades with age of flash memory. I have acquired a new board and i
> see the same problem.
>
> Can some one help me out ?
Did you check upgrading to a newer U-Boot version? Take a look at
this commit:
Author: Stefan Roese <sr at denx.de> 2009-10-29 18:37:45
Committer: Stefan Roese <sr at denx.de> 2009-11-09 13:30:19
Parent: 514bab6609acd1a2a19fdd75c2f6255178db7c96 (ppc4xx: Fix "chip_config" command for AMCC
Arches)
Child: 17a684449728ce4c9ce79fa9e7e75b86a5f9b41d (ppc4xx/Canyonlands added USB board
callbacks)
Branches: many (141)
Follows: v2009.11-rc1
Precedes: v2009.11-rc2
ppc4xx: Canyonlands: Change EBC bus config to drive always (no high-z)
This patch fixes a problem only seen very occasionally on Canyonlands.
The NOR flash interface (CFI driver) doesn't work reliably in all cases.
Erasing and/or programming sometimes doesn't work. Sometimes with
an error message, like "flash not erased" when trying to program an
area that should have just been erased. And sometimes without any error
messages. As mentioned above, this problem was only seen rarely and with
some PLL configuration (CPU speed, EBC speed).
Now I spotted this problem a few times, when running my Canyonlands with
the following setup (chip_config):
1000-nor - NOR CPU:1000 PLB: 200 OPB: 100 EBC: 100
Changing the EBC configuration to not release the bus into high
impedance state inbetween the transfers (ATC, DTC and CTC bits set to 1
in EBC0_CFG) seems to fix this problem. I haven't seen any failure
anymore with this patch applied.
Signed-off-by: Stefan Roese <sr at denx.de>
So a newer U-Boot version should fix your issue.
Best regards,
Stefan
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de
More information about the U-Boot
mailing list