I use HALCoGen 04.05.02 and Code Composer Studio 6.1.2 for my custom RM48L950ZWT board. I need to use EMIF interface to connect to IDT Asynchronous Dual-Port RAM.
I cannot see any signal come from RM48 CPU to my RAM right now.
I try to follow all thing I can find from TI community. It is what I did in my project:
Enable EMIF driver under Driver Enable,
Enable EMIF ASYNC1 under EMIF general, use default setting for EMIF ASYNC1.
ENABLE EMIF UNDER Pin Muxing.
For R4-MPU-PMU, There are 12 default region. I cannot find document explain of it. So my question will like: how do I set it up for my external RAM? Which region I should use? What is base address I should use? Should I keep all these 12 region enable or only enable my external RAM one?
My sys_link.cmd looks like this:
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00001500
RAM (RW) : origin=0x08001500 length=0x0003eb00
/* USER CODE BEGIN (2) */
/* USER CODE END */
}
*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.intvecs : {} > VECTORS
.text : {} > FLASH0 | FLASH1
.const : {} > FLASH0 | FLASH1
.cinit : {} > FLASH0 | FLASH1
.pinit : {} > FLASH0 | FLASH1
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
/* USER CODE BEGIN (4) */
/* USER CODE END */
}
I write this code in sys_main.c for testing:
volatile int *p = (volatile int*)0x08001500;
*p =0xffffffff;
*p =0;
The debugger show the correct value, but it is not from my external RAM. From memory map, it looks like from internal RAM
Which step is wrong or I still missing something?
Thanks,
Yi Cui