Re: Question about strange flash problem
- From: "andrew queisser" <andrewdotqueisser@xxxxxx>
- Date: Mon, 23 Apr 2007 11:44:31 -0700
"Arlet" <usenet+5@xxxxxxxxxx> wrote in message
news:1177353290.225359.291360@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Apr 23, 6:57 pm, "andrew queisser" <andrewdotqueis...@xxxxxx>Thanks for the tips.
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
32MBithttp://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.
Does your system have a cache ? It sounds like that part of the memory
is cached.
I would rule out options 1 and 2. Option 3 may be possible. Number 4
is unlikely. Can you do a soft reset of the CPU alone to rule out
option 4 ? You could use a scope on the RAM/Flash control lines (CS#,
OE#, WE#) and see if the SRAM is addressed instead of the Flash during
programming.
We don't have data cache on our design right now, just instruction cache.
When I do a soft reset of the CPU the flash contents stay unchanged, it's
definitely something related to the power-up phase. The idea of looking at
the CS,OE and WE lines is a good one. Since this is an FPGA I can use the
built-in signal analyzer to set that up. Otherwise it would be hard to probe
those lines.
So it seems Option 3 is most likely right now. In addition to probing I'll
do a memcheck to see if I find the pattern I program into flash anywhere in
the memory map...
Thanks again,
Andrew
.
- References:
- Question about strange flash problem
- From: andrew queisser
- Re: Question about strange flash problem
- From: Arlet
- Question about strange flash problem
- Prev by Date: Re: Question about strange flash problem
- Next by Date: Re: shame on MISRA
- Previous by thread: Re: Question about strange flash problem
- Next by thread: Re: Question about strange flash problem
- Index(es):