Hi,
I am trying to create binary file as an output from my code for an LM3S3634. I am using TI BIOS. For some reason, the generated linker command file is creating a .vecs section and I'm not sure what its purpose is. I would like to remove it, but I don't know how. Below is posted the majority of my linker.CMD file and also my project .cfg file.
Peter
LINKER.CMD
/*
* Do not modify this file; it is automatically generated from the template
* linkcmd.xdt in the ti.targets.elf 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:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\hal\lib\whole_program_debug\ti.sysbios.hal.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\knl\lib\whole_program_debug\ti.sysbios.knl.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\gates\lib\whole_program_debug\ti.sysbios.gates.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\xdcruntime\lib\whole_program_debug\ti.sysbios.xdcruntime.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\lib\whole_program_debug\ti.sysbios.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\family\arm\m3\lib\whole_program_debug\ti.sysbios.family.arm.m3.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\family\arm\lm3\lib\whole_program_debug\ti.sysbios.family.arm.lm3.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\boot.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\auto_init.aem3"
--retain="*(xdc.meta)"
/* C6x Elf symbols */
--symbol_map __TI_STACK_SIZE=__STACK_SIZE
--symbol_map __TI_STACK_BASE=__stack
--symbol_map _stack=__stack
--args 0x200
-heap 0x1000
-stack 0x1000
MEMORY
{
IRAM (RWX) : org = 0x20000000, len = 0x8000
FRAM (RWX) : org = 0x0, len = 0x20000
}
/*
* 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.rov (null): */
/* Content from ti.catalog.arm.cortexm3 (null): */
/* Content from ti.catalog.peripherals.hdvicp2 (null): */
/* Content from ti.catalog (null): */
/* Content from ti.catalog.arm.peripherals.timers (null): */
/* Content from xdc.platform (null): */
/* Content from xdc.cfg (null): */
/* Content from ti.platforms.generic (null): */
/* Content from LM3S3634 (null): */
/* Content from ti.targets.arm.rtsarm (null): */
/* Content from ti.sysbios.family.arm.lm3 (null): */
/* Content from ti.sysbios.interfaces (null): */
/* Content from ti.sysbios.family.arm.m3 (ti/sysbios/family/arm/m3/linkcmd.xdt): */
--retain "*(.resetVecs)"
/* Content from ti.sysbios (null): */
/* Content from ti.sysbios.xdcruntime (null): */
/* Content from xdc.runtime.knl (null): */
/* Content from ti.sysbios.gates (null): */
/* Content from ti.sysbios.knl (null): */
/* Content from ti.sysbios.family (null): */
/* Content from ti.sysbios.family.arm (ti/sysbios/family/arm/linkcmd.xdt): */
--retain "*(.vecs)"
/* Content from ti.sysbios.hal (null): */
/* Content from xdc.runtime (null): */
/* Content from configPkg (null): */
/*
* symbolic aliases for static instance objects
*/
xdc_runtime_Startup__EXECFXN__C = 1;
xdc_runtime_Startup__RESETFXN__C = 1;
TSK_idle = ti_sysbios_knl_Task_Object__table__V + 68;
SECTIONS
{
.cio: load >> IRAM
GROUP: load > IRAM
{
.bss:
.neardata:
.rodata:
}
xdc.meta: load >> FRAM, type = COPY
.text: load >> FRAM
.far: load >> IRAM
.taskStackSection: load >> IRAM
.sysmem: load > IRAM
.cinit: load > FRAM
.init_array: load > FRAM
.resetVecs: load > 0x0
.args: load > IRAM align = 0x4, fill = 0 {_argsize = 0x200; }
.bootVecs: type = NOLOAD
.switch: load >> IRAM
.data: load >> IRAM
.stack: load > IRAM
.vecs: load > 0x20000000
.fardata: load >> IRAM
.const: load >> FRAM
}
LM3S3634.CFG
/*
* Do not modify this file; it is automatically generated from the template
* linkcmd.xdt in the ti.targets.elf 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:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\hal\lib\whole_program_debug\ti.sysbios.hal.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\knl\lib\whole_program_debug\ti.sysbios.knl.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\gates\lib\whole_program_debug\ti.sysbios.gates.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\xdcruntime\lib\whole_program_debug\ti.sysbios.xdcruntime.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\lib\whole_program_debug\ti.sysbios.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\family\arm\m3\lib\whole_program_debug\ti.sysbios.family.arm.m3.aem3"
-l"C:\Program Files\Texas Instruments\bios_6_30_03_46\packages\ti\sysbios\family\arm\lm3\lib\whole_program_debug\ti.sysbios.family.arm.lm3.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\ti.targets.arm.rtsarm.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\boot.aem3"
-l"C:\Program Files\Texas Instruments\xdctools_3_20_08_88\packages\ti\targets\arm\rtsarm\lib\auto_init.aem3"
--retain="*(xdc.meta)"
/* C6x Elf symbols */
--symbol_map __TI_STACK_SIZE=__STACK_SIZE
--symbol_map __TI_STACK_BASE=__stack
--symbol_map _stack=__stack
--args 0x200
-heap 0x1000
-stack 0x1000
MEMORY
{
IRAM (RWX) : org = 0x20000000, len = 0x8000
FRAM (RWX) : org = 0x0, len = 0x20000
}
/*
* 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.rov (null): */
/* Content from ti.catalog.arm.cortexm3 (null): */
/* Content from ti.catalog.peripherals.hdvicp2 (null): */
/* Content from ti.catalog (null): */
/* Content from ti.catalog.arm.peripherals.timers (null): */
/* Content from xdc.platform (null): */
/* Content from xdc.cfg (null): */
/* Content from ti.platforms.generic (null): */
/* Content from LM3S3634 (null): */
/* Content from ti.targets.arm.rtsarm (null): */
/* Content from ti.sysbios.family.arm.lm3 (null): */
/* Content from ti.sysbios.interfaces (null): */
/* Content from ti.sysbios.family.arm.m3 (ti/sysbios/family/arm/m3/linkcmd.xdt): */
--retain "*(.resetVecs)"
/* Content from ti.sysbios (null): */
/* Content from ti.sysbios.xdcruntime (null): */
/* Content from xdc.runtime.knl (null): */
/* Content from ti.sysbios.gates (null): */
/* Content from ti.sysbios.knl (null): */
/* Content from ti.sysbios.family (null): */
/* Content from ti.sysbios.family.arm (ti/sysbios/family/arm/linkcmd.xdt): */
--retain "*(.vecs)"
/* Content from ti.sysbios.hal (null): */
/* Content from xdc.runtime (null): */
/* Content from configPkg (null): */
/*
* symbolic aliases for static instance objects
*/
xdc_runtime_Startup__EXECFXN__C = 1;
xdc_runtime_Startup__RESETFXN__C = 1;
TSK_idle = ti_sysbios_knl_Task_Object__table__V + 68;
SECTIONS
{
.cio: load >> IRAM
GROUP: load > IRAM
{
.bss:
.neardata:
.rodata:
}
xdc.meta: load >> FRAM, type = COPY
.text: load >> FRAM
.far: load >> IRAM
.taskStackSection: load >> IRAM
.sysmem: load > IRAM
.cinit: load > FRAM
.init_array: load > FRAM
.resetVecs: load > 0x0
.args: load > IRAM align = 0x4, fill = 0 {_argsize = 0x200; }
.bootVecs: type = NOLOAD
.switch: load >> IRAM
.data: load >> IRAM
.stack: load > IRAM
.vecs: load > 0x20000000
.fardata: load >> IRAM
.const: load >> FRAM
}