Hi,
I have checked your schematics and the code.
Because you use 16 bits data width SRAM, you should have connected the EMC_A1 to SRAM_A0, EMC_A2 to SRAM_A1,... But you connect the EMC_A0 to SRAM_A0, EMC_A1 to SRAM_A1,....
In you connection that EMC_A0 to SRAM_A0, EMC_A1 to SRAM_A1,...are connected, you have to set the EMCSC bit in SCS register
LPC_SC->SCS=0x00000025; // The EMCES bit must be set

I have checked the timing configuration, I think it is okay
LPC_EMC->StaticConfig3 = 0x00080001; //working
//LPC_EMC->StaticConfig3 = 0x00080101; // Bit 1:0: 01 for 16 bit, bit 6=0 Chip Slect Low
// Bit 8=0 Extended wait disabled, bit 19 Buffer disable, Bit 20=0 Write Not protected
LPC_EMC->StaticWaitWen3 = 0x0000000F; // Bit Static Memory write enable delay
LPC_EMC->StaticWaitOen3 = 0x0000000F; // Bit Static Memory write enable delay
LPC_EMC->StaticWaitRd3 = 0x0000001F; // Bit Static Memory write enable delay
LPC_EMC->StaticWaitPage3 = 0x00000000; // Bit Static Memory write enable delay
LPC_EMC->StaticWaitWr3 = 0x0000001F; // Bit Static Memory write enable delay
LPC_EMC->StaticWaitTurn3 = 0x0000000F; // Bit Static Memory write enable delay
When you access the external memory, I suggest you use a loop so that you can see if the timing is correct
uint16_t temp;
for(;;)
{
*(uint16_t *)NVsram_locationfor2=0xaaaa; //using 16 bits access
__asm("nop");
temp=*(uint16_t *)NVsram_locationfor2;
__asm("nop");
}
Hope it can help you
BR
XiangJun Rong