7.12 スキャッタロードを使用して名前付きセクションを明示的に配置する方法の例

この例では、スキャッタロードを使用して名前付きセクションを明示的に配置する方法を示しています。

スキャッタロードを使用して名前付きセクションを明示的に配置するには

LR1 0x0 0x10000 {     ; 初期化コードを含むルート領域     ER1 0x0 0x2000     {         init.o (INIT, +FIRST)   ; 初期化コードを 0x0 に正確に配置する         *(+RO)                  ; 残りのコードと読み出し専用データ       }     ; RW データと ZI データを 0x400000 に配置する     RAM_RW 0x400000 (0x1FF00-0x2000)     {         *(+RW)     }     RAM_ZI +0     {         *(+ZI)     }     ; 0x1FF00 の実行領域     ; テーブルに使用可能な最大空間は 0xFF     DATABLOCK 0x1FF00 0xFF     {         data.o(+RO-DATA)  ; RO データを 0x1FF00 と 0x1FFFF の間に配置する     } }

この例では、スキャッタロード記述によって、以下のように配置が行われます。

  • 初期化コードは、init.o ファイルの INIT セクションに配置されます。この例では、INIT セクションのコードが最初にアドレス 0x0 に配置され、その後に、RO コードの残りと、オブジェクト data.o 内の RO データを除くすべての RO データが配置されます。

  • すべてのグローバル RW 変数が RAM 内の 0x400000 に配置されます。

  • data.o 内の RO-DATA テーブルはアドレス 0x1FF00 に配置されます。

関連する概念
7.10 ルート実行領域と FIXED 属性
8.3 ロード領域の記述
8.6 実行領域の記述
関連する参考文書
8.5 ロード領域の属性
8.8 実行領域の属性
8.9 ロード領域と実行領域のアドレス属性
関連情報
ENTRY
ビットバンドオブジェクトへのリンクを含むスキャッタファイル
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.