我需要在 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 位的正确命令是什么?