Part Number: TMS320F28379D
Tool/software: Code Composer Studio
Hi,
I test a controllsuit sample project "emf1_16bit_asram "
i modify source code next
#define ASRAM_CS2_START_ADDR 0x100000
#define ASRAM_X_Offset_ADDR 0x000000
char
mem_write(Uint32 start_addr, Uint16 mem_size, Uint16 *W_Addr)
{
Uint16 mem_wds;
long *XMEM_ps;
unsigned int i;
{
Uint16 mem_wds;
long *XMEM_ps;
unsigned int i;
XMEM_ps = (long *)start_addr;
for (i=0; i < mem_size; i++)
{
mem_wds = *W_Addr++;
*XMEM_ps++ = mem_wds;
}
for (i=0; i < mem_size; i++)
{
mem_wds = *W_Addr++;
*XMEM_ps++ = mem_wds;
}
return(1);
}
}
main()
{
Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_8 | // 16Bit Memory
// Interface
EMIF_ASYNC_TA_1 | // Turn Around time
// of 2 Emif Clock
EMIF_ASYNC_RHOLD_5 | // Read Hold time
// of 1 Emif Clock
EMIF_ASYNC_RSTROBE_4 | // Read Strobe time
// of 4 Emif Clock
EMIF_ASYNC_RSETUP_3 | // Read Setup time
// of 1 Emif Clock
EMIF_ASYNC_WHOLD_1 | // Write Hold time
// of 1 Emif Clock
EMIF_ASYNC_WSTROBE_1 | // Write Strobe time
// of 1 Emif Clock
EMIF_ASYNC_WSETUP_1 | // Write Setup time
// of 1 Emif Clock
EMIF_ASYNC_EW_DISABLE | // Extended Wait
// Disable.
EMIF_ASYNC_SS_DISABLE // Strobe Select Mode
// Disable.
);
// Interface
EMIF_ASYNC_TA_1 | // Turn Around time
// of 2 Emif Clock
EMIF_ASYNC_RHOLD_5 | // Read Hold time
// of 1 Emif Clock
EMIF_ASYNC_RSTROBE_4 | // Read Strobe time
// of 4 Emif Clock
EMIF_ASYNC_RSETUP_3 | // Read Setup time
// of 1 Emif Clock
EMIF_ASYNC_WHOLD_1 | // Write Hold time
// of 1 Emif Clock
EMIF_ASYNC_WSTROBE_1 | // Write Strobe time
// of 1 Emif Clock
EMIF_ASYNC_WSETUP_1 | // Write Setup time
// of 1 Emif Clock
EMIF_ASYNC_EW_DISABLE | // Extended Wait
// Disable.
EMIF_ASYNC_SS_DISABLE // Strobe Select Mode
// Disable.
);
*W_Data = 0x0000;
ErrCount_local_m = mem_write(ASRAM_CS2_START_ADDR + ASRAM_X_Offset_ADDR + 0x0002, 1, W_Data);
ErrCount_local_m = mem_write(ASRAM_CS2_START_ADDR + ASRAM_X_Offset_ADDR + 0x0002, 1, W_Data);
}
ch1 cs, ch2 we
i guess 1 cs, 1 we signal occur but 1 cs, 4 we
i can't understand
and i change
EMIF_ASYNC_ASIZE_8 --> EMIF_ASYNC_ASIZE_16
1 cs, 2 we
EMIF_ASYNC_ASIZE_8 --> EMIF_ASYNC_ASIZE_16
1cs, 1we
and
long *XMEM_ps; --> Uint16 *XMEM_ps
EMIF_ASYNC_ASIZE_8 --> EMIF_ASYNC_ASIZE_16
1 cs 1 we signal
why?
