スキャッタロードが使用される状況

リンカへのコマンドラインオプションを使用することでデータとコードの配置をある程度制御できますが、配置を完全に制御するには、コマンドラインから入力可能な指示よりもさらに詳細な指示を必要とします。

以下に、スキャッタファイルが必要なケースまたは非常に有効なケースを挙げます。

メモリマップが複雑な場合

数多くの異なるメモリエリアに配置しなければならないコードとデータには、対応するセクションをどのメモリ空間に配置するかについて詳細な示が必要となります。

メモリタイプが異なる場合

多くのシステムには、フラッシュ、ROM、SDRAM、高速 SRAM など、さまざまな物理メモリデバイスが組み込まれています。 スキャッタロード記述ファルによって、コードとデータを最も適切なメモリタイプに対応付けることができます。 例えば、割り込みコードを高速 SRAM に配置して割り込み答時間を向上させ、あまり使用されないコンフィギュレーション情報はそれよりも遅いフラッシュメモリに配置するといったことが考えられます。

メモリマップされたペリフェラル

スキャッタロード記述ファイルを使用して、データセクションをメモリマップ内の正確なアドレスに配置して、メモリマップされたペリフェラルアクセスできます。

関数の位置を固定する場合

ある関数を含んでいるアプリケーションが修正され、再コンパイルされた場合でも、その関数をメモリ内の同じ位置に配置しておくことができます。 これはジャンプテーブルの実装に役立ちます。

ヒープとスタックの識別にシンボルを使用する場合

アプリケーションをリンクするときのヒープとスタックの位置を示すシンボルを定義できます。

組み込みシステムでは ROM、RAM、およびメモリマップされたペリフェラルが使用されるため、通常、組み込みシステムの実装ではスキャッタロードが必要となります。

Show/hide関連項目

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