[U-Boot-Users] Problem with command - doc erase

Stan Partridge spartridge at ctdi.com
Wed Dec 3 16:49:41 CET 2003


I am using a customized board that closely resembles the MPC8260ADS board.
Our board contains, as the doc info command reports below, a DiskOnChip
Millennium device (MD-2810-D08).  I have been referencing Karim Yaghmour's
book, "Building Embedded Linux systems" to develop on our platform.  Due to
the age and size of our specific Millennium device, I deviated from Karim's
suggestions of loading the DiskOnChip version 4.2 firmware on the device
because the firmware load is too large for the device.  Instead, I am using
the old versions of the ipl, and spl C code that came with our original Doc
development kit to load u-boot 1.0.0.

Once u-boot is up and running, all of the Doc commands appear to be working
fine and I think I am supplying the correct arguments to the commands
however the Doc seems to be corrupted on the next restart or power cycle.

Somehow, the erase command is not leaving the Doc device in a happy state.
Prior to the restart or power cycle I can read and write freely to the Doc
and then using the md and cmp commands to validate the memory contents -
which all appear to be fine.  Once I reset the board or power cycle (after
using the doc erase command) the Doc is in an invalid state.  The only thing
I can do after using the doc erase command is reformat the Doc.  I have an
ICE attached to the processor but it does not supply any obvious indication
to what is wrong only that the ICE has lost communications to the processor.
Below is my binary partition information of the device and my u-boot
session.

Thanks in advance for any help!

-Stan Partridge



My binary partition is layed out in the following manner:

  filename     offset    length     flash bank
  ---------------------------------------------------------
  ipl             0x00      0x2000      0
  spl            0x2000   0x4000     1, 2
  env           0x6000    0x4000     3, 4
  uboot        0xA000   ~190kb     5 ...



Below is my u-boot session.  My TEXT_BASE for u-boot is located at 0xf84000
and my environment is located at 0xf80000 with a size of 0x200.


=> doc info

Device 0: DiskOnChip Millennium at 0xFC000000,
          4 chips Toshiba TC58V64AFT/DC, size 8 MB,
          total size 32 MB, sector size 8 kB
          NFTL boot record:
            Binary partition: size 512kB
            Flash disk partition: size 31MB, offset 0x80000
=>


U-Boot 1.0.0 (Nov 17 2003 - 10:06:34)

MPC8260 Reset Status: External Soft, External Hard

MPC8260 Clock Configuration
 - Bus-to-Core Mult 2x, VCO Div 2, 60x Bus Freq  50-150, Core Freq 100-300
 - dfbrg 1, corecnf 0x04, busdf 3, cpmdf 1, plldf 0, pllmf 1
 - vco_out  266666664, scc_clk   66666666, brg_clk   16666666
 - cpu_clk  133333332, cpm_clk  133333332, bus_clk   66666666

CPU:   MPC8260 (HiP3 Rev 01, Mask B.3 3K23A) at 133.333 MHz
Board: Motorola MPC8260ADS
I2C:   ready
DRAM:  128 MB
FLASH: ### Unknown flash ID 06000000 00000000 at address FC000000 ###
 0 kB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
U-Boot is now located at 07fcb000
DOC:   DiskOnChip Millennium @ 0xFC000000, 32 MB
Net:   FCC3 ETHERNET
Hit any key to stop autoboot:  0
## Booting image at 00100000 ...
Bad Magic Number
=>
=> setenv ipaddr 192.168.116.77
=> setenv ethaddr 00:90:8e:ab:7c:c0
=> setenv netmask 255.255.255.0
=> saveenv
Saving Environment to NVRAM...
=> md.b f80000 100
00f80000: c3 a5 12 0c 62 6f 6f 74 61 72 67 73 3d 72 6f 6f
....bootargs=roo
00f80010: 74 3d 2f 64 65 76 2f 72 61 6d 20 72 77 00 62 6f    t=/dev/ram
rw.bo
00f80020: 6f 74 63 6d 64 3d 62 6f 6f 74 6d 20 31 30 30 30    otcmd=bootm
1000
00f80030: 30 30 00 62 6f 6f 74 64 65 6c 61 79 3d 35 00 62
00.bootdelay=5.b
00f80040: 61 75 64 72 61 74 65 3d 39 36 30 30 00 73 74 64
audrate=9600.std
00f80050: 69 6e 3d 73 65 72 69 61 6c 00 73 74 64 6f 75 74
in=serial.stdout
00f80060: 3d 73 65 72 69 61 6c 00 73 74 64 65 72 72 3d 73
=serial.stderr=s
00f80070: 65 72 69 61 6c 00 69 70 61 64 64 72 3d 31 39 32
erial.ipaddr=192
00f80080: 2e 31 36 38 2e 31 31 36 2e 37 37 00 65 74 68 61
.168.116.77.etha
00f80090: 64 64 72 3d 30 30 3a 39 30 3a 38 65 3a 61 62 3a
ddr=00:90:8e:ab:
00f800a0: 37 63 3a 63 30 00 6e 65 74 6d 61 73 6b 3d 32 35
7c:c0.netmask=25
00f800b0: 35 2e 32 35 35 2e 32 35 35 2e 30 00 00 00 00 00
5.255.255.0.....
00f800c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
00f800d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
00f800e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
00f800f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
................
=> doc erase 6000 2000

DOC erase: device 0 offset 24576, size 8192 ... OK
=> doc write f80000 6000 200

DOC write: device 0 offset 24576, size 512 ... 512 bytes write: OK
=> doc read f81000 6000 200

DOC read: device 0 offset 24576, size 512 ...  512 bytes read: OK
=> md.b f81000 100
00f81000: c3 a5 12 0c 62 6f 6f 74 61 72 67 73 3d 72 6f 6f
....bootargs=roo
00f81010: 74 3d 2f 64 65 76 2f 72 61 6d 20 72 77 00 62 6f    t=/dev/ram
rw.bo
00f81020: 6f 74 63 6d 64 3d 62 6f 6f 74 6d 20 31 30 30 30    otcmd=bootm
1000
00f81030: 30 30 00 62 6f 6f 74 64 65 6c 61 79 3d 35 00 62
00.bootdelay=5.b
00f81040: 61 75 64 72 61 74 65 3d 39 36 30 30 00 73 74 64
audrate=9600.std
00f81050: 69 6e 3d 73 65 72 69 61 6c 00 73 74 64 6f 75 74
in=serial.stdout
00f81060: 3d 73 65 72 69 61 6c 00 73 74 64 65 72 72 3d 73
=serial.stderr=s
00f81070: 65 72 69 61 6c 00 69 70 61 64 64 72 3d 31 39 32
erial.ipaddr=192
00f81080: 2e 31 36 38 2e 31 31 36 2e 37 37 00 65 74 68 61
.168.116.77.etha
00f81090: 64 64 72 3d 30 30 3a 39 30 3a 38 65 3a 61 62 3a
ddr=00:90:8e:ab:
00f810a0: 37 63 3a 63 30 00 6e 65 74 6d 61 73 6b 3d 32 35
7c:c0.netmask=25
00
=> cmp.b f80000 f81000 200
Total of 512 bytes were the same





More information about the U-Boot mailing list