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.

Multiple definitions of BSS

Other Parts Discussed in Thread: TMS320C6455, SYSBIOS

Converting a project from DSP/BIOS to SYS/BIOS (TMS320C6455)

Converted TCF file to CFG file, created platform. Setup CCSv5, compile, link without errors (legacy COFF)

MAP file output shows that symbol ".bss" has been allocated to the same location as ".text":

Then, further down in the file, a proper list of ".bss" locations is found. Bad news is that the address used by "c_int00" to populate the DP register is the first one, causing the cinit function to clear a bunch of code.

What did I do wrong ?

(I wasn't sure what else to include with this first question)

Thanks

*************TOP of MAP file


MEMORY CONFIGURATION

name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
DEADBEEF 00820000 00000100 00000000 00000100 RWIX
INIT 00820100 00000400 00000000 00000400 RWIX
IRAM 00820500 001cfb00 00125894 000aa26c RWIX
CACHE_L2 009f8000 00008000 00000000 00008000 RWIX
CACHE_L1P 00e00000 00008000 00000000 00008000 RWIX
CACHE_L1D 00f00000 00008000 00000000 00008000 RWIX
DDR e0000000 01000000 00162bb6 00e9d44a RWIX
DDR_UNCACHED e1000000 01000000 00000000 01000000 RWIX


SECTION ALLOCATION MAP

output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.pinit 0 00820500 00000000 UNINITIALIZED

.cinit 0 00820500 00000000 UNINITIALIZED

.pinit 0 00820500 00000000 UNINITIALIZED

.bss 0 00820500 00000000 UNINITIALIZED

.data 0 00820500 00000000 UNINITIALIZED

xdc.meta 0 00820500 000000d7 COPY SECTION
00820500 000000d7 SYS1_p64P.o64P (xdc.meta)

.text 0 00820500 000ebfa0
00820500 00010f40 std_msg.obj (.text)
00831440 0000bb20 mount.obj (.text)
0083cf60 0000a7e0 query.obj (.text)
00847740 00006fa0 video.obj (.text)

etc...
********************* TOP of MAP file

......

**************** later in MAP file:


.bss 0 00944b48 00000e20 UNINITIALIZED
00944b48 000002cc globvars.obj (.bss)
00944e14 00000194 mount.obj (.bss)
00944fa8 00000064 Cohu.obj (.bss)

etc...

  • The fact that those sections are zero length is more important than that they start at the same address; an empty section can go anywhere.

    The address of .bss should not change from one point of the linker map file to another. There may be something strange in your linker map file. Perhaps you have more than one specification for the .bss section?
  • Thanks. I found that the project was setup to suppress the following warnings (one example here - there are quite a few). My guess is that the linker is confused after this.
    I think I understand the warning BUT don't know where to change the linker settings appropriately. Can you help ? VideoCommon is my source file, and freshly compiled so one solution would be to specify to the compiler that the BSS output should NOT be base-relative, correct ? How do I do that ? OR I guess I could change the linker settings to make all BSS references base-relative ?? Where is this option even set ?
    Thanks


    "C:/7000/common/videoCommon.c", line 180: warning #17009-D: relocation type is static base-relative, but references symbol "_DaughterCardType" defined in section ".bss"; references to section ".bss" are not relative to any static base, so this relocation cannot be performed (type = 'R_C60BASE' (80), file = "./videoCommon.obj", offset = 0x00000018, section = ".text")
  • Richard,
    can you post your linker command line from the console output? If there are any linker command scripts in the top directory of your project, please post them too, and also please post linker.cmd from Debug/configPkg.
  • Thanks for your help!

    LINKER COMMAND LINE:
    'Building target: SYS1_7400.out'
    'Invoking: C6000 Linker'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv64+ --abi=coffabi -g --define=DSP=1 --define=BUILD_FOR_7400=1 --display_error_number --diag_warning=225 --diag_wrap=off -z -m"SYS1_7400.map" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --reread_libs --warn_sections --display_error_number --diag_suppress=16002 --diag_suppress=17009 --diag_wrap=off --xml_link_info="SYS1_7400_linkInfo.xml" --rom_model -o "SYS1_7400.out" -l"./configPkg/linker.cmd" "./vsync.obj" "./virtualUart.obj" "./vinten.obj" "./videoSwitch.obj" "./videoLut.obj" "./videoCommon.obj" "./video.obj" "./vertical.obj" "./version.obj" "./vector.obj" "./validate.obj" "./utility.obj" "./timer.obj" "./threshld.obj" "./tempSens.obj" "./tcp_server.obj" "./tcp_client.obj" "./targetSim.obj" "./swdl.obj" "./std_msg.obj" "./state.obj" "./srio.obj" "./spiFlash.obj" "./simUart.obj" "./selftest.obj" "./scomm.obj" "./sagebrush.obj" "./rpm.obj" "./quickset.obj" "./query.obj" "./positionTrack.obj" "./pelco.obj" "./overlay.obj" "./orbit.obj" "./oos.obj" "./multiTarget.obj" "./mount.obj" "./memtest.obj" "./memMain.obj" "./lrf.obj" "./lltimer.obj" "./llpacket.obj" "./kollmorgan.obj" "./kernel5x5.obj" "./joystick.obj" "./instro.obj" "./iff.obj" "./i2c_comm.obj" "./history.obj" "./histogramCommon.obj" "./histogram.obj" "./graflexMount.obj" "./globvars.obj" "./functions.obj" "./fpgaFlash.obj" "./fpga.obj" "./flir_evpu_mso_2.obj" "./flir_eseries_ptu.obj" "./flirCRC.obj" "./filter.obj" "./err_outp.obj" "./end_gate.obj" "./emac_ctrl.obj" "./dspCommon.obj" "./dsp1_main.obj" "./dacu.obj" "./crypto.obj" "./corstate.obj" "./correlation.obj" "./config.obj" "./commands.obj" "./camera.obj" "./c6455_mdio.obj" "./busComm.obj" "./bitCommon.obj" "./autothld.obj" "./auto_pol.obj" "./auto_acq.obj" "./ascii_tbl.obj" "./aps.obj" "./annotate.obj" "./aberdeen.obj" "./VideoEnc.obj" "./VideoDec.obj" "./StingRayOptics.obj" "./Sophie.obj" "./PVPNightHawkMount.obj" "./PVPNightHawkLens.obj" "./Optec.obj" "./MalibuResearchMount.obj" "./Janos.obj" "./ItsPelco.obj" "./Indigo.obj" "./IDSP.obj" "./GraflexLens.obj" "./Fujinon.obj" "./FlirRangerHrc.obj" "./FlirRS6700.obj" "./Flash.obj" "./FPGA_PROM.obj" "./Diop.obj" "./Cohu.obj" "./AeroflexIttMount.obj" "../SYS1.cmd" -l"libc.a" -l"C:\7000\common\csl_c6455\lib\csl_c6455.lib" -l"C:\7000\ip_stack\hal_userled_stub.lib" -l"C:\7000\ip_stack\hal_ser_stub.lib" -l"C:\7000\ip_stack\nettools.lib" -l"C:\7000\ip_stack\netctrls.lib" -l"C:\7000\ip_stack\stack.lib" -l"C:\7000\ip_stack\oslib.lib"
    <Linking>
    'Finished building target: SYS1_7400.out'

    LINKER SCRIPT:
    SECTIONS
    {
    .deadbeef > DEADBEEF
    .booty > INIT
    .text > IRAM
    .cinit > IRAM
    .const > IRAM
    .switch > IRAM
    .pinit > IRAM
    .bss
    {
    _bss_start = .;
    *(.bss)
    _bss_end = .;
    _bss_size = (_bss_end - _bss_start);

    } > IRAM

    .sysmem > IRAM
    .printf > IRAM
    .data > IRAM
    .cio > IRAM
    .srioData > IRAM

    .blobData
    {
    *(.blobData)
    _iram_end = .;

    } > IRAM

    /* (above) blobData is broken out in order to get the address of the end of IRAM */
    /* (below) starts data placed in DDRam */

    .far
    {
    _far_start = .;
    *(.far)
    _far_end = .;
    _far_size = (_far_end - _far_start);

    } > DDR

    .fontData > DDR
    .testData > DDR
    .flashData > DDR
    .histogram > DDR
    .packetBuffer > DDR
    }


    LINKER.CMD:
    /*
    * Do not modify this file; it is automatically generated from the template
    * linkcmd.xdt in the ti.targets package and will be overwritten.
    */

    /*
    * put '"'s around paths because, without this, the linker
    * considers '-' as minus operator, not a file name character.
    */

    -l"C:\Users\rdobbis\workspace_v5_5\SYS1_7400\Debug\configPkg\package\cfg\SYS1_p64P.o64P"
    -l"C:\ti\bios_6_35_04_50\packages\ti\bios\lib\release\ti.bios.a64P"
    -l"C:\ti\bios_6_35_04_50\packages\ti\bios\support\lib\release\ti.bios.support.a64P"
    -l"C:\ti\bios_6_35_04_50\packages\ti\sysbios\lib\sysbios\instrumented\sysbios.a64P"
    -l"C:\ti\xdctools_3_25_03_72\packages\ti\targets\rts6000\lib\ti.targets.rts6000.a64P"
    -l"C:\ti\xdctools_3_25_03_72\packages\ti\targets\rts6000\lib\boot.a64P"


    /* function aliases */
    /* ignore error about def and ref in the same file */
    --diag_remark=10268
    --symbol_map _xdc_runtime_System_flush__E=_xdc_runtime_System_flush__F
    --symbol_map _xdc_runtime_Memory_query__E=_xdc_runtime_Memory_query__F
    --symbol_map _xdc_runtime_System_putch__E=_xdc_runtime_System_putch__F
    --symbol_map _xdc_runtime_Registry_getMask__E=_xdc_runtime_Registry_getMask__F
    --symbol_map _xdc_runtime_LoggerBuf_write4__E=_xdc_runtime_LoggerBuf_write4__F
    --symbol_map _xdc_runtime_LoggerBuf_reset__E=_xdc_runtime_LoggerBuf_reset__F
    --symbol_map _xdc_runtime_System_avsprintf__E=_xdc_runtime_System_avsprintf__F
    --symbol_map _xdc_runtime_Startup_exec__E=_xdc_runtime_Startup_exec__F
    --symbol_map _ti_sysbios_heaps_HeapBuf_free__E=_ti_sysbios_heaps_HeapBuf_free__F
    --symbol_map _xdc_runtime_System_abort__E=_xdc_runtime_System_abort__F
    --symbol_map _xdc_runtime_Text_matchRope__E=_xdc_runtime_Text_matchRope__F
    --symbol_map _xdc_runtime_LoggerBuf_write8__E=_xdc_runtime_LoggerBuf_write8__F
    --symbol_map _xdc_runtime_System_vsnprintf__E=_xdc_runtime_System_vsnprintf__F
    --symbol_map _ti_sysbios_misc_Stats_print__E=_ti_sysbios_misc_Stats_print__F
    --symbol_map _xdc_runtime_System_sprintf_va__E=_xdc_runtime_System_sprintf_va__F
    --symbol_map _xdc_runtime_LoggerBuf_flushAll__E=_xdc_runtime_LoggerBuf_flushAll__F
    --symbol_map _ti_bios_support_Sys_exit__E=_ti_bios_support_Sys_exit__F
    --symbol_map _xdc_runtime_LoggerBuf_getFilterLevel__E=_xdc_runtime_LoggerBuf_getFilterLevel__F
    --symbol_map _xdc_runtime_Error_getData__E=_xdc_runtime_Error_getData__F
    --symbol_map _xdc_runtime_Timestamp_get64__E=_xdc_runtime_Timestamp_get64__F
    --symbol_map _xdc_runtime_Memory_alloc__E=_xdc_runtime_Memory_alloc__F
    --symbol_map _ti_sysbios_misc_Stats_getMax__E=_ti_sysbios_misc_Stats_getMax__F
    --symbol_map _xdc_runtime_Error_raiseX__E=_xdc_runtime_Error_raiseX__F
    --symbol_map _xdc_runtime_LoggerBuf_setFilterLevel__E=_xdc_runtime_LoggerBuf_setFilterLevel__F
    --symbol_map _xdc_runtime_LoggerBuf_enable__E=_xdc_runtime_LoggerBuf_enable__F
    --symbol_map _xdc_runtime_LoggerBuf_getNextEntry__E=_xdc_runtime_LoggerBuf_getNextEntry__F
    --symbol_map _xdc_runtime_Memory_getStats__E=_xdc_runtime_Memory_getStats__F
    --symbol_map _xdc_runtime_Error_init__E=_xdc_runtime_Error_init__F
    --symbol_map _xdc_runtime_Registry_findByName__E=_xdc_runtime_Registry_findByName__F
    --symbol_map _xdc_runtime_Log_doPrint__E=_xdc_runtime_Log_doPrint__F
    --symbol_map _xdc_runtime_Memory_getMaxDefaultTypeAlign__E=_xdc_runtime_Memory_getMaxDefaultTypeAlign__F
    --symbol_map _xdc_runtime_Text_putLab__E=_xdc_runtime_Text_putLab__F
    --symbol_map _xdc_runtime_Registry_getModuleId__E=_xdc_runtime_Registry_getModuleId__F
    --symbol_map _xdc_runtime_Registry_findById__E=_xdc_runtime_Registry_findById__F
    --symbol_map _xdc_runtime_System_snprintf_va__E=_xdc_runtime_System_snprintf_va__F
    --symbol_map _xdc_runtime_Gate_enterSystem__E=_xdc_runtime_Gate_enterSystem__F
    --symbol_map _xdc_runtime_Registry_getNextModule__E=_xdc_runtime_Registry_getNextModule__F
    --symbol_map _xdc_runtime_System_printf_va__E=_xdc_runtime_System_printf_va__F
    --symbol_map _xdc_runtime_Text_cordText__E=_xdc_runtime_Text_cordText__F
    --symbol_map _xdc_runtime_LoggerBuf_disable__E=_xdc_runtime_LoggerBuf_disable__F
    --symbol_map _xdc_runtime_Registry_getModuleName__E=_xdc_runtime_Registry_getModuleName__F
    --symbol_map _xdc_runtime_LoggerBuf_flush__E=_xdc_runtime_LoggerBuf_flush__F
    --symbol_map _xdc_runtime_Registry_findByNamePattern__E=_xdc_runtime_Registry_findByNamePattern__F
    --symbol_map _ti_sysbios_gates_GateHwi_query__E=_ti_sysbios_gates_GateHwi_query__F
    --symbol_map _xdc_runtime_LoggerBuf_flushAllInternal__E=_xdc_runtime_LoggerBuf_flushAllInternal__F
    --symbol_map _xdc_runtime_Error_check__E=_xdc_runtime_Error_check__F
    --symbol_map _ti_sysbios_heaps_HeapBuf_getStats__E=_ti_sysbios_heaps_HeapBuf_getStats__F
    --symbol_map _ti_sysbios_misc_Stats_getPrev__E=_ti_sysbios_misc_Stats_getPrev__F
    --symbol_map _xdc_runtime_System_vsprintf__E=_xdc_runtime_System_vsprintf__F
    --symbol_map _xdc_runtime_Text_putSite__E=_xdc_runtime_Text_putSite__F
    --symbol_map _xdc_runtime_System_exit__E=_xdc_runtime_System_exit__F
    --symbol_map _xdc_runtime_Error_print__E=_xdc_runtime_Error_print__F
    --symbol_map _xdc_runtime_System_asprintf_va__E=_xdc_runtime_System_asprintf_va__F
    --symbol_map _xdc_runtime_Registry_addModule__E=_xdc_runtime_Registry_addModule__F
    --symbol_map _xdc_runtime_Timestamp_getFreq__E=_xdc_runtime_Timestamp_getFreq__F
    --symbol_map _xdc_runtime_Registry_isMember__E=_xdc_runtime_Registry_isMember__F
    --symbol_map _xdc_runtime_Error_getCode__E=_xdc_runtime_Error_getCode__F
    --symbol_map _ti_sysbios_misc_Stats_reset__E=_ti_sysbios_misc_Stats_reset__F
    --symbol_map _ti_sysbios_misc_Stats_delta__E=_ti_sysbios_misc_Stats_delta__F
    --symbol_map _xdc_runtime_SysMin_putch__E=_xdc_runtime_SysMin_putch__F
    --symbol_map _xdc_runtime_SysMin_exit__E=_xdc_runtime_SysMin_exit__F
    --symbol_map _xdc_runtime_Memory_free__E=_xdc_runtime_Memory_free__F
    --symbol_map _xdc_runtime_Startup_rtsDone__E=_xdc_runtime_Startup_rtsDone__F
    --symbol_map _xdc_runtime_Timestamp_get32__E=_xdc_runtime_Timestamp_get32__F
    --symbol_map _ti_sysbios_gates_GateMutex_query__E=_ti_sysbios_gates_GateMutex_query__F
    --symbol_map _xdc_runtime_System_aprintf_va__E=_xdc_runtime_System_aprintf_va__F
    --symbol_map _ti_bios_support_Lck_pend__E=_ti_bios_support_Lck_pend__F
    --symbol_map _ti_sysbios_misc_Stats_getCount__E=_ti_sysbios_misc_Stats_getCount__F
    --symbol_map _xdc_runtime_SysMin_flush__E=_xdc_runtime_SysMin_flush__F
    --symbol_map _xdc_runtime_Gate_leaveSystem__E=_xdc_runtime_Gate_leaveSystem__F
    --symbol_map _ti_bios_support_Sys_error__E=_ti_bios_support_Sys_error__F
    --symbol_map _ti_bios_support_Lck_post__E=_ti_bios_support_Lck_post__F
    --symbol_map _ti_bios_support_Sys_abort__E=_ti_bios_support_Sys_abort__F
    --symbol_map _xdc_runtime_Error_getMsg__E=_xdc_runtime_Error_getMsg__F
    --symbol_map _xdc_runtime_Memory_valloc__E=_xdc_runtime_Memory_valloc__F
    --symbol_map _xdc_runtime_SysMin_ready__E=_xdc_runtime_SysMin_ready__F
    --symbol_map _ti_sysbios_misc_Stats_add__E=_ti_sysbios_misc_Stats_add__F
    --symbol_map _xdc_runtime_Diags_setMask__E=_xdc_runtime_Diags_setMask__F
    --symbol_map _xdc_runtime_SysMin_abort__E=_xdc_runtime_SysMin_abort__F
    --symbol_map _ti_sysbios_misc_Stats_getTotal__E=_ti_sysbios_misc_Stats_getTotal__F
    --symbol_map _xdc_runtime_LoggerBuf_write0__E=_xdc_runtime_LoggerBuf_write0__F
    --symbol_map _xdc_runtime_Text_ropeText__E=_xdc_runtime_Text_ropeText__F
    --symbol_map _xdc_runtime_System_avprintf__E=_xdc_runtime_System_avprintf__F
    --symbol_map _xdc_runtime_LoggerBuf_write1__E=_xdc_runtime_LoggerBuf_write1__F
    --symbol_map _xdc_runtime_Error_getId__E=_xdc_runtime_Error_getId__F
    --symbol_map _xdc_runtime_Error_getSite__E=_xdc_runtime_Error_getSite__F
    --symbol_map _ti_sysbios_misc_Stats_set__E=_ti_sysbios_misc_Stats_set__F
    --symbol_map _xdc_runtime_Memory_calloc__E=_xdc_runtime_Memory_calloc__F
    --symbol_map _xdc_runtime_System_vprintf__E=_xdc_runtime_System_vprintf__F
    --symbol_map _xdc_runtime_LoggerBuf_write2__E=_xdc_runtime_LoggerBuf_write2__F
    --symbol_map _xdc_runtime_Text_putMod__E=_xdc_runtime_Text_putMod__F
    --symbol_map _xdc_runtime_System_atexit__E=_xdc_runtime_System_atexit__F


    /* Elf symbols */
    --symbol_map ___TI_STACK_BASE=__stack
    --symbol_map ___TI_STACK_SIZE=__STACK_SIZE
    --symbol_map ___TI_STATIC_BASE=___bss__
    --symbol_map __c_int00=_c_int00



    --args 0x8
    -heap 0x0
    -stack 0x2000

    MEMORY
    {
    CACHE_L2 : org = 0x9f8000, len = 0x8000
    IRAM : org = 0x820500, len = 0x1cfb00
    CACHE_L1D : org = 0xf00000, len = 0x8000
    DDR : org = 0xe0000000, len = 0x1000000
    INIT : org = 0x820100, len = 0x400
    CACHE_L1P : org = 0xe00000, len = 0x8000
    DEADBEEF : org = 0x820000, len = 0x100
    DDR_UNCACHED : org = 0xe1000000, len = 0x1000000
    }

    /*
    * Linker command file contributions from all loaded packages:
    */

    /* Content from xdc.services.global (null): */

    /* Content from xdc (null): */

    /* Content from xdc.corevers (null): */

    /* Content from xdc.shelf (null): */

    /* Content from xdc.services.spec (null): */

    /* Content from xdc.services.intern.xsr (null): */

    /* Content from xdc.services.intern.gen (null): */

    /* Content from xdc.services.intern.cmd (null): */

    /* Content from xdc.bld (null): */

    /* Content from ti.targets (null): */

    /* Content from xdc.rov (null): */

    /* Content from xdc.runtime (null): */

    /* Content from ti.targets.rts6000 (null): */

    /* Content from ti.sysbios.interfaces (null): */

    /* Content from ti.sysbios.family (null): */

    /* Content from ti.sysbios.hal (null): */

    /* Content from ti.sysbios.misc (null): */

    /* Content from xdc.services.getset (null): */

    /* Content from ti.sysbios.rts (null): */

    /* Content from ti.sysbios (null): */

    /* Content from ti.sysbios.knl (null): */

    /* Content from ti.sysbios.family.c64p (ti/sysbios/family/c64p/linkcmd.xdt): */

    /* Content from ti.bios.support (undefined): */

    /* Content from ti.sysbios.timers.timer64 (null): */

    /* Content from ti.sysbios.gates (null): */

    /* Content from ti.sysbios.heaps (null): */

    /* Content from ti.bios (ti/bios/linkcmd.xdt): */
    -u _xdc_runtime_LoggerBuf_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Semaphore_Object__table__V
    -u _ti_sysbios_knl_Mailbox_Object__table__V
    -u _ti_sysbios_knl_Mailbox_Object__table__V
    -u _ti_sysbios_knl_Mailbox_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_misc_Stats_Object__table__V
    -u _ti_sysbios_knl_Clock_Object__table__V
    -u _ti_sysbios_knl_Clock_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_bios_support_Lck_Object__table__V
    -u _ti_sysbios_knl_Task_Object__table__V


    /* Content from ti.bios.tconf (null): */

    /* Content from xdc.runtime.knl (null): */

    /* Content from ti.sysbios.xdcruntime (null): */

    /* Content from ti.sysbios.family.c62 (null): */

    /* Content from ti.sysbios.family.c64p.tci6482 (null): */

    /* Content from ti.sysbios.utils (null): */

    /* Content from ti.catalog.c6000 (null): */

    /* Content from ti.catalog (null): */

    /* Content from ti.catalog.peripherals.hdvicp2 (null): */

    /* Content from xdc.platform (null): */

    /* Content from xdc.cfg (null): */

    /* Content from ti.platforms.generic (null): */

    /* Content from SYS1 (null): */

    /* Content from configPkg (null): */


    /*
    * symbolic aliases for numeric constants or static instance objects
    */
    _LOG_system = _xdc_runtime_LoggerBuf_Object__table__V + 0;
    _TSK_ProcessVsync = _ti_sysbios_knl_Task_Object__table__V + 0;
    _TSK_RunAtVertical = _ti_sysbios_knl_Task_Object__table__V + 80;
    _TSK_RunOncePerField = _ti_sysbios_knl_Task_Object__table__V + 160;
    _TSK_VideoOverlay = _ti_sysbios_knl_Task_Object__table__V + 240;
    _TSK_IdspRx = _ti_sysbios_knl_Task_Object__table__V + 320;
    _TSK_IdspTx = _ti_sysbios_knl_Task_Object__table__V + 400;
    _TSK_MainInit = _ti_sysbios_knl_Task_Object__table__V + 480;
    _TSK_PerformBIT = _ti_sysbios_knl_Task_Object__table__V + 560;
    _TSK_AlwaysCheck = _ti_sysbios_knl_Task_Object__table__V + 640;
    _TSK_IncomingCtrlBox = _ti_sysbios_knl_Task_Object__table__V + 720;
    _TSK_IncomingGui = _ti_sysbios_knl_Task_Object__table__V + 800;
    _TSK_IncomingVme = _ti_sysbios_knl_Task_Object__table__V + 880;
    _TSK_ProcessStdPacket = _ti_sysbios_knl_Task_Object__table__V + 960;
    _TSK_busFlushQueues = _ti_sysbios_knl_Task_Object__table__V + 1040;
    _TSK_VidSwitch = _ti_sysbios_knl_Task_Object__table__V + 1120;
    _TSK_ProcessObjects = _ti_sysbios_knl_Task_Object__table__V + 1200;
    _TSK_FXN_2Hz = _ti_sysbios_knl_Task_Object__table__V + 1280;
    _TSK_Download = _ti_sysbios_knl_Task_Object__table__V + 1360;
    _TSK_UartTx = _ti_sysbios_knl_Task_Object__table__V + 1440;
    _TSK_UartRx = _ti_sysbios_knl_Task_Object__table__V + 1520;
    _TSK_TcpClientManager = _ti_sysbios_knl_Task_Object__table__V + 1600;
    _TSK_IpStack = _ti_sysbios_knl_Task_Object__table__V + 1680;
    _TSK_TcpServerManager = _ti_sysbios_knl_Task_Object__table__V + 1760;
    _TSK_UdpSocket = _ti_sysbios_knl_Task_Object__table__V + 1840;
    _TSK_EndOfGate = _ti_sysbios_knl_Task_Object__table__V + 1920;
    _TSK_EndOfGate0 = _ti_sysbios_knl_Task_Object__table__V + 2000;
    _TSK_EndOfGate1 = _ti_sysbios_knl_Task_Object__table__V + 2080;
    _TSK_EndOfGate2 = _ti_sysbios_knl_Task_Object__table__V + 2160;
    _TSK_histogramGate0 = _ti_sysbios_knl_Task_Object__table__V + 2240;
    _TSK_histogramGate1 = _ti_sysbios_knl_Task_Object__table__V + 2320;
    _TSK_histogramGate2 = _ti_sysbios_knl_Task_Object__table__V + 2400;
    _TSK_handleCorrelation = _ti_sysbios_knl_Task_Object__table__V + 2480;
    _TSK_EndOfCorr0 = _ti_sysbios_knl_Task_Object__table__V + 2560;
    _TSK_EndOfCorr1 = _ti_sysbios_knl_Task_Object__table__V + 2640;
    _TSK_EndOfCorr2 = _ti_sysbios_knl_Task_Object__table__V + 2720;
    _SEM_InitFinished = _ti_sysbios_knl_Semaphore_Object__table__V + 0;
    _SEM_SplashFinished = _ti_sysbios_knl_Semaphore_Object__table__V + 24;
    _SEM_FXN_2Hz = _ti_sysbios_knl_Semaphore_Object__table__V + 48;
    _SEM_udpTransmit = _ti_sysbios_knl_Semaphore_Object__table__V + 72;
    _SEM_startTcpSocket = _ti_sysbios_knl_Semaphore_Object__table__V + 96;
    _SEM_startUdpSocket = _ti_sysbios_knl_Semaphore_Object__table__V + 120;
    _SEM_acceptConnection = _ti_sysbios_knl_Semaphore_Object__table__V + 144;
    _SEM_tcpClientManager = _ti_sysbios_knl_Semaphore_Object__table__V + 168;
    _SEM_tcpClientTx = _ti_sysbios_knl_Semaphore_Object__table__V + 192;
    _SEM_RunOncePerField = _ti_sysbios_knl_Semaphore_Object__table__V + 216;
    _SEM_RunAtVertical = _ti_sysbios_knl_Semaphore_Object__table__V + 240;
    _SEM_ProcessVsync = _ti_sysbios_knl_Semaphore_Object__table__V + 264;
    _SEM_PerformBIT = _ti_sysbios_knl_Semaphore_Object__table__V + 288;
    _SEM_RxRdy = _ti_sysbios_knl_Semaphore_Object__table__V + 312;
    _SEM_RxUart0 = _ti_sysbios_knl_Semaphore_Object__table__V + 336;
    _SEM_RxUart1 = _ti_sysbios_knl_Semaphore_Object__table__V + 360;
    _SEM_RxUart2 = _ti_sysbios_knl_Semaphore_Object__table__V + 384;
    _SEM_RxUart3 = _ti_sysbios_knl_Semaphore_Object__table__V + 408;
    _SEM_RxUart4 = _ti_sysbios_knl_Semaphore_Object__table__V + 432;
    _SEM_RxUart5 = _ti_sysbios_knl_Semaphore_Object__table__V + 456;
    _SEM_RxUart6 = _ti_sysbios_knl_Semaphore_Object__table__V + 480;
    _SEM_RxUart7 = _ti_sysbios_knl_Semaphore_Object__table__V + 504;
    _SEM_UartIsr = _ti_sysbios_knl_Semaphore_Object__table__V + 528;
    _SEM_TxFifoEmpty = _ti_sysbios_knl_Semaphore_Object__table__V + 552;
    _SEM_UartDataToSend = _ti_sysbios_knl_Semaphore_Object__table__V + 576;
    _SEM_OverlayMsg = _ti_sysbios_knl_Semaphore_Object__table__V + 600;
    _SEM_OverlayVSync = _ti_sysbios_knl_Semaphore_Object__table__V + 624;
    _SEM_TargSimOn = _ti_sysbios_knl_Semaphore_Object__table__V + 648;
    _SEM_VidSwitch = _ti_sysbios_knl_Semaphore_Object__table__V + 672;
    _SEM_tcpMsgTx = _ti_sysbios_knl_Semaphore_Object__table__V + 696;
    _SEM_SendMtData = _ti_sysbios_knl_Semaphore_Object__table__V + 720;
    _SEM_VmeInterrupt = _ti_sysbios_knl_Semaphore_Object__table__V + 744;
    _SEM_waitingForBlobs = _ti_sysbios_knl_Semaphore_Object__table__V + 768;
    _SEM_busFlushQueues = _ti_sysbios_knl_Semaphore_Object__table__V + 792;
    _SEM_ProcessObjects = _ti_sysbios_knl_Semaphore_Object__table__V + 816;
    _SEM_ProcessEndGate = _ti_sysbios_knl_Semaphore_Object__table__V + 840;
    _SEM_EndOfGate0 = _ti_sysbios_knl_Semaphore_Object__table__V + 864;
    _SEM_EndOfGate1 = _ti_sysbios_knl_Semaphore_Object__table__V + 888;
    _SEM_EndOfGate2 = _ti_sysbios_knl_Semaphore_Object__table__V + 912;
    _SEM_GateStats0 = _ti_sysbios_knl_Semaphore_Object__table__V + 936;
    _SEM_GateStats1 = _ti_sysbios_knl_Semaphore_Object__table__V + 960;
    _SEM_GateStats2 = _ti_sysbios_knl_Semaphore_Object__table__V + 984;
    _SEM_startCorrelation = _ti_sysbios_knl_Semaphore_Object__table__V + 1008;
    _SEM_CorrReady = _ti_sysbios_knl_Semaphore_Object__table__V + 1032;
    _SEM_CorrDone0 = _ti_sysbios_knl_Semaphore_Object__table__V + 1056;
    _SEM_CorrDone1 = _ti_sysbios_knl_Semaphore_Object__table__V + 1080;
    _SEM_CorrDone2 = _ti_sysbios_knl_Semaphore_Object__table__V + 1104;
    _SEM_HistEog0 = _ti_sysbios_knl_Semaphore_Object__table__V + 1128;
    _SEM_HistEog1 = _ti_sysbios_knl_Semaphore_Object__table__V + 1152;
    _SEM_HistEog2 = _ti_sysbios_knl_Semaphore_Object__table__V + 1176;
    _SEM_HistStart0 = _ti_sysbios_knl_Semaphore_Object__table__V + 1200;
    _SEM_HistStart1 = _ti_sysbios_knl_Semaphore_Object__table__V + 1224;
    _SEM_HistStart2 = _ti_sysbios_knl_Semaphore_Object__table__V + 1248;
    _SEM_HistReady0 = _ti_sysbios_knl_Semaphore_Object__table__V + 1272;
    _SEM_HistReady1 = _ti_sysbios_knl_Semaphore_Object__table__V + 1296;
    _SEM_HistReady2 = _ti_sysbios_knl_Semaphore_Object__table__V + 1320;
    _SEM_IdspQ = _ti_sysbios_knl_Semaphore_Object__table__V + 1344;
    _SEM_LSU1_Rx = _ti_sysbios_knl_Semaphore_Object__table__V + 1368;
    _SEM_LSU2_Rx = _ti_sysbios_knl_Semaphore_Object__table__V + 1392;
    _SEM_LSU3_Rx = _ti_sysbios_knl_Semaphore_Object__table__V + 1416;
    _MBX_InPacket = _ti_sysbios_knl_Mailbox_Object__table__V + 0;
    _MBX_IdspTx = _ti_sysbios_knl_Mailbox_Object__table__V + 88;
    _MBX_dlPacket = _ti_sysbios_knl_Mailbox_Object__table__V + 176;
    _eogToErr0 = _ti_sysbios_misc_Stats_Object__table__V + 0;
    _eogToErr1 = _ti_sysbios_misc_Stats_Object__table__V + 16;
    _eogToErr2 = _ti_sysbios_misc_Stats_Object__table__V + 32;
    _VsyncPeriod = _ti_sysbios_misc_Stats_Object__table__V + 48;
    _gateOverrun0 = _ti_sysbios_misc_Stats_Object__table__V + 64;
    _gateOverrun1 = _ti_sysbios_misc_Stats_Object__table__V + 80;
    _gateOverrun2 = _ti_sysbios_misc_Stats_Object__table__V + 96;
    _mountToSimDelta = _ti_sysbios_misc_Stats_Object__table__V + 112;
    _PRD_2Hz = _ti_sysbios_knl_Clock_Object__table__V + 0;
    _PRD_NDK = _ti_sysbios_knl_Clock_Object__table__V + 32;
    _LCK_PerformBIT = _ti_bios_support_Lck_Object__table__V + 0;
    _LCK_OverlayBuf = _ti_bios_support_Lck_Object__table__V + 32;
    _LCK_OverlayVSync = _ti_bios_support_Lck_Object__table__V + 64;
    _LCK_OverlaySramCtrl = _ti_bios_support_Lck_Object__table__V + 96;
    _LCK_EMIF_Ready = _ti_bios_support_Lck_Object__table__V + 128;
    _LCK_LSU0_Ready = _ti_bios_support_Lck_Object__table__V + 160;
    _LCK_LSU1_Ready = _ti_bios_support_Lck_Object__table__V + 192;
    _LCK_LSU2_Ready = _ti_bios_support_Lck_Object__table__V + 224;
    _LCK_LSU3_Ready = _ti_bios_support_Lck_Object__table__V + 256;
    _LCK_VidSwitch = _ti_bios_support_Lck_Object__table__V + 288;
    _LCK_InterDspCom = _ti_bios_support_Lck_Object__table__V + 320;
    _LCK_TcpTx = _ti_bios_support_Lck_Object__table__V + 352;
    _LCK_VmeQueryQueue = _ti_bios_support_Lck_Object__table__V + 384;
    _LCK_sendBusStatusMessage = _ti_bios_support_Lck_Object__table__V + 416;
    _LCK_setEthernetData = _ti_bios_support_Lck_Object__table__V + 448;
    _LCK_mountGoto = _ti_bios_support_Lck_Object__table__V + 480;
    _LCK_ProcessError = _ti_bios_support_Lck_Object__table__V + 512;
    _LCK_I2C = _ti_bios_support_Lck_Object__table__V + 544;
    _LCK_Annotate = _ti_bios_support_Lck_Object__table__V + 576;
    _LCK_UartRx = _ti_bios_support_Lck_Object__table__V + 608;
    _LCK_UartTx = _ti_bios_support_Lck_Object__table__V + 640;
    _LCK_ThreshData0 = _ti_bios_support_Lck_Object__table__V + 672;
    _LCK_ThreshData1 = _ti_bios_support_Lck_Object__table__V + 704;
    _LCK_ThreshData2 = _ti_bios_support_Lck_Object__table__V + 736;
    _LCK_VideoLUT = _ti_bios_support_Lck_Object__table__V + 768;
    _LCK_SimLrf = _ti_bios_support_Lck_Object__table__V + 800;
    _LCK_MultiTargetTags = _ti_bios_support_Lck_Object__table__V + 832;
    _LCK_HistogramEnable = _ti_bios_support_Lck_Object__table__V + 864;
    _LCK_StatusMsg = _ti_bios_support_Lck_Object__table__V + 896;
    _LCK_EvpuQueue = _ti_bios_support_Lck_Object__table__V + 928;
    _LCK_EvpuServerTx = _ti_bios_support_Lck_Object__table__V + 960;
    _LCK_EvpuStreamRx = _ti_bios_support_Lck_Object__table__V + 992;
    _LCK_EvpuStreamTx = _ti_bios_support_Lck_Object__table__V + 1024;
    _LCK_NightHawkQueue = _ti_bios_support_Lck_Object__table__V + 1056;
    _LCK_DigitalVideoSwitch = _ti_bios_support_Lck_Object__table__V + 1088;
    _xdc_runtime_Startup__EXECFXN__C = 1;
    _xdc_runtime_Startup__RESETFXN__C = 1;
    _TSK_idle = _ti_sysbios_knl_Task_Object__table__V + 2800;

    SECTIONS
    {
    .text: load >> IRAM
    .stack: load > IRAM
    .bss: load > IRAM
    .cinit: load > IRAM
    .pinit: load > IRAM
    .const: load >> IRAM
    .data: load >> IRAM
    .switch: load >> IRAM
    .sysmem: load > IRAM
    .far: load >> IRAM
    .args: load > IRAM align = 0x4, fill = 0 {_argsize = 0x8; }
    .cio: load >> IRAM
    _IRAM$heap: load > IRAM
    .vecs: load > IRAM
    xdc.meta: load > IRAM, type = COPY

    }
  • Richard,
    try adding Program.sectionsExclude (rtsc.eclipse.org/.../Program.html)parameter to your CFG script. It allows you to remove sections from the automatically generated linker script configPkg/linker.cmd. At minimum, you want to do that for sections that are allocated differently in your custom script from what linker.cmd is doing. The statement would look like this:
    Program.sectionsExclude = "^\.bss|^\.far";