hello!
I config the emif moudle work on normal mode,16bit data and addr,async mode,CS4,no externed wait.
I write data to fpga by the function:(ASRAM_EMIF_CS4_START_ADDR is 0x6800 0000)
void Emif_WrData(uint16 WrAddr, uint16 WrData)
{
EmifMSG.Start_Addr_wr = WrAddr + ASRAM_EMIF_CS4_START_ADDR ;
XMEM_ps = (uint16*)(EmifMSG.Start_Addr_wr);
*XMEM_ps = WrData;
}
I send the data 0x0004 to fpga's address,but the nWE pin is pulled down two times,the first time emif send 0x00 00,the second time emif send 0x00 04.see the picture:
I guess the actual data 0x0004 is divided to two byte:0x00 and 0x04, then emif moudle make the 0x00 to 0x0000,the 0x04 to 0x0004,and send to fpga.
I would like to ask how to solve this problem on the TMS570 side,not on the fpga side?
thanks!