Connect an Intel strataflash P33 with an intel processor IXP465.

Nov 18, 2008 5 Replies

Hi, my problem is a little complicated. I have connect on my board an Intel StrataFlash P33 to an Intel IXP465 Network Processor, in such way that the flash pins: ADV# and CLK are grounded and the WAIT is left open (asynchronous mode connection). The problem is that when I try to write a word in a specific address of the flash mem, this word is written everywhere, in the flash. This could be a hardware connection problem? Or Timing and Control Register for flash CS0, configuration values problem? Or Command definitions for write access to flash, problem? OR??? I use Trace32 ICD XSCALE to access to cpu.



Best regards, M. Kougia.


Do you issue read-array command after write sequence completes?

the

problem?

Yes, I give the following commands:

data.set ASD:0xC4000000 %LONG 0X94D1024E ; EXP_TIMING_CS0

d.s 0x50000000 %w 0x0060 d.s 0x50000000 %w 0x00D0 ; unlock block

d.s 0x50000000 %w 0x0020 d.s 0x50000000 %w 0x00D0 ; block erase d.s 0x50000000 %w 0x00FF ; set to read array state d.l 0x50000000 ; confirm the flash is erased.

d.s 0x50000000 %w 0x0040 ; d.s 0x50000000 %w 0x5678 ; 0x5678 is data word d.l 0x50000000 ; read status register - returned value is 0x0080

d.s 0x50000000 %w 0x00FF ; set to read array state d.l 0x50000000 ; read the word 0x5678 in any address into the flash???

Are the commands wrong?

the

problem?

Yes, I give the following commands:

data.set ASD:0xC4000000 %LONG 0X94D1024E ; EXP_TIMING_CS0

d.s 0x50000000 %w 0x0060 d.s 0x50000000 %w 0x00D0 ; unlock block

d.s 0x50000000 %w 0x0020 d.s 0x50000000 %w 0x00D0 ; block erase d.s 0x50000000 %w 0x00FF ; set to read array state d.l 0x50000000 ; confirm the flash is erased.

d.s 0x50000000 %w 0x0040 ; d.s 0x50000000 %w 0x5678 ; 0x5678 is data word d.l 0x50000000 ; read status register - returned value is 0x0080

d.s 0x50000000 %w 0x00FF ; set to read array state d.l 0x50000000 ; read the word 0x5678 in any address into the flash???

Are the commands wrong?

I assume the 0x50000000 is the base address for the flash? So d.l

0x50000002 also gives 0x5678? What if you read outside the block you unlocked? If that reads 0x5678 instead of 0xffff then there might be something wrong with addressing of the chip. You think you're reading a different location but you're actually reading the same location so you get 0x5678 all the time.

I don't have a P33 datasheet, but the one for the P30 says: "If only asynchronous reads are to be performed, CLK should be tied to a valid VIH level, WAIT signal can be floated and ADV# must be tied to ground."

Maybe the grounded CLK is the problem?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required