2017-04-11 5 views
0
  1. rom1rom2は異なるアドレスマップを持ち、連続していません!
  2. 一部のオブジェクトはrom2に配置する必要があります。
  3. rom1がリンクされるたびに、rom2のオブジェクトは固定アドレス(rom2)である必要があります。言い換えれば、rom1は、リンク時にrom2のシンボルのアドレスを知るべきです。

エルフ(rom2)をrom1にリンクすることはできますか?複数のメモリバンクをリンクするGCC

+0

私はelf(rom2)をrom1にリンクできますか? – linucos

+0

またはrom2関連機能をrom1 elfから分割することはできますか?rom2関連機能は特別な機能ですか? – linucos

答えて

0

私はよく理解している場合:

  1. お使いのシステムがrom2

にあなたのリンクスクリプトがどのように見えるもの2つの思い出rom1rom2

  • いくつかのオブジェクトがrom1に配置する必要がある、他の人を持っています以下:

    MEMORY 
    { 
        rom1 : org=0x10000 len=1024 
        rom2 : org=0x40000 len=1024 
    } 
    
    SECTIONS 
    { 
        .text1 0x10000 : {foo.o(.text) } > rom1 
        .text2 0x40000 : {bar.o(.text) } > rom2 
    } 
    

    SECTIONSの部分では、リンカーはから.textセクションを収集し、この.textセクションをrom1の0x10000番地から出力セクション.text1に配置します。

    同様に、bar.oから.textセクションを収集し、rom2に配置します。

  • 関連する問題