6.17 オーバーレイの DS-5デバッガ サポートについて

オーバーレイは、実行時に、コードのさまざまな部分で使用するメモリの実行領域をアプリケーションが共有できるようにするプログラミング メソッドです。1 つのコードが、必要に応じて実行できるようオーバーレイ領域に転送されます。このコードは、必要に応じて別のコードに置き換えられます。

コードをメモリに保存する必要はなく、オフチップ フラッシュ メモリなどの他のストレージに置くことができます。組み込みシステム、特に仮想メモリのアドレス指定をサポートしていないシステムや、メモリに制限のあるシステムでは、オーバーレイが使用される場合があります。

オーバーレイ アプリケーションは、以下で構成されています。

開発者は、アプリケーションのどの関数をオーバーレイで使用するかを決定する必要があります。また、どの関数を同じオーバーレイで使用するかを決定する必要もあります。

ソース コードの関数宣言に注釈を付けることによって、関数をオーバーレイに指定できます。この注釈は、各関数をどのオーバーレイに含める必要があるかを示します。

コンパイルの際、リンカはオーバーレイを特定の領域に割り当てます。オーバーレイがロードされるとき、オーバーレイはその領域にのみロードされます。またリンカは、オーバーレイの間と、オーバーレイとオーバーレイされていないコードの間での直接呼出しを検出します。検出後、リンカは、呼び出しをべニアを介して転送し、オーバーレイ マネージャを呼び出して、ターゲット オーバーレイを自動的にロードさせます。

DS-5デバッガ は、以下のシンボルで示されているとおり、リンカによって生成されたテーブルと関数の存在に基づいて、オーバーレイのサポートを自動で有効にします。

オーバーレイが有効なアプリケーションを DS-5 にロードすると、コマンドライン コンソールとユーザ インタフェースのどちらからでもオーバーレイを操作できるようになります。

オーバーレイのリファレンス実装については、DS-5 付属の overlay_manager の例を参照してください。

非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.