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 ビットに設定する正しいコマンドはどれですか?