Re: Question about strange flash problem
- From: "andrew queisser" <andrewdotqueisser@xxxxxx>
- Date: Mon, 23 Apr 2007 15:23:52 -0700
"Paul Carpenter" <paul$@pcserviceselectronics.co.uk> wrote in message
news:20070423.2010.328295snz@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Monday, in article <f0iohf$poo$1@xxxxxxxxxxxxxxxxxxx>Hmm, haven't studied it to that depth. I should do some pattern testing
andrewdotqueisser@xxxxxx "andrew queisser" wrote:
Hi all,
I'm seeing a strange bug with a flash chip. So far it's isolated but I was
wondering if anyone has opinions about what might be happening here:
Chip: Spansion 32MBit
http://www.spansion.com/datasheets/s29al032d_00_a8_e.pdf
When I program certain sectors (3f8000,3fa000,3fc000,3fe000) they act like
RAM. I can write data and read data back but when I power cycle the device
the data is back to 0xFFFF...
I can think of a few explanations but I don't know enough about the inner
workings of flash to know which ones to eliminate:
1) The chip is defective and acts like a RAM chip on those sectors
2) The sectors in question are write-protected and act therefore act like
RAM
3) There's a defect on our PCB and I actually am writing to the SRAM chip
sharing the address bus
4) There's a defect on the chip that causes the sectors to be erased each
time the device powers up
Some background:
- It's an FPGA based system with flash and SRAM sharing the bus.
- We don't have any high voltages hooked up to the flash chip so our only
way of programming are the in-system CFI routines.
- The programming routines include a normal SRAM-like write cycle at the
end
so that would explain how it could look like SRAM
- So far only one of several devices exhibit the problem, all others work
fine.
How are you sure that it is acting as SRAM?
If you
write to one of these locations with no other devices on the bus,
then WRITE the invereted pattern to a non-existant device on that bus
then read the original location
What do you get?
although the data I have written and read was pretty random.
I suspect you think it is acting as SRAM when actually you have busI've written whole sectors with test data, not just individual locations.
capacitance causing the last pattern to stay on the bus for a 'long' time
so you are reading the old bus value back and the device is not actually
being read at all. I.E. nothing is driving the bus at that time.
Considering how regular the pattern is I would suspect that there are
addressing/data line problems as 3f8xxx is a problem and I assume
3f9xxx is OK.
Suggesting that A12 (on 8 bit wide addressing) is shorted to something.
or similar, which suggests a PCB fault or FPGA programme fault.
I've used both application data (some tables that drive device behaviour) as
well as test data from files so I'm pretty sure that the device is acting
like RAM.
What I haven't done, and this is my next test, is to search the actual RAM
space to see if I find the test data I thought I had written to flash.
Andrew
.
- References:
- Question about strange flash problem
- From: andrew queisser
- Re: Question about strange flash problem
- From: Paul Carpenter
- Question about strange flash problem
- Prev by Date: Re: Controller for Custom LCD Glass
- Next by Date: Re: Embedded TCP/IP stack selection
- Previous by thread: Re: Question about strange flash problem
- Next by thread: Controller for Custom LCD Glass
- Index(es):
Loading