0

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

4

1 に答える 1