IARユーティリティ
This section describes the IAR utilities that handle the ELF and DWARF object formats.
ユーティリティオプションの説明
以下のページでは、さまざまなユーティリティで使用可能な各コマンドラインオプションの詳しいリファレンス情報を提供します。
-a
構文
ツール
ielfdumparm
説明
このオプションは--all --no_strtabのショートカットとして使用します。
注意
このオプションは、IDEでは使用できません。
‑‑all
構文
ツール
ielfdumparm
説明
このオプションは、入力ファイルの汎用属性に加え、すべてのELFセクションの内容を出力に含めるときに使用します。セクションは、インデックスの順に出力されます。ただし、再配置可能セクションについては、そのセクションが再配置用に保持しているセクションの直後に各再配置可能セクションが出力されます。
デフォルトでは、セクションの内容は出力に含まれません。
注意
このオプションは、IDEでは使用できません。
‑‑bin
構文
‑‑bin[=range]パラメータ
ielftoolアドレス範囲の指定を参照してください。
ツール
ielftool
説明
出力ファイルのフォーマットをロウバイナリに設定します。バイナリフォーマットにはアドレス情報はなく、ロウバイトだけが含まれています。範囲が指定されていない場合は、出力ファイルには、ELFファイルの内容になる一番小さいアドレスから、内容になる一番大きいアドレスのすべてのバイトが含まれています。範囲が指定されている場合は、範囲のバイトが含まれます。両方の場合も、内容のないギャップは、ゼロとして生成されます。
注記
コンテンツのない範囲が指定されると。出力ファイルは作成されません。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[出力コンバータ]
‑‑bin-multi
構文
‑‑bin-multi[=range[;range...]]
パラメータ
ielftoolアドレス範囲の指定を参照してください。
ツール
ielftool
説明
このオプションを使用して、1つまたは複数のロウバイナリ出力ファイルを生成します。範囲が指定されていない場合は、ロウバイナリ出力ファイルは、ELFファイルの内容のそれぞれの範囲に生成されます。範囲が指定されると、ロウバイナリ出力ファイルは、コンテンツのあるそれぞれの指定した範囲に生成されます。それぞれの場合も、各出力ファイルの名前には、その範囲の開始アドレスが含まれます。例えば、出力ファイルがout.binと指定されて範囲0x0-0x1Fと0x8000-0x8147が出力されるとき、out-0x0.binとout-0x8000.binという名前のファイルが2つになります。
注意
このオプションは、IDEでは使用できません。
‑‑checksum
構文
‑‑checksum {symbol[{+|-}offset]|address}:size,
algorithm[:[1|2][a|m|z][W|L|Q][x][r][R][o][i|p]]
[,start];range[;range...]パラメータ
| チェックサム値が格納されるシンボルの名前です。これは、入力ELFファイルのシンボルテーブルに存在する必要があります。 |
| オフセットはシンボルに追加されます(またはマイナスのオフセット( |
| チェックサム値が格納される絶対アドレスです。 |
| チェックサムのバイト数( |
| 使用されるチェックサムアルゴリズムです。以下から選択します。
|
| 指定した場合は、次から選択します。
|
| チェックサムのビット順序を逆にします。以下から選択します。
|
| チェックサムを計算するユニットのサイズを指定します。以下から選択します。
ユニットのサイズを指定しなければ、デフォルトで8ビットが使用されます。 入力バイトシーケンスは次のように処理されます。
注: チェックサム ユニットサイズは、入力バイトシーケンスが実行される順序にのみ影響します。チェックサムシンボルのサイズ、多項式、初期値、プロセッサのアドレスバスの幅などには影響しません。 ほとんどのソフトウェアCRC 実装には、1バイトのチェックサム ユニットサイズ(8ビット)が使用されます。ソフトウェアCRC実装が、ハードウェアCRC実装で計算されたチェックサムと一致しなければならない場合、 |
| チェックサムのバイトオーダーを逆にします。これは、チェックサムの値にのみ影響します。 |
| 入力データのバイトオーダを逆にします。繰り返しごとのビット数が |
| 逆順でチェックサム範囲を調べます。 例えば、範囲が
|
| チェックサムにRocksoft モデル仕様を出力します。 |
|
|
| デフォルトでは、チェックサムの初期値は |
|
通常、メモリ範囲が変更できる場合は、シンボルまたはブロックを使用することをお勧めします。 ielftoolアドレス範囲の指定も参照してください。 |
ツール
ielftool
説明
このオプションは、指定範囲の指定アルゴリズムのチェックサムを計算するときに使用します。チェックサムに外部の定義がある場合(たとえばハードウェアのCRC実装など)、--checksumオプションに適切なパラメータを使用して、外部の設計に合わせてください。この場合、ハードウェアのドキュメントでその設計の詳細を参照してください。チェックサムは、symbolの元の値を置き換えます。新しい絶対シンボルが生成されます。計算されたチェックサムを含む_valueがサフィックスとしてsymbol名に付けられます。このシンボルは、デバッグ中など、必要に応じて後でチェックサム値へのアクセスに使用できます。
--checksumオプションがコマンドラインで複数回使用される場合、オプションは、左から右に評価されます。後で評価される--checksumオプションに指定されているsymbolで、チェックサムが計算される場合、エラーが発生します。
例
この例は、アドレス範囲0x8000–0x8FFF、開始値0の場合のcrc16アルゴリズムの使用方法を示します。
ielftool ‑‑checksum=_ _checksum:2,crc16;0x8000-0x8FFF sourceFile.out destinationFile.outsourceFile.outから読み込まれる入力データ i と、その結果のサイズ2バイトのチェックサム値が、シンボル__checksumに格納されます。修正されたELFファイルは、destinationFile.outとして保存されます。sourceFile.outはそのまま変わりません。
次の例では、範囲の開始を指定するためにシンボルが使用されます。
ielftool ‑‑checksum=___checksum:2,crc16;__checksum_begin-0x8FFF sourceFile.out destinationFile.outBLOCK1が0x4000-0x4337を占め、BLOCK2が0x8000-0x87FFを占める場合は、この例は0x4000~0x4337と0x8000~0x87FFのバイトのチェックサムを計算します。
ielftool ‑‑checksum=__checksum:2,crc16;{BLOCK1};{BLOCK2} BlxTest.out BlxTest2.out関連項目
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[リンカ]>[チェックサム]
‑‑code
構文
ツール
ielfdumparm
説明
このオプションを使用して、実行可能コード(ELFセクション属性SHF_EXECINSTRを持つセクション)を含むすべてのセクションをダンプします。
注意
このオプションは、IDEでは使用できません。
‑‑create
構文
‑‑create libraryfileobjectfile1 ... objectfileN
パラメータ
| コマンドの操作対象のライブラリファイルです。 |
| ビルドするライブラリを構成するオブジェクトファイルです。引数はアーカイブファイルとなることもできます。この場合、アーカイブファイルの各メンバーは別々に指定されたように処理されます。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、一連のオブジェクトファイル(モジュール)および/またはアーカイブツールから新しいライブラリをビルドするときに使用します。モジュールは、コマンドラインで指定した順序でライブラリに追加されます。
コマンドラインでコマンドを指定しない場合、デフォルトで--createが使用されます。
注意
このオプションは、IDEでは使用できません。
‑‑delete、-d
構文
‑‑deletelibraryfile objectfile1 ... objectfileN-dlibraryfile objectfile1 ... objectfileN
パラメータ
| コマンドの操作対象のライブラリファイルです。 |
| コマンドの操作対象のオブジェクトファイルです。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、オブジェクトファイル(モジュール)を既存のライブラリから削除するときに使用します。コマンドラインで指定したオブジェクトファイルがすべてライブラリから削除されます。
注意
このオプションは、IDEでは使用できません。
‑‑disasm_data
構文
‑‑disasm_data
ツール
ielfdumparm
説明
このコマンドを使用して、コードセクションであるかのように、ダンパーをダンプデータセクションに指示します。
注意
このオプションは、IDEでは使用できません。
‑‑edit
構文
パラメータ
ファイル名またはディレクトリをパラメータとして指定する場合の規則を参照してください。
ツール
isymexport
説明
このオプションは、ステアリングファイルを指定するときに使用します。ステアリングファイルでは、isymexportの出力ファイルに含めるシンボルの選択を制御できるほか、必要に応じて、シンボルの名前を変更することもできます。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑export_locals
構文
‑‑export_locals [=symbol_prefix]
パラメータ
| エクスポートしたシンボルの名前のカスタムプレフィックスは、デフォルトのプレフィックス |
ツール
isymexport
説明
このオプションを使用して、ROMイメージファイルからローカルシンボルと絶対シンボルをエクスポートします。エクスポートしたシンボルのデフォルト名はLOCAL_filename_symbolnameです。オプションパラメータsymbol_prefixを使用して、LOCALを自分のカスタムプレフィックスと置き換えます。
例
ROM イメージファイルからエクスポートすると、ソースファイル myFile.cのシンボル symb は、LOCAL_myFile_c_symb になります。
注意
このオプションは、IDEでは使用できません。
‑‑extract、-x
構文
‑‑extractlibraryfile[objectfile1 ... objectfileN]-xlibraryfile[objectfile1 ... objectfileN]
パラメータ
| コマンドの操作対象のライブラリファイルです。 |
| コマンドの操作対象のオブジェクトファイルです。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、オブジェクトファイル(モジュール)を既存のライブラリから抽出するときに使用します。オブジェクトファイルのリストを指定すると、これらのファイルのみ抽出されます。オブジェクトファイルのリストを指定しない場合には、ライブラリ内のすべてのオブジェクトファイルが抽出されます。
注意
このオプションは、IDEでは使用できません。
‑‑fake_time
構文
‑‑fake_time
ツール
iarchive
説明
このオプションを使用して同じタイムスタンプのライブラリファイルを生成します。使用した値は0x5CF00000で、おおよそ2019年5月30日18:08:32(正確な時間は設定した時間により異なります)です。このオプションでは、同じオブジェクトファイルに同じライブラリを生成できます。このオプションを使用しない場合、タイムスタンプは、同じ入力ファイルから一意のライブラリファイルを生成します。
注意
このオプションは、IDEでは使用できません。
‑‑fill
構文
‑‑fill [v;]pattern;range[;range...]
パラメータ
| フィルコマンドについて仮想フィルを生成します。仮想フィルはチェックサムに含まれるフィルバイトですが、出力ファイルには含まれません。これの主な使用目的は、特定の種類のハードウェアで、イメージにより指定されないバイトに既知の値(通常は |
|
|
| フィルのアドレス範囲を指定します。 |
ielftoolアドレス範囲の指定も参照してください。
ツール
ielftool
説明
このオプションは、1つ以上の範囲のすべてのギャップにパターンを埋め込むときに使用します。パターンは、式または16進数文字列のいずれかです。この内容は、フィルパターンが開始アドレスから終了アドレスまで繰り返し埋め込まれように計算されます。そして、実際の内容でパターンが上書きされます。
アライメントを考慮することもできます。ハーフワードまたはワードアクセスでアクセスするフィルを生成する場合、フィルター範囲のアドレスがハーフワードまたはワードと一致しているようにしてください。
--fillオプションがコマンドラインで複数回使用される場合、フィル範囲がそれぞれと重複することはできません。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[リンカ]>[チェックサム]
‑‑front_headers
構文
‑‑front_headers
ツール
ielftool
説明
このオプションを使用して、プログラムとセクションヘッダがファイルの最後ではなく最初にあるELFを出力します。
注意
このオプションは、IDEでは使用できません。
‑‑generate_vfe_header
構文
ツール
isymexport
説明
このオプションを使用して、破棄された可能性のある関数への仮想関数呼び出しがイメージに含まれないことを宣言します。
リンカが仮想関数の除去を実行する際、不要と思われる仮想関数は破棄されます。最適化が正しく適用されるためには、破棄された関数に影響する仮想関数呼び出しがイメージに必要です。
関連項目
注意
このオプションを設定するには、以下を使用します。
[プロジェクト]>[オプション]>[リンカ]>[追加オプション]
‑‑hide_symbols
構文
‑‑hide_symbols
ツール
iexe2obj
説明
このオプションを使用して、入力ファイルからすべてのシンボルを非表示にします。
注意
このオプションは、IDEでは使用できません。
‑‑ihex
構文
ツール
ielftool
説明
出力ファイルのフォーマットを32ビットリニアなIntel拡張hexに設定します。hexadecimal textフォーマットは、Intelによって定義されています。
注記
Intel拡張は232-1より大きいアドレスを示すことができません。アプリケーションにそのようなアドレスが含まれている場合は、別のフォーマットを使用する必要があります。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[リンカ]>[出力コンバータ]
‑‑ihex-len
構文
パラメータ
| レコードののデータバイト数。 |
ツール
ielftool
説明
Intel Hexレコードのデータバイト数を最大に設定します。このオプションは、‑‑ihexオプションと組み合わせてのみ使用できます。デフォルトでは、Intel Hexレコードのデータバイト数は16です。
注意
このオプションは、IDEでは使用できません。
‑‑json
構文
ツール
ielfdumparm
説明
ielfdumparm からの出力を JSON 形式 でフォーマットするには、このオプションを使用します。情報は、‑‑json オプションなしの場合と同じで、単に機械可読形式で出力されるだけです。ただし、重要な違いは、--all、-a、および同様のオプションの動作です。--json オプションがない場合、最初のダンプは ELF ヘッダからの情報であり、その後のダンプは各セクションごとに順番に行われます。--json オプションを使用すると、1 つの大きなオブジェクトが生成されます。
JSON 形式にはすべてのフィールドの説明が含まれており、出力の説明が必要な場合に推奨されます。
注記
ielfdumparm からの出力を JSON 形式 でフォーマットするには、出力をより機械可読にする他のオプションを暗黙的に設定せずに、オプション --just_json を使用します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑json_schema
構文
ツール
ielfdumparm
説明
ielfdumparm からの出力は、オプション ‑‑json を使用して JSON 形式で生成できます。JSON スキーマを生成するには、このオプションを使用します。スキーマにはすべてのフィールドの説明が含まれています。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑just_json
構文
--just_json
ツール
ielfdumparm
説明
ielfdumparm からの出力を JSON 形式でフォーマットするには、--json オプションのように出力を機械可読にする他のオプションを暗黙的に設定せずに、このオプションを使用します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑keep_mode_symbols
構文
‑‑keep_mode_symbols
ツール
iexe2obj
説明
このオプションを使用して、入力ファイルから出力ファイルにモードシンボルをコピーします。これは、逆アセンブラなどによって使用されます。
注意
このオプションは、IDEでは使用できません。
‑‑no_bom
構文
‑‑no_bom
ツール
iarchive、ielfdumparm、iobjmanip、およびisymexport
説明
このオプションを使用して、UTF-8出力ファイルを生成するときに、バイトオーダーマーク(BOM)を省略します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑no_error_summary
構文
ツール
ielfdumparm
説明
このオプションを使用して、他のすべての出力の後に印刷される、報告されたielfdumparmエラー/警告の数のサマリーを抑制します。エラーとワーニングは通常通りに出力されます。
注意
このオプションは、IDEでは使用できません。
‑‑no_header
構文
ツール
ielfdumparm
説明
デフォルトでは、実際のファイル内容の前に標準のリストヘッダが追加されます。このオプションを使用して、リストヘッダの出力を無効化します。
注意
このオプションは、IDEでは使用できません。
‑‑no_rel_sections
構文
ツール
ielfdumparm
説明
デフォルトでは、再配置可能なファイルのセクションの内容が出力として生成された場合、関連のセクションがあればそれもまた必ず出力に含まれます。このオプションを使用して、再配置セクションの出力を無効化します。
注意
このオプションは、IDEでは使用できません。
‑‑no_strtab
構文
ツール
ielfdumparm
説明
このオプションを使用して、文字列のテーブルセクション(SHT_STRTAB型のセクション)のダンプを無効にします。
注意
このオプションは、IDEでは使用できません。
‑‑no_utf8_in
構文
‑‑no_utf8_in
ツール
ielfdumparm
説明
通常、ダンパーはIARツールによって生成されたELFファイルが、UTF-8テキストエンコードを使用するかどうかを決定し、正しい出力を生成できます。IARツールでなはいもので生成されたELFファイルには、ダンパーは、このオプションが使用されてない限り、UTF-8エンコードを想定します。この場合、エンコードは現在のシステムのデフォルトロケールに従うように想定されます。
注記
これは、文字が7-ビット以上のASCIIがパスやシンボルなどに使用されている場合にだけ影響します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑offset
構文
パラメータ
| 生成された出力ファイルのすべてのアドレスで、オフセットが追加(または |
ツール
ielftool
説明
このオプションを使用して、生成された出力ファイルの各出力レコードのアドレスにオフセットを追加または差し引きします。オプションはMotorola S-records、Intel Hex、TI-Txt、Simple-Codeでのみ動作します。オプションはELFファイルまたはバイナリファイル(--binアドレス情報を含まない)を生成するときには影響しません。このオプションでは、エントリーポイントを含むすべてのコンテンツは変更されません。出力フォーマットのアドレスのみです。
例
‑‑offset 0x30000
これはすべてのアドレスに0x30000オフセットを追加します。結果として、アドレス0x4000にリンクされたコンテンツは0x34000に配置されます。
注意
このオプションは、IDEでは使用できません。
‑‑output, -o
構文
-o {filename|directory}
‑‑output {filename|directory} パラメータ
ファイル名またはディレクトリをパラメータとして指定する場合の規則を参照してください。
ツール
iarchiveとielfdumparm.
説明
iarchive
デフォルトでは、iarchiveは、iarchiveコマンドの後の最初の引数を、作成するライブラリファイルの名前であるとみなします。このオプションは、ライブラリ用に別のファイル名を明示的に指定する場合に使用します。
ielfdumparm
デフォルトでは、ダンプ結果の出力先はコンソールになります。このオプションは、出力先をファイルに変更するときに使用します。出力ファイルのデフォルト名は、入力ファイル名にファイル名拡張子idを追加したものです。
また、入力ファイル名の後にファイルやディレクトリを指定して、出力ファイルを指定することもできます。
注意
このオプションは、IDEでは使用できません。
‑‑parity
構文
‑‑parity{symbol[+offset]|address}:size,algo:flashbase[:flags];range[;range...]パラメータ
| パリティバイトが格納されるシンボルの名前です。これは、入力ELFファイルのシンボルテーブルに存在する必要があります。 |
| シンボルへのオフセット。デフォルトでは |
| パリティバイトが格納される絶対アドレスです。 |
| パリティの生成で使用可能な最大バイト数。この値を超えるとエラーが出力されます。このサイズは、ELFファイルの指定されたシンボルに合っている必要があります。 |
| 以下から選択します。
|
| フラッシュメモリの開始アドレス。 |
| 以下から選択します。
|
| パリティバイトを生成するアドレス範囲。 ielftoolアドレス範囲の指定も参照してください。 |
ツール
ielftool
説明
指定範囲にパリティバイトを生成するときに使用します。この範囲は左から右の順になり、奇数または偶数のアルゴリズムを使用してパリティビットが生成されます。パリティビットは最終的に指定のシンボル内に格納され、アプリケーションからアクセスできるようになります。
注意
このオプションは、IDEでは使用できません。
‑‑prefix
構文
‑‑prefix prefixパラメータ
| シンボルのプレフィックスとセクション名。 |
ツール
iexe2obj
説明
デフォルトでは、出力ファイルのベース名は、シンボルやラッパで定義されるセクション名にプレフィックスとして使用されます。このオプションを使用して、これらのシンボルとセクション名のカスタムプレフィックスを設定します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑ram_reserve_ranges
構文
‑‑ram_reserve_ranges[=symbol_prefix]
パラメータ
| このオプションによって作成されたシンボルのプレフィックス。 |
ツール
isymexport
説明
このオプションを使用して、イメージが使用するRAMのエリアについてシンボルを生成します。各エリアにシンボルが1つ生成されます。各シンボルの名前はエリア名に基づき、オプションのパラメータsymbol_prefixがプレフィックスとして付きます。
あるエリアをカバーするシンボルをこの方法で生成すると、影響を受けるアドレスにリンカで他の内容を配置しないように防ぐことができます。これは、既存のイメージに対するリンク処理の際に役立ちます。
‑‑ram_reserve_rangesと‑‑reserve_rangesを同時に使用する場合、RAMエリアは ‑‑ram_reserve_rangesオプションからプレフィックスを、RAM以外のエリアは‑‑reserve_ranges オプションからプレフィックスをそれぞれ取得します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑range
構文
パラメータ
| 開始アドレスが |
ツール
ielfdumparm
説明
このオプションを使用して、実行可能ファイルのコードをダンプする範囲を指定します。
注意
このオプションは、IDEでは使用できません。
‑‑raw
構文
ツール
ielfdumparm
説明
デフォルトでは、特定の種類のセクション専用テキストフォーマットを使用して、多数のELFセクションがダンプされます。このオプションは、汎用テキストフォーマットを使用して、選択した各ELFセクションをダンプするときに使用します。
汎用テキストフォーマットを使用する場合、セクション内の各バイトが16進数フォーマットまたは、必要に応じてASCIIテキストにダンプされます。
注記
Raw-binaryは、64ビットアドレスに関して問題はありません。
注意
このオプションは、IDEでは使用できません。
‑‑raw_io
Syntax
--raw_io
ツール
ielfdumparm
説明
このオプションを使用すると、ielfdumparmは追加の改行文字などを含まない、最大限の機械可読出力を生成します。このオプションは、 ‑‑no_bom オプションも暗黙的に設定することに注意してください。
注意
このオプションは、IDEでは使用できません。
‑‑remove_file_path
構文
ツール
iobjmanip
説明
このオプションは、iobjmanipで、生成されたオブジェクトファイルからプロジェクトソースツリーのディレクトリ情報を削除するときに使用します。つまり、ELFオブジェクトファイルのファイルシンボルが変更されることになります。
このオプションは、‑‑remove_section ".comment"と組み合わせて使用する必要があります。
注意
このオプションは、IDEでは使用できません。
‑‑remove_section
構文
‑‑remove_section {section|number}
パラメータ
| セクションを削除します(複数も可)。 |
| 削除されるセクションの番号。セクション番号は、 |
ツール
iobjmanip
説明
このオプションでは、出力ファイルを作成するときにiobjmanipで指定のセクションを省略します。
注意
このオプションは、IDEでは使用できません。
‑‑rename_section
構文
‑‑rename_section{oldname|oldnumber}=newname
パラメータ
| セクションをリネームします(複数も可)。 |
| リネームされるセクションの番号。セクション番号は、 |
| セクションの新しい名前。 |
ツール
iobjmanip
説明
このオプションでは、出力ファイルを作成するときにiobjmanipで指定のセクションをリネームします。
注意
このオプションは、IDEでは使用できません。
‑‑rename_symbol
構文
‑‑rename_symbololdname=newname
パラメータ
| リネームするシンボル。 |
| シンボルの新しい名前。 |
ツール
iobjmanip
説明
このオプションでは、出力ファイルを作成するときにiobjmanipで指定のシンボルをリネームします。
注意
このオプションは、IDEでは使用できません。
‑‑replace、-r
構文
‑‑replacelibraryfile objectfile1 ... objectfileN-rlibraryfile objectfile1 ... objectfileN
パラメータ
| コマンドの操作対象のライブラリファイルです。 |
| コマンドの操作対象のオブジェクトファイルです。引数はアーカイブファイルとなることもできます。この場合、アーカイブファイルの各メンバーは別々に指定されたように処理されます。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、既存のライブラリにオブジェクトファイル(モジュール)の置換または追加、およびまたはファイルのアーカイブを行うときに使用します。コマンドラインで指定したモジュールにより、ライブラリ内の同一名の既存のモジュールが置換されます。同一名のファイルが存在しない場合には、コマンドラインで指定したファイルがライブラリに追加されます。
注意
このオプションは、IDEでは使用できません。
‑‑reserve_ranges
構文
‑‑reserve_ranges[=symbol_prefix]
パラメータ
| このオプションによって作成されたシンボルのプレフィックス。 |
ツール
isymexport
説明
このオプションを使用して、イメージが使用するROMおよびRAMのエリアについてシンボルを生成します。各エリアにシンボルが1つ生成されます。各シンボルの名前はエリア名に基づき、オプションのパラメータsymbol_prefixがプレフィックスとして付きます。
あるエリアをカバーするシンボルをこの方法で生成すると、影響を受けるアドレスにリンカで他の内容を配置しないように防ぐことができます。これは、既存のイメージに対するリンク処理の際に役立ちます。
‑‑reserve_rangesと‑‑ram_reserve_rangesを同時に使用する場合、RAMエリアは‑‑ram_reserve_rangesオプションからプレフィックスを、RAM以外のエリアは‑‑reserve_rangesオプションからプレフィックスをそれぞれ取得します。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑section、-s
構文
‑‑sectionsec_number|sec_name[,...]‑ssec_number|sec_name[,...]
パラメータ
| ダンプされるセクションの数。 |
| ダンプされるセクションの名前。 |
ツール
ielfdumparm
説明
このオプションは、指定した番号のセクションまたは指定した名前のセクションの内容をダンプするときに使用します。選択したセクションに再配置可能セクションが関連付けられている場合には、その内容も出力されます。
このオプションを使用する場合、入力ファイルの一般属性は出力に含まれません。
セクション番号や名前をカンマで区切るか、このオプションを複数回使用することにより、複数のセクション番号や名前を指定できます。指定されたセクションが見つからない場合、その内容は出力から除外されますが、他のすべてのセグメントの内容が含まれます。
デフォルトでは、セクションの内容は出力に含まれません。
注記
このオプションは、オプション‑‑segment|-gとともに使用することはできません。
例
-s 3,17 /* Sections #3 and #17
-s .debug_frame,42 /* Any sections named .debug_frame and
also section #42 */ 注意
このオプションは、IDEでは使用できません。
‑‑segment、 -g
構文
‑‑segmentseg_number[,...] ‑gseg_number[,...]
パラメータ
| 内容が出力に含まれるセグメントの番号。 |
ツール
ielfdumparm
説明
このオプションを使用して、出力に含める特定のセグメント(プログラムヘッダにより示される実行可能イメージの部分)を選択します。指定されたセグメントが見つからない場合、出力から除外されますが、他のすべてのセグメントが含まれます。
セグメント番号をカンマで区切るか、このオプションを複数回使用することにより、複数のセグメント番号を指定できます。
注記
このオプションは、オプション‑‑section|-sとともに使用することはできません。
注意
このオプションは、IDEでは使用できません。
‑‑self_reloc
構文
ツール
ielftool
説明
このオプションは一般的な使用を意図していないため、意図的に文書化されていません。
注意
このオプションは、IDEでは使用できません。
‑‑show_entry_as
構文
‑‑show_entry_asname
パラメータ
| 出力ファイルのプログラムエントリーポイントに与えられる名前。 |
ツール
isymexport
説明
このオプションを使用して、名前nameの下に入力として与えられたアプリケーションのエントリーポイントエクスポートします。
注意
このオプションは、IDEでは使用できません。
‑‑silent
構文
‑‑silentツール
iarchive と ielftool
説明
ツールが標準出力ストリームにメッセージ送信せずに処理を実行するように設定します。
デフォルトでは、ツールによりさまざまなメッセージが標準出力ストリームから送信されます。このオプションを使用して、この動作を回避することができます。ツールはエラーおよびワーニングメッセージをエラー出力ストリームに送信するため、この設定に関係なくそれらは表示されます。
注意
このオプションは、IDEでは使用できません。
‑‑simple
構文
ツール
ielftool
説明
出力ファイルのフォーマットを簡易コードに設定します。バイナリフォーマットにはアドレス情報が含まれています。
注記
シンプルコードは232-1より大きいアドレスを示すことができます。アプリケーションにそのようなアドレスが含まれている場合は、より高いバージョン番号のシンプルコードファイルが生成されます。そのようなファイルは、この高いバージョンを扱うことができる、シンプルコードリーダーでのみ読み取りできます。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[出力コンバータ]
‑‑simple-ne
構文
ツール
ielftool
説明
出力ファイルのフォーマットを簡易コードに設定しますが、エントリレコードは生成されません。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[出力コンバータ]
‑‑source
構文
ツール
ielfdumparm
説明
このオプションを使用して、実行可能ファイルからコードをダンプする際、ielftoolが各文のソースをその文のコードより前にインクルードするようにします。これが機能するためには、実行可能イメージをデバッグ情報とともにビルドし、ソースコードが元の場所でアクセス可能な状態でなければなりません。
注意
このオプションは、IDEでは使用できません。
‑‑srec
構文
ツール
ielftool
説明
出力ファイルのフォーマットをMotorola S-recordsに設定します。hexadecimal textフォーマットは、Motorolaによって定義されています。オプションielftool、‑‑srec-len、および‑‑srec-s3onlyを使用して、使用するフォーマットを変更できます。
注記
Motorola Sレコードは 232-1より大きいアドレスを示すことができません。アプリケーションにそのようなアドレスが含まれている場合は、別のフォーマットを使用する必要があります。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[出力コンバータ]
‑‑srec-len
構文
パラメータ
| 各S-record内のデータバイト数。 |
ツール
ielftool
説明
S-recordのデータバイト数の最大数を設定します。このオプションは、‑‑srecオプションと組み合わせてのみ使用できます。デフォルトでは、S-recordのデータバイト数は16です。
注意
このオプションは、IDEでは使用できません。
‑‑srec-s3only
構文
ツール
ielftool
説明
S-record出力にレコードのサブセット(すなわちS0、S3、S7レコード)のみが含まれるように制限します。このオプションは、--srecオプションと組み合わせて使用できます。
注意
このオプションは、IDEでは使用できません。
‑‑strip
構文
ツール
iobjmanip と ielftool。
説明
このオプションでは、出力ファイル を書き込む前に、デバッグ情報を含むすべてのセクションを削除します。iobjmanipはすべてのモジュールローカル関数、変数、およびセクションシンボルの名前も削除します。
注記
ielftool では、--strip リンカオプションを使用していないELFイメージが必要です。リンカで--stripオプションを使用する場合、それを削除し、代わりにielftoolの--stripオプションを使用します。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[リンカ]>[出力]>[出力ファイルにデバッグ情報を含める]
‑‑symbols
構文
‑‑symbols libraryfileパラメータ
| コマンドの操作対象のライブラリファイルです。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、指定したライブラリ内のオブジェクトファイル(モジュール)によって定義されるすべての外部シンボルを、そのシンボルを定義しているオブジェクトファイル(モジュール)の名前とともにリストするときに使用します。
出力抑止モード (‑‑silent)の場合、このコマンドは、ライブラリファイルのシンボル関連構文チェックを実行し、エラーと警告のみを表示します。
注意
このオプションは、IDEでは使用できません。
‑‑text_out
構文
‑‑text_out{utf8|utf16le|utf16be|locale}パラメータ
| UTF-8エンコードを使用 |
| UTF-16リトルエンディアンエンコードを使用 |
| UTF-16ビッグエンディアンエンコードを使用 |
| システムのロケールエンコードを使用 |
ツール
iarchive、ielfdumparm、iobjmanip、およびisymexport
説明
このオプションを使用して、テキスト出力ファイルを生成するときに使用するのエンコードを指定します。
リストファイルのデフォルトは、メインソースファイルと同じエンコードが使用されます。すべてのその他のテキストファイルのデフォルトは、バイトオーダーマーク(BOM)のあるUTF-8です。
BOMなしのUTF-8エンコードでテキストを出力する場合、オプション--no_bomも使用できます。
関連項目
‑‑no_bom および テキストエンコーディング
注意
このオプションは、IDEでは使用できません。
‑‑titxt
構文
ツール
ielftool
説明
出力ファイルのフォーマットをTexas Instruments によって定義された 16 進テキスト形式である Texas Instruments TI-TXT に設定します。
注記
Texas Instruments TI–TXT は 232-1より大きいアドレスを示すことができます。
注意
オプションを設定するには、以下のように選択します。
[プロジェクト]>[オプション]>[出力コンバータ]
‑‑toc、-t
構文
‑‑toclibraryfile-tlibraryfile
パラメータ
| コマンドの操作対象のライブラリファイルです。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、指定したライブラリ内のすべてのオブジェクトファイル(モジュール)をリストするときに使用します。
出力抑止モード (‑‑silent)の場合、このコマンドは、ライブラリファイルの基本的な構文チェックを実行し、エラーと警告のみを表示します。
注意
このオプションは、IDEでは使用できません。
‑‑update_symbol
構文
‑‑update_symbolsymbol,{hexstring|(filename)}[,force]
パラメータ
| 置換するコンテンツのシンボル。 |
|
|
| シンボルの新しいコンテンツを含むファイル。ファイルのすべてのバイとは、ELFファイルにあるように挿入されます。 |
| 警告されると更新を強制します。 |
ツール
ielftool
説明
このオプションは、指定したシンボルのELFファイルコンテンツを置換します。ielftoolは、新しいコンテンツのバイト数(16進数文字列で指定されるまたはファイルからの読み取り)が、ELFファイルの現在のシンボルのサイズと一致するかをチェックします。サイズが一致しない場合は、操作が中止されます。
forceパラメータを使用して、ielftoolが、一部のELFシンボルにサイズがなく、サイズが一致しない場合でも、操作を実行します(通常生成されたアセンブラ、またはツールチェーンで生成されたものは、シンボルサイズが設定されません)。処理を強制する場合は、入力として更新しているファイルは破損するので、誤って使用してしまわないように気を付けなければなりません。
注意
このオプションは、IDEでは使用できません。
‑‑update_typeless_globals
構文
‑‑update_typeless_globals[=codeSectionName,dataSectionName]
パラメータ
| Codeセクション名。 |
| Dataセクション名。 |
ツール
iobjmanip
説明
このオプションを使用すると、オブジェクトファイルの関連のグローバルシンボルのタイプを更新します。
ELFタイプ(ELF属性STT_NOTYPE)のないグローバルシンボルは、そのタイプセットがCode (STT_FUNC) または Data (STT_OBJECT)です。パラメータが指定されていない場合は、シンボルを含むセクションの属性は、これがCodeまたはDataセクションなのかを決定するために使用されます。
オプションのセクション名が使用される場合は、dataSectionNameと一致するセクションのシンボルは、Dataとして扱われます。同様に、codeSectionNameと一致するセクションのシンボルは、Codeとして扱われます。セクションがdataSectionNameまたはcodeSectionNameのどちらにも一致しない場合は、ワーニングが生成され、セクションのシンボルは更新されません。
注意
このオプションは、IDEでは使用できません。
‑‑use_full_std_template_names
構文
ツール
ielfdumparm
説明
一部の標準C++テンプレート名は通常、マングル化されていないシンボル名で省略されて出力で使用されます(たとえば、"std::basic_string<char、std::char_traits<char>、std_::allocator<char>>"の代わりに"std::string"というように)。このオプションを使用して、ielfdumparmが省略されていない形式を使用するようにします。
注意
このオプションは、IDEでは使用できません。
‑‑utf8_text_in
構文
‑‑utf8_text_in
ツール
iarchive、ielfdumparm、iobjmanip、およびisymexport
説明
このオプションを使用して、ツールは、バイト オーダーマーク(BOM)のないテキスト入力ファイルを読み込むとき、UTF-8 エンコードを使用できることを指定します。
注記
このオプションはソースファイルには適用されません。
関連項目
注意
このオプションは、IDEでは使用できません。
‑‑verbose、-V
構文
‑‑verbose
-V (iarchive only)ツール
iarchive と ielftool。
説明
このオプションは、診断メッセージのほかに、実行された操作をツールで報告するときに使用します。
注意
この設定は常に有効化されているため、このオプションはIDEでは使用できません。
‑‑version
構文
‑‑version
ツール
iarchive、ielfdumparm、ielftool、iobjmanip、isymexport
説明
このオプションを使用して、バージョン情報をコンソールに送信してから終了するようツールに指示します。
注意
このオプションは、IDEでは使用できません。
‑‑vtoc
構文
‑‑vtoc libraryfileパラメータ
| コマンドの操作対象のライブラリファイルです。 |
ファイル名またはディレクトリをパラメータとして指定する場合の規則も参照してください。
ツール
iarchive
説明
このコマンドは、指定したライブラリ内のすべてのオブジェクトファイル(モジュール)の名前、サイズ、変更日時をリストするときに使用します。
出力抑止モード (‑‑silent)の場合、このコマンドは、ライブラリファイルの基本的な構文チェックを実行し、エラーと警告のみを表示します。
注意
このオプションは、IDEでは使用できません。
‑‑wrap
構文
‑‑wrap symbolパラメータ
|
|
ツール
iexe2obj
説明
このオプションを使用して、ラッパ関数を関数シンボルに生成します。
注意
このオプションは、IDEでは使用できません。