Connect an Intel strataflash P33 with an intel processor IXP465.

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.

Reply to
mkougia
Loading thread data ...

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

Reply to
Dingo

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?

Reply to
mkougia

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?

Reply to
mkougia

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.
Reply to
GaryKato

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?

Reply to
Dingo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.