8.27 ロード領域に厳密に配置した状態で、実行領域でベースアドレスに合わせる例

この例では、厳密に配置された実行領域をページ境界の実行アドレスにコピーするために、プリプロセッサマクロと式の組み合わせの使用方法を示します。

ALIGN スキャッタロードキーワードを使用すると、 ロードアドレス ER2ER3 および実行アドレスが整列されます。

ロード空間内に厳密に配置した状態で、実行空間内でベースアドレスを整列する例
#! armcc -E #define START_ADDRESS  0x100000 #define PAGE_ALIGNMENT 0x100000

LR1 0x8000 {     ER0 +0     {         *(InRoot$$Sections)     }     ER1 START_ADDRESS     {         file1.o(*)     }     ER2 AlignExpr(ImageLimit(ER1), PAGE_ALIGNMENT)     {         file2.o(*)     }     ER3 AlignExpr(ImageLimit(ER2), PAGE_ALIGNMENT)     {         file3.o(*)     } }
関連する概念
8.20 スキャッタファイル内の式の評価
関連する参考文書
8.5 ロード領域の属性
8.8 実行領域の属性
8.29 GetPageSize() 関数
8.30 SizeOfHeaders() 関数
8.4 ロード領域記述の構文
8.7 実行領域の記述に含まれている構文
8.28 AlignExpr(expr, align) 関数
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.