Other Parts Discussed in Thread: SYSBIOS
Tool/software: Code Composer Studio
I have created a simple SYSBIOS application that loads and runs correctly it I use a linker configuration of
MEMORY
{
MSMC (RWX) : ORIGIN = 0x70000000, LENGTH = 0x00200000
DDR (RWX) : ORIGIN = 0x80000000, LENGTH = 0x80000000
/* DDR (RWX) : ORIGIN = 0x800000000, LENGTH = 0x80000000 */
}
REGION_ALIAS("REGION_TEXT", MSMC);
REGION_ALIAS("REGION_BSS", MSMC);
REGION_ALIAS("REGION_DATA", MSMC);
REGION_ALIAS("REGION_STACK", MSMC);
REGION_ALIAS("REGION_HEAP", MSMC);
REGION_ALIAS("REGION_ARM_EXIDX", MSMC);
REGION_ALIAS("REGION_ARM_EXTAB", MSMC);
but when I change
REGION_ALIAS("REGION_HEAP", DDR);
the application gives an error immediately after JTAG has loaded the program. I'm targeting the A53 at this time. I am using the default GPEVM_AM65x.ccxml target configuration with zero changes. I have added
.myHeap (NOLOAD) : ALIGN(16) {
} > REGION_HEAP AT> REGION_HEAP
to the linker command file and
var heapMemParams = new HeapMem.Params();
heapMemParams.size = 64*1024; // 64kB
heapMemParams.sectionName = ".myHeap";
Program.global.heap1 = HeapMem.create(heapMemParams);
Memory.defaultHeapInstance = Program.global.heap1
to the app.cfg so that the sysbios heap does not end up being linked in to the .bss section.
Is there something missing from the DDR configuration in the default GEL files?