Other Parts Discussed in Thread: AM1808
Hello,
I am using Starterware in CCSv4.2 on ARM9 AM1808 eXperimeter Kit Zoom board. With examples given from LogicPD BSL and Starterware, I am unable to load the built program in external memory 0xC0000000, on the other hand, it works with internal RAM (on-chip RAM starting with address 0x80000000). Since the mapping from LogicPD is consistent with external RAM peripheral memory map, it should had worked. Any suggestions where I might have gone wrong?
Same is true with CCSv5, so I don't think there is any issue with CCS version.
Regards,Yogendra
P.S.
Following doesn't work....
/****************************************************************************/
-stack 0x8000 /* SOFTWARE STACK SIZE */
-heap 0x2000 /* HEAP AREA SIZE */
-e Entry
/* SPECIFY THE SYSTEM MEMORY MAP */
MEMORY
{
DDR_MEM : org = 0xC1080000 len = 0x2F7FFFF /* RAM */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.init : {
system_config.lib<init.obj> (.text)
} load > 0xC1080000
.text : load > DDR_MEM /* CODE */
.data : load > DDR_MEM
.bss : load > DDR_MEM /* GLOBAL & STATIC VARS */
RUN_START(bss_start),
RUN_END(bss_end)
.const : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.cinit : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.stack : load > 0xC3FF7FFC /* SOFTWARE SYSTEM STACK */
}
Instead this works:
/****************************************************************************/
-stack 0x8000 /* SOFTWARE STACK SIZE */
-heap 0x2000 /* HEAP AREA SIZE */
-e Entry
/* SPECIFY THE SYSTEM MEMORY MAP */
MEMORY
{
DDR_MEM : org = 0x80000000 len = 0x2F7FFFF /* RAM */
}
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
SECTIONS
{
.init : {
system_config.lib<init.obj> (.text)
} load > 0x80000000
.text : load > DDR_MEM /* CODE */
.data : load > DDR_MEM
.bss : load > DDR_MEM /* GLOBAL & STATIC VARS */
RUN_START(bss_start),
RUN_END(bss_end)
.const : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.cinit : load > DDR_MEM /* SOFTWARE SYSTEM STACK */
.stack : load > 0x8001E000 /* SOFTWARE SYSTEM STACK */
}