Hi everyone,
my dsp code works fine on OMAP-L138 using emulator, but not running when boot from NADA if the section in red is in L2. If I move it to DDR2, then it works. what could be the issues? my EDMA, McASP are not working no matter the red section is in L2 or DDR2, but it work fine using emulator.
any helo is appreciated!
Ron
-stack 0x10000
-heap 0x10000
// ============================================================================
// Specify the System Memory Map
// ============================================================================
MEMORY
{
L1P: o = 0x11E00000 l = 0x00008000
L1D: o = 0x11F00000 l = 0x00008000
L2: o = 0x11800000 l = 0x0003F980
DARAM_MATRICE: o = 0x1183F980 l = 0x00000280
DARAM_TTY_DATA: o = 0x1183FC00 l = 0x00000300
DARAM_TTY_COEFF: o = 0x1183FF00 l = 0x00000100
shared_ROM_DSP: o = 0x80000000 l = 0x00003FFF
entry_point: o = 0x80004000 l = 0x00000100
shared_ram_DSP: o = 0x80004100 l = 0x00010F00
DDR2: o = 0xC0000000 l = 0x01000000
}
// ============================================================================
// Specify the Sections Allocation into Memory
// ============================================================================
SECTIONS
{
.cinit > DDR2 // Initialization Tables
.pinit > DDR2 // Constructor Tables
.init_array > L2 //
.binit > DDR2 // Boot Tables
.const > DDR2 // Constant Data
.switch > DDR2 // Jump Tables
.text > DDR2 // Executable Code
// .text:_c_int00: align=1024 > DDR2 // Entrypoint
.text:_c_int00 > entry_point
GROUP (NEARDP_DATA) // group near data
{
.neardata
.rodata
.bss // note: removed fill = 0
}> DDR2
.far: fill = 0x0, load > DDR2 // Far Global & Static Variables
.fardata > DDR2 // Far RW Data
.stack > L2 // Software System Stack
.sysmem > L2 // Dynamic Memory Allocation Area
.cio > DDR2 // C I/O Buffer
.vecs > DDR2 // Interrupt Vectors
BdtFIR > DARAM_TTY_COEFF
/* DPR
{
MemoirePartageeUSB.obj
} > DDR2 */
}