Other Parts Discussed in Thread: OMAPL138
Hello, my code is taking way too long to execute. It is taking 34 seconds to process a 128ms frame.
Here is my linker command file (OMAPL138.cmd) that I obtained from code composer studio. Can you tell me which sections should be moved to IRAM for the code to run faster?
/* OMAPL138.cmd */
/* Copyright (c) 2010 Texas Instruments Incorporated */
/* Author: Rafael de Souza */
/* */
/* Description: This file is a sample linker command file that can be */
/* used for linking programs built with the C compiler and */
/* running the resulting .out file on an OMAPL138 */
/* device. Use it as a guideline. You will want to */
/* change the memory layout to match your specific */
/* target system. You may want to change the allocation */
/* scheme according to the size of your program. */
/* */
/* Usage: The map below contains the local memory for each core */
/* Use the linker option --define=DSP_CORE=n */
/* Where n defines the core used: DSP (n=1) or ARM (n=0) */
/* */
/****************************************************************************/
-heap 0x40000
-stack 0x20000
{
#ifdef DSP_CORE /* DSP exclusive memory regions */
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 DSP local RAM */
DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 DSP local Program RAM */
DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 DSP local Data RAM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */
SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */
EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */
EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */
EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */
EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */
EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */
SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */
DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */
ARMRAM o = 0xFFFF0000 l = 0x00002000 /* 8kB ARM local RAM */
}
{
.text > DDR2
.stack > DDR2
.bss > DSPL2RAM
.heap > DSPL2RAM
.cio > DDR2
.const > DDR2
.data > DSPL2RAM
.switch > DDR2
.sysmem > DSPL2RAM
.far > DDR2
.args > DDR2
.ppinfo > DDR2
.ppdata > DDR2
/* TI-ABI or COFF sections */
.pinit > DDR2
.cinit > DDR2
/* EABI sections */
.binit > DDR2
.init_array > DDR2
.neardata > DDR2
.fardata > DDR2
.rodata > DDR2
.c6xabi.exidx > DDR2
.c6xabi.extab > DDR2
}