Other Parts Discussed in Thread: TMS320F28377S
Hi,
I am currently facing an issue with EMIF1 write (16-bit) on TMS320F28377S with a DPRAM with Asynchronous interface.
When i am trying to write into @0x00300000 (EM1CS3) a value 0x0001 and @0x00300001 to a value 0x00002 , However the write operation performing as 32-bit write, instead 16-bit operation mode and result is on both the address 0x0002 value only Written.
So i am unable to write 16-bit data into EMIF1 in the single location @0x0030000. Where EMIF is accessing 32-bit location where i am trying to access 16-bit.
Where, i am able to read on 16-bit mode.
Please find the configuration and test code.
ASYNC_WCCR = 0x10000000h (WP0 - High, Max_Ext_Wait - 0x00h)
ASYNC_CS3_CR.ASIZE = 0x01h (16-bit)mode
ASYNC_CS3_CR.SS = Normal Mode
ASYNC_CS3_CR.EW = Disable
W_HOLD,W_SETUP,TA is correct.
#define CS3_START_ADDR 0x00300000u
volatile uint16_t *uiXMEM_wps_left;
uint16_t uiLoopCount;
uiXMEM_wps_left = (uint16_t *)(CS3_START_ADDR);
for (uiLoopCount=0x00u; uiLoopCount<uiDataLength;uiLoopCount++)
{
*uiXMEM_wps_left = (uint16_t)uiTxBuffer[uiLoopCount];
uiXMEM_wps_left += 2;
}
Regards
Chandra