[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MCM chips flash problem?



Hi,

We had purchased some MCM chips last year and have so far successfully used
these using our own PCBs. One problem we have seen during this time is
approximately 10% of our MCM chips apparently have flash problems.

We are flashing the units using flash images we have created. We have seen
flashing failures using both bootloader and ftp methods for some 10% of our
units. Flashing is consistently successful on the others.

The problem happens while writing the flash contents to the chip. These
failure locations are different on different units, but identical for one
unit across different flash attempts.

An interesting point is that these failures are not consistent. When tested
with different image files and many times, I saw that some images could
always be successfully written, while others sometimes failed and sometimes
succeeded. However when flashing fails, it always fails at the same offset
for one unit.

Here is a sample output for a failed flash attempt:
----------------------------------------------------------------------------
-----
Device ID = 0xc0fa3e85
This bootloader was built by mahmut on Mon Jul 21 16:17:05 EST 2003.
Checksum of bootloader is 0x00097f8d
Waiting for load info.
Checksum of file is 0x00001e03
Got load info.
SET_REGISTER
0xb0000000
0x000095f8
SET_REGISTER
0xb0000004
0x00000104
SET_REGISTER
0xb000000c
0x00601515
SET_REGISTER
0xb0000008
0x8000c002
PAUSE_LOOP
0x00020000
SET_REGISTER
0xb0000008
0x8000c602
SET_REGISTER
0xb0000008
0x8000c002
SET_REGISTER
0x38001f00
0x00000007
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8000c402
SET_REGISTER
0xb0000008
0x8000c002
LOOP
0x38001f00
0x38001f5c
SET_REGISTER
0xb0000008
0x8060c202
SET_REGISTER
0xb0000008
0x8000c002
SET_REGISTER
0xb0000008
0x80008002
SET_REGISTER
0xb0000030
0x0000ff00
SET_REGISTER
0xb0000038
0x0000ff00
PACKET_INFO
0xc0004000
0x00200018
Checksum of file is 0x15018826
FLASH
0xc0004000
0x00000000
0x00200000
Found 1 x 16Mb BB at 0x80000000
No single x16 at 0x84000000
No interleaved x16 at 0x84000000
0x80000000: Erasing 0x00200000 bytes...done, verifying...OK
0x80000000: Writing 0x00200000 bytes...Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Verify error at 0x8014b388
Timed out!
Fatal verify error.
No single x16 at 0x84000000
No interleaved x16 at 0x84000000
0x80000000: Erasing 0x00010000 bytes...
----------------------------------------------------------------------------
-----
This particular unit always fails at the offset 0x14b388. Once something is
written to that location the flash_is_busy() in flash.c continues to return
1 even after the timeout expires and subsequent reads do not match what is
written.  I increased the timeout and the number of retries but these did
not help.

We are suspecting that the problem should be with the flash chip inside the
MCM itself. And even though we can flash a chip after a number of retrials
(so far I have seen up to 15), I am worried that we can have the same
problem in runtime while writing to the /etc read-write partition of these
chips. So we currently do not use the faulty units. 

I was wondering if you had seen this problem before. If I remember correctly
the chips we have bought were among the first you have manufactured, well
before the official release date. Any ideas to help isolate the problem
would be most welcome.

Thanks,

Mahmut
 
----------------------------------------------------------------------------
---------------------
Mahmut Fettahlioglu
Senior Software Engineer

Open Access Pty Ltd
PO Box 301
Crows Nest NSW 1585
 
Phone		02 9978 7009
Fax		02 9978 7099
Email		<mahmut.fettahlioglu@xxxxxxx.au>
----------------------------------------------------------------------------
---------------------
This email is intended only for the use of the individual or entity
named above and may contain information that is confidential and
privileged. If you are not the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
email is strictly prohibited. If you have received this email in
error, please notify us immediately by return email or telephone 
02 9978 7009 and destroy the original message.