Hi all,
I'm having trouble getting my Starterware-based project to write/read from NOR flash. I am using a PC28F00AP33-TFA for my NOR flash. I am interfacing to the AM3359 on a custom made board. I have configured the GPMC module for 16-bit, AD multiplexed NOR device. I am able to read the Manufacturer Code and Device ID Code.
My issue is that when I write to a 16-bit location on the device, it appears that the write also occurs at the next memory location. I experience this issue using asynchronous single read/writes.
I may have incorrect timing settings, but I am not sure where to look. Does anyone have any advice?
Thank you in advance for any advice you may have.
We discovered that this was a schematic issue.
Looking at Table 7-5 in the TRM, it indicates that gpmc_a[0] is not used when configured for 16-bit multiplexed device.
Additionally, GPMC_AD[15-0] should ALL be connected to the Flash device's address lines.
After board rework, I found the following issue and solution:
The TRM / Datasheet for the AM3359 has a bit of a conflict. If you want to connect to a Multiplexed Address/Data 16-bit device, you'll need to use the GPMC signals GPMC[11:1].
The IO configuration for these signals say that a mux value of 0 will make them behave as GPMC_A[11:1]. A mux value of 4 will force them to GPMC_A[27:17].
To use the GPMC peripheral for a AD Mux device, the IO mux for GPMC_A[11:1] must be set as value 0.
I have verified these settings on real hardware.