スキャッタロードの記述におけるベニア入力セクションの選択

ベニアは、ARM コードと Thumb コードの切り替えや、1 つの命令で指定できるジャンプよりも長いジャンプを実行する場合に使用します。 スキャッファイルにリンカで生成されたシンボル Veneer$$Code を含めることで、ベニアを指定した位置に配置できます。 スキャッタファイル内で *(Veneer$$Code) セクションセレクタを使用できる実行領域は 1 つだけです。

リンカにより、*(Veneer$$Code) セクションセレクタによって識別される領域にベニア入力セクションを配置するのが安全だと判断された場合、その配置が実行されます。 ただ、アドレス範囲の問題や、実行領域のサイズ制限などにより、ベニア入力セクションがその領域に割り当てられない場合もあります。 指定した域にベニアを追加できない場合は、ベニアを生成した、再配置された入力セクションを含んでいる実行領域にそのベニアが追加されます。

Note

旧バージョンの ARM ツールで作成されたスキャッタファイル内に登場する *(IWV$$Code) のインスタンスは、*(Veneer$$Code) に自動的に変換されます。 新しい記述ファイルでは *(Veneer$$Code) を使用して下さい。

実行領域内のコードの量が、Thumb コードの場合は 4Mb、32 ビット Thumb コードの場合は 16Mb、ARM コードの場合は 32Mb を超えると、*(Veneer$$Code) は無視されます。

Show/hide関連項目

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