Altera_Forum
Honored Contributor
15 years agoFlash read causes two reads
I have the Stratix III development kit with the 512-Mbit Intel part on it.
My command writes appear to be correct, looking at it with SignalTap. I write to the base address a command such as Read Device ID (0x90) and I see the strobes go. However, when I then perform a direct 16 bit read (for example to read the config register after issuing the above write), I see TWO reads on the flash, i.e. flash_data_in = IORD_16DIRECT(CFI_FLASH_0_BASE, 5); This performs a read to flash address 0x00000004 and then immediately to 0x00000006, neither of which are what I want. I am not sure what is going on here except that it looks like some kind of bus width translation issue. I have a Nios II system with the CFI peripheral set to address width 24 (24:0) and the data width 16. The flash lives at 0x04000000. Thanks, -Brad