[U-Boot] Flashing PPC440gx Using BDI3000

Kyle Smith mr.kyle.smith at gmail.com
Wed Oct 28 01:21:21 CET 2009


Hello,

I realize this isn't a BDI3000 mailing list but I was hoping to get some
input on my problem. I am trying to program u-boot onto the flash
(S29GL512N) of a ppc440gx target using a BDI3000 but I am getting some weird
behavior.

With my current BDI3000 (firmware v1.18) configuration (using SDRAM as the
BDI workspace) the first program attempt always fails. Successive attempts
after the failed one will work.

440GX>e;p;v
Erasing flash at 0xfff80000
Erasing flash at 0xfffa0000
Erasing flash at 0xfffc0000
Erasing flash at 0xfffe0000
Erasing flash passed
Programming u-boot.bin , please wait ....
Programming flash passed
Verifying u-boot.bin , please wait ....
# Verifying target memory failed at 0xfff80004
440GX>e;p;v
Erasing flash at 0xfff80000
Erasing flash at 0xfffa0000
Erasing flash at 0xfffc0000
Erasing flash at 0xfffe0000
Erasing flash passed
Programming u-boot.bin , please wait ....
Programming flash passed
Verifying u-boot.bin , please wait ....
Verifying target memory passed
440GX>

One interesting thing is when I dump the failed programming attempt and diff
it's contents versus my u-boot image it's only the first 512 bytes that are
incorrect. Within the 512 bytes I can partially see the contents of the
image with some of the data corrupted.

Another characteristic of my problem is I can program the flash if I allow
u-boot to configure the board.

440GX>reset halt
- TARGET: processing user reset request
- TARGET: resetting target passed
- TARGET: processing target startup ....
- TARGET: core #0 PVR is 0x51B21892
- TARGET: processing target startup passed
440GX>go 0xfffffffc
440GX>halt
    Core number       : 0
    Core state        : debug mode
    Debug entry cause : JTAG stop request
    Current PC        : 0x0ff57a70
    Current CR        : 0x24ff4f22
    Current MSR       : 0x00008000
    Current LR        : 0x0ff57a70
440GX>e;p;v
Erasing flash at 0xfff80000
Erasing flash at 0xfffa0000
Erasing flash at 0xfffc0000
Erasing flash at 0xfffe0000
Erasing flash passed
Programming u-boot.bin , please wait ....
Programming flash passed
Verifying u-boot.bin , please wait ....
Verifying target memory passed
440GX>

Finally, if I comment out the BDI's [FLASH] workspace line within the
configuration I am able to program the flash but it takes a bit longer.

Has anyone else experienced a similar problem? Why would the initial write
to flash fail but all other writes work? Any idea why writes to flash work
if u-boot initializes the ppc440gx?

If this question is way out of line for this list does anyone know where I
can find BDI support?


Thank you,
Kyle


More information about the U-Boot mailing list