Hi all,
I have encountered a error when integrating the FAXLIB to dvsdk.
Error: DSP-side memory map does not match configuration.
Compare DSP-side TCF/MAP file with /dsplink/config/all/CFG_<PLATFORM>.c
And the dvsdk version is dvsdk_omapl138-evm_04_03_00_06, my system has 128 MB of DDR2 memory. My platform's memory map:
var mem_ext = [
{
comment: "SDRAM: off-chip memory for application code and data",
name: "SDRAM",
base: 0xC6C00000,
len: 0x00300000,
space: "code/data"
},
{
comment: "RESET_VECTOR: off-chip memory for the reset vector table",
name: "RESET_VECTOR",
base: 0xC6F00000,
len: 0x00001000,
space: "code/data"
},
{
comment: "DSPLINK: off-chip memory reserved for DSPLINK code and data",
name: "DSPLINKMEM",
base: 0xC6F01000,
len: 0x00100000 - 0x1000,
space: "code/data"
},
{
comment: "DDRALGHEAP: off-chip memory for dynamic algmem allocation",
name: "DDRALGHEAP",
base: 0xC7000000,
len: 0x01000000,
space: "code/data"
},
];
And I specify some sections allocation in link.cmd
MEMORY
{
PAGE 0 :
VECTORS : origin = 0xC6200000, length = 0x100000
SWITCH : origin = 0xC6300000, length = 0x100000
DATA_STACK : origin = 0xC6400000, length = 0x100000
DATA_CONSTBSS : origin = 0xC6500000, length = 0x200000
DATA_CINIT : origin = 0xC6700000, length = 0x100000
PROG_FM : origin = 0xC6800000, length = 0x100000
PROG : origin = 0xC6900000, length = 0x100000
}
SECTIONS
{
.text_fm > PROG_FM
{
../../../../../mas/fm/lib/fm_c.a64P (.text)
../../../../../mas/fm/lib/fm_a.a64P (.text)
../../../../../mas/hdlc/lib/hdlc_c.a64P (.text)
} PAGE 0
.text > PROG
{
*(.text)
} PAGE 0
.far > DATA_CONSTBSS
{
*(.far)
} PAGE 0
.const > DATA_CONSTBSS
{
../../../../../mas/fm/lib/fm_c.a64P(dpuv27RelocatableTables)
../../../../../mas/fm/lib/fm_c.a64P(dpuv29RelocatableTables)
../../../../../mas/fm/lib/fm_c.a64P(dpuv17RelocatableTables)
../../../../../mas/fm/lib/fm_c.a64P(dpuc1RelocatableTables)
../../../../../mas/fm/lib/fm_c.a64P(dputrecRelocatableTable)
*(.const)
} PAGE 0
.cinit > DATA_CINIT PAGE 0
.sysmem > DATA_CONSTBSS PAGE 0
// .stack > DATA_STACK PAGE 0
.switch > SWITCH PAGE 0
.args > DATA_CONSTBSS PAGE 0
.cio > PROG PAGE 0
}
I trace the code, and I found that the error occurred in the function DA8XXGEM_addrConvert() (defined in dvsdk/dsplink_1_65_01_05_eng/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem.c). The function would compare the output section's address(defined in dvsdk/codec-engine_2_26_02_11/examples/ti/sdo/ce/examples/servers/all_codecs/package/cfg/bin/ti_platforms_evmOMAPL138/all.x674.map) with Codec Server's memEntry(specifed in dvsdk/codec-engine_2_26_02_11/examples/ti/sdo/ce/examples/servers/all_codecs/all_evmOMAPL138.tci). Then once the output section's addr is not RANGE_VALID, it would not do address convertion.
Is my link.cmd file correct? Should these memory maps(specified in link.cmd and setuped in all_evmOMAPL138.tci) overlap?Last one, if I uncomment the .stack section, I would get the error
"
undefined first referenced
symbol in file
--------- ----------------
__STACK_SIZE /usr/local/dvsdk/dspbios_5_41_03_17/packages/ti/bios/lib/bios.a674<boot.o674>
"
Best regards,
Buga