12.50 --entry=location

イメージ固有の初期エントリポイントを指定します。イメージに複数のエントリポイントを含めることはできますが、使用できる初期エントリポイントは 1 つだけです。

構文

--entry= location
location には、次のいずれかを指定します。
entry_address
数値。例えば、--entry=0x0
symbol
イメージのエントリポイントを symbol のアドレスとして指定します。例えば、 --entry=reset_handler と指定します。
offset+object(section)
イメージのエントリポイントを特定の object 内の section 内にある offset として指定します。 例:--entry=8+startup.o(startupseg)
--entry の引数内にはスペースを挿入しないで下さい。入力セクションとオブジェクト名では大文字と小文字が区別されません。以下の単純な表記を使用できます。
  • object(section)offset が 0 の場合)。
  • object(入力セクションが 1 つだけの場合)。 object に複数のコード入力セクションが存在する場合は、armlink からエラーメッセージが生成されます。

イメージのエントリアドレスが Thumb 状態の場合、アドレスの最下位ビットを 1 に設定する必要があります。シンボルを指定すると、自動的に設定されます。たとえば、Thumb 状態でエントリコードがアドレス 0x8000 で開始する場合は、--entry=0x8001 を使用する必要があります。

使用法

イメージは複数のエントリポイントを含むことができます。複数のエントリポイントはアセンブラソースファイル内の ENTRY ディレクティブで指定されている場合があります。そのような場合、イメージには一意の初期エントリポイントが指定されている必要があり、指定されていない場合は、エラー L6305E が発生します。--entry オプションで指定した初期エントリポイントは、ローダで使用できるように実行可能ファイルのヘッダに保存されます。このオプションはコマンドライン内で 1 回のみ指定できます。デバッガでイメージをロードするとき、通常、このエントリアドレスを使用して プログラムカウンタ(PC)が初期化されます。初期エントリポイントは、以下の条件を満たしている必要があります。
  • イメージのエントリポイントは、実行領域内にある必要があります。
  • 実行領域は、オーバーレイでないルート実行領域(ロードアドレス == 実行アドレス)である必要があります。
関連する参考文書
12.136 --startup=symbol、--no_startup
関連情報
ENTRY ディレクティブ
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.