ルート実行領域の作成

スキャッタファイル内で、ある領域をルート領域として指定する場合には、以下の方法を使用できます。

Show/hideFIXED 属性の誤った使用例

以下の例では、FIXED 実行領域属性の誤った使用の一般的な事例を示しています。

Example 15. FIXED 属性の誤った使用

LR1 0x8000
{
    ER_LOW +0 0x1000
    {
        *(+RO)
    }
; この時点で、次の使用可能なロードアドレスと実行アドレスが 0x8000 +
; ER_LOW の内容のサイズになります。 最大サイズは 0x1000 に制限されているため、次の使用可能なロードアドレスと
; 実行アドレスは最大で 0x9000 になります。
    ER_HIGH 0xF0000000 FIXED
    {
        *(+RW+ZI)
    }
; 必要な実行アドレスとロードアドレスは 0xF0000000 です。 ロードアドレスと
; 実行アドレスが一致するように、リンカによって 0xF0000000 - (0x8000 + (ER_LOW) のサイズ) バイトの
; パディングが挿入されます。
}

; その他の FIXED の誤った使用の一般的な事例として、次の使用可能なロードアドレスよりも
; 下位の実行アドレスを指定することがあります。

LR_HIGH 0x100000000
{
    ER_LOW 0x1000 FIXED
    {
        *(+RO)
    }
; LR_HIGH の次の使用可能なロードアドレスは 0x10000000 です。 必要な実行
; アドレスは 0x1000 です。 LR_HIGH の次の使用可能なロードアドレスは単調に
; 増加させる必要があるため、リンカは ER_LOW に 0x10000000 よりも下位のロードアドレスを指定できません。
}

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0474GJ
Non-ConfidentialID051612