Forum Discussion
Altera_Forum
Honored Contributor
16 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 ...
Altera_Forum
Honored Contributor
16 years agoIt appears that my writes and reads are now functioning, with the following huge caveat.
The datasheet for the flash part (Intel P30 family) says that after performing erase or program or other operations, you have to write 0xFF to the device base address to return to Read Array mode. When I do this, and then perform a read, I don't get my data, I get status. FLASH_PTR[0] = 0xFF; //put device in read array mode data_in = FLASH_PTR[DATA_LOCATION]; //read the data In this case, the data_in equals the status data 0x80 instead of the data in that memory location. However, if I do the following, which is totally not what is specified in the datasheet, it works: FLASH_PTR[DATA_LOCATION] = 0xFF; //write read array command to data location instead of base address data_in = FLASH_PTR[DATA_LOCATION]; //read the data Then data_in is the data I previously wrote! Does this make sense in any way? I've heard that some flashes violate the prescribed operation.