This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem with memory allocation in linker command file for OMAP L138.

Hi all,

I am struggling with integrating my own C library (2.5 MB !!!!) with CCSv5 on OMAP L138 kit.

Before intergating this library with my application it was running fine but after adding library I could see that functions like :

uint32_t EVMOMAPL138_init(void);
uint32_t EVMOMAPL138_initRAM(void);

are not initialized and execution gets suspended. I am sure that this is some issue related with my memory allocation in linker command file.

My initial linker command file looks like below:

-stack 0x00000800
-heap 0x00010000

MEMORY
{
dsp_l2_ram: ORIGIN = 0x11800000 LENGTH = 0x00040000
shared_ram: ORIGIN = 0x80000000 LENGTH = 0x00020000
external_ram: ORIGIN = 0xC0000000 LENGTH = 0x08000000
}

SECTIONS
{
.text > dsp_l2_ram
.const > dsp_l2_ram
.bss > dsp_l2_ram
.far > external_ram
.switch > dsp_l2_ram
.stack > dsp_l2_ram
.data > dsp_l2_ram
.cinit > dsp_l2_ram
.sysmem > dsp_l2_ram
.cio > dsp_l2_ram
.vecs > dsp_l2_ram
.EXT_RAM > external_ram
}

I tried changing .text section allocation to external RAM (due to large code size) but again it gets suspended.

Could anybody please let me know how should I configure my memory allocation for such a big application?

Thanks and regards,

Sanjay.