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

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

以下に、スキャッタファイルが必要なケースまたは非常に有効なケースを挙げます。
メモリマップが複雑な場合
数多くの異なるメモリエリアに配置しなければならないコードとデータには、対応するセクションをどのメモリ空間に配置するかについて詳細な指示が必要となります。
メモリタイプが異なる場合
多くのシステムには、フラッシュ、ROM、SDRAM、高速 SRAM など、さまざまな物理メモリデバイスが組み込まれています。スキャッタロード記述ファイルによって、コードとデータを最も適切なメモリタイプに対応付けることができます。例えば、割り込みコードを高速 SRAM に配置して割り込み応答時間を向上させ、あまり使用されないコンフィギュレーション情報はそれよりも遅いフラッシュメモリに配置するといったことが考えられます。
メモリマップされたペリフェラル
スキャッタロード記述ファイルを使用して、データセクションをメモリマップ内の正確なアドレスに配置して、メモリマップされたペリフェラルにアクセスできます。
関数の位置を固定する場合
ある関数を含んでいるアプリケーションが修正され、再コンパイルされた場合でも、その関数をメモリ内の同じ位置に配置しておくことができます。これはジャンプテーブルの実装に役立ちます。
ヒープとスタックの識別にシンボルを使用する場合
アプリケーションをリンクするときのヒープとスタックの位置を示すシンボルを定義できます。
関連する概念
7.1.1 スキャッタロードの概要
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.