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

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
participants (1)
-
Stan Partridge