仕 様
視覚化ユーティリティ、ターゲット制御ユーティリティなどを作成し、ターゲットアプリケーション情報をユーザの対話および/またはデータ表現に接続する必要がある場合の好ましい解決策である。SEGGER ELFLibは、ターゲットアプリケーションから変数のアドレスなどのデバッグ情報を抽出することができます。DWARFはデバッグ情報を一般的にどのように解釈するかを指定しますが、さまざまなコンパイラには多くの違いがあります。主な理由は、あるIDEが別のIDEによって生成されたELFファイルを処理できない主な理由です。SEGGER ELFLibはこのような問題を克服します。
ELFとは?
実行ファイルとリンク可能な形式(ELF)は、実行可能ファイル、オブジェクトコードなどの標準を記述します。ELFはファイルの構造(どの情報がどこにあるか)を定義しますが、しばしばDWARFデバッグ形式と組み合わされて、どの変数がどの種類のメモリに存在し、どの種類がどのようなものであるかといったデバッグ情報を表現する方法を指定します。
使用方法
多くのIDEには、ターゲットアプリケーションによって収集されたデータを表示および解釈するさまざまな方法があります。しかし、多くの場合、データを表示するこれらの方法は、特定のケースでは特定のニーズに適合せず、特定のアーキテクチャでは使用できない特定のIDEに開発をバインドします。SEGGER ELFLibを使用すると、そのようなデータを視覚化できる独自のアプリケーションを作成することができ、開発中にIDEに依存する必要はなくなります。
SEGGER ELFLibの実際の使用例は、変数のデータを取得するために、アプリケーション自体に余分なプロトコルなどを実装する必要なく、組み込みシステム上で実行されているターゲットアプリケーションの変数値を監視および変更することです。たとえば、SEGGER J-Scopeソフトウェア は、SEGGER ELFLibを使用して、ターゲットアプリケーションにどの変数が存在するかについての情報を抽出するので、ユーザーは視覚化するものを選択できます。
ELFLibの別の使用例は、例えば、埋め込まれたターゲットの動作を制御するためのグラフィカルユーザインタフェースを、ターゲットアプリケーション内の様々な変数の値を変更することによって、特定のプロトコルなどを実装せずに作成することである。アプリケーション自体を変更する必要はなく(不要なコードを避け、メモリ内の領域を節約する)、すべてのターゲットアプリケーションで直接使用できます。
提 供
SEGGER ELFLibは静的ライブラリ(ソースコードにオプション付き)として提供され、Windows、Linux、MacOSで利用できます。出荷には、ELFLibのAPIの使用法を示すサンプルアプリケーションが付属しています。
ライセンス
ELFLibは全社ライセンスでライセンスされています。つまり、ライブラリを一度購入した後、ELFLibを購入した会社の中で好きなユーティリティを作成して使用することができます。