Skip to main content

IAR Embedded Workbench for Arm 9.70.x

IAR Absolute Symbol Exporter—isymexport

このセクションの内容:

IAR Absolute Symbol Exporter (isymexport)は、ROMイメージファイルから絶対シンボルをエクスポートします。これらのシンボルは、アドオンアプリケーションのリンク時に使用できます。

最終のアプリケーションでシンボルファイルからのシンボルを保持するには、ソースコードから、あるいはリンカオプションの--keepを使用して、そのシンボルを参照する必要があります。

呼び出し構文

IAR Absolute Symbol Exporterの呼び出し構文は以下のとおりです。

isymexport [options] inputfile outputfile
パラメータ

パラメータを以下に示します。

パラメータ

説明

inputfile

実行可能ELF ファイルの形式ROM イメージです(リンカからの出力)。

オプション

任意の使用可能なコマンドラインオプション。詳細については、isymexportのオプションの概要を参照してください。

outputfile

リンク入力として使用可能な再配置可能ELFファイルです。このファイルには、入力ファイル内の絶対シンボルのすべてまたは選択内容が含まれます。出力ファイルには、シンボルのみ含まれ、実際のコードやデータセクションは含まれません。ステアリングファイルは、含めるシンボルを管理するために使用され、またシンボルの名前を変えるためにも使用できます。

表120 isymexportのパラメータ 


ファイル名またはディレクトリをパラメータとして指定する場合の規則を参照してください。

注意

DEで、ライブラリシンボルのエクスポートを追加するには、[プロジェクト]>[オプション]>[ビルドアクション]を選択し、[ビルド後コマンドライン]テキストフィールドでコマンドラインをたとえば次のように指定します。

$TOOLKIT_DIR$\bin\isymexport.exe "$TARGET_PATH$" "$PROJ_DIR$\const_lib.symbols"

isymexportのオプションの概要

以下の表に、isymexportのコマンドラインオプションの一覧を示します。

コマンドラインオプション

説明

‑‑edit

ステアリングファイルを指定します。

‑‑export_locals

ローカルのシンボルをエクスポートします。

-f

コマンドラインを拡張します。

‑‑f

オプションで依存関係を指定して、コマンドラインを拡張します。

‑‑generate_vfe_header

破棄された可能性のある関数への仮想関数呼び出しがイメージに含まれないことを宣言します。

‑‑no_bom

UTF-8出力ファイルのバイト オーダーマークを省略します。

‑‑ram_reserve_ranges

イメージが使用するRAM内のエリアのためにシンボルを生成します。

‑‑reserve_ranges

イメージが使用するROMおよびRAM内のエリアを予約するためにシンボルを生成します。

‑‑show_entry_as

指定された名前を持つアプリケーションのエントリポイントをエクスポートします。

‑‑text_out

テキスト出力ファイルのエンコードを指定します。

‑‑utf8_text_in

テキスト入力ファイルにUTF-8エンコードを使用します。

‑‑version

ツールの出力をコンソールに送信し、終了します。

表121 isymexportオプションの概要 


詳細については、ユーティリティオプションの説明を参照してください。

ステアリングファイル

ステアリングファイルは、含めるシンボルを管理するために使用され、またシンボルの名前を変えるためにも使用できます。ステアリングファイルでは、showディレクティブおよびhideディレクティブを使用して、入力ファイルからどのパブリックシンボルを出力ファイルに含めるかの選択ができます。renameディレクティブを使用すると、入力ファイル内のシンボルの名前を変更できます。

ステアリングファイルを使用する場合は、アクティブにエクスポートされたシンボルのみが出力ファイルで使用可能になります。このため、showディレクティブを持たないステアリングファイルでは、シンボルのない出力ファイルが生成されます。

構文

以下の構文規則が適用されます。

  • それぞれのディレクティブは、別々の行に指定します。

  • Cのコメント(/*...*/)やC++のコメント(//...)を使用できます。

  • パターンには、シンボル名の複数文字に対応するワイルドカード文字を含めることができます。

  • *文字は、シンボル名の中のゼロ桁または複数桁の文字のシーケンスに一致すると見なされます。

  • ?文字は、シンボル名の中の任意の1文字に一致すると見なされます。

rename xxx_* as YYY_* /*Change symbol prefix from xxx_ to YYY_ */
show YYY_*            /* Export all symbols from YYY package */
hide *_internal       /* But do not export internal symbols */
show zzz?             /* Export zzza, but not zzzaaa */
hide zzzx             /* But do not export zzzx */