我需要在TI Code Composer Studio 5.5(TI ARM编译器5.1.1)中为整个项目设置链接器对齐。
这是我的链接器.cmd文件:
MEMORY
{
BOOTROM: o = 0x40020000 l = 0x0000C000 /* 48kB public boot ROM */
SRAM: o = 0x402F0400 l = 0x0000FC00 /* 64kB internal SRAM */
L3OCMC0: o = 0x40300000 l = 0x00010000 /* 64kB L3 OCMC SRAM */
M3SHUMEM: o = 0x44D00000 l = 0x00004000 /* 16kB M3 Shared Unified Code Space */
M3SHDMEM: o = 0x44D80000 l = 0x00002000 /* 8kB M3 Shared Data Memory */
DDR0: o = 0x80000000 l = 0x10000000 /* 256MB external DDR Bank 0 */
}
SECTIONS
{
.align 8
.text > DDR0
.stack > DDR0
RUN_START(stack_start)
RUN_END(stack_end)
.bss > DDR0
RUN_START(bss_start)
RUN_END(bss_end)
.cio > DDR0
.const > DDR0
.data > DDR0
.switch > DDR0
.sysmem > DDR0
.far > DDR0
.args > DDR0
.ppinfo > DDR0
.ppdata > DDR0
/* TI-ABI or COFF sections */
.pinit > DDR0
.cinit > DDR0
/* EABI sections */
.binit > DDR0
.init_array > DDR0
.neardata > DDR0
.fardata > DDR0
.rodata > DDR0
.c6xabi.exidx > DDR0
.c6xabi.extab > DDR0
}
.align 8
没有完成这项工作。在我生成的地图文件中,我可以看到许多地址以4或C结尾的符号。如果所有符号都对齐到8的倍数,我应该得到的地址只能以0或8结尾。
将链接器对齐设置为64位的正确命令是什么?
答案 0 :(得分:0)
问题已经解决,礼貌是乔治·莫克先生,TI。
他在e2e.ti.com上写了以下示例:
.text > DDR0 ALIGN(8)
.stack > DDR0
RUN_START(stack_start)
RUN_END(stack_end)
ALIGN(8)
/* ... and so on */