I am having trouble mapping a 128KB NVRAM device into the IFC (GPCM mode) on a t1040. The NVRAM device is a 1Mb (64Kx16) device and is the CY14V101NA. The problem I am seeing is the first 64KB is being repeated, i.e. writing to offset 0 also writes to offset 0x10000.
We are using a custom vxWorks BSP which configures the IFC as follows:
CSOR2 0x00000000
AMASK2 0xFFFE0000
CSPR2_EXT 0xF
CSPR2 0xFFDE0085
LAWBARH3 0x0F
LAWBARL3 0xFFDE0000
LAWAR3 0x81F00010
I have tried changing the CSPR2 register to 0xFFDE0105 to enable x16 mode, but still see the same problem.
The device is connected as follows:
IFC_ADDR[31] - A0
: :
IFC_ADDR[16] - A15
IFC_AD[15] - DQ0
: :
IFC_AD[0] - DQ15
with BHE and BLE pulled low.
So my question is what have I missed?
Unfortunately you made a mistake with address connection. Note, the write to offset 0x10000 assumes that IFC_ADDR[15] is '1', other address bits are '0'. However in your scheme IFC_ADDR[15] is not even connected to the SRAM... This is why the SRAM does not see any difference between offsets 0x10000 and 0x00000.
Correct wiring for x16 bit memory should be as following:
IFC_ADDR[30] - A0
IFC_ADDR[29] - A1
: :
IFC_ADDR[15] - A15
Regards,
Bulat
Thanks for your reply, I suspected it was something like this, I was just hoping there was a solution that could be done from within the software. I'll speak to the hardware engineers next time I see them