web-dev-qa-db-ja.com

.axfファイルとは何ですか?

私はarmアーキテクチャの初心者で、組み込みソフトウェアに取り組んでおり、プロジェクトバイナリのデバッグフォルダーにある.axfファイルについて学習しようとしていました。

ビルドプロセス中にリンカによって生成されたアーム実行可能ファイルであり、クラッシュのデバッグに使用されることを発見しました。デバッグ情報が含まれていることは明らかですが、どのような情報であるかは明確ではありませんか?また、デバッグフォルダーに.mapファイルが1つ存在するため、これら2つのファイルの違いは何でしょうか。

17
Pravi

AXFファイルはオブジェクトファイル形式 ARMのRealViewコンパイラ(KeilのARM-MDKの一部)によって生成され、オブジェクトコードとデバッグ情報の両方が含まれています。デバッガーでは、オブジェクトコードのみがターゲット自体に読み込まれますが、コードとデバッグ情報の両方が開発ホストのメモリに読み込まれます。

JTAG、SWD、またはその他の接続を介して(クラッシュするだけでなく、あらゆる種類の)デバッグを行う場合、そのコードを元のソースコードに関連付けるデバッグ情報とともに、ホストでコードを使用できる必要があります。デバッグ接続では、レジスタ値などの最小限のデータのみが転送されるため、たとえば、デバッガーはプログラムカウンター値を取得し、AXFのデバッグデータを使用してホストで使用可能なアセンブラーとソースコードを表示できます。

MAPファイルには、同じ情報のsomeが含まれますが、マシンの使用ではなく人間の可読性と消費を目的としており、ソースコード行からオブジェクトコードの関連付けは含まれていませんソースレベルデバッガに必要なデータ。

ほとんど無視できます-コンパイラーが生成し、デバッガーがロードします。ツールチェーンはおそらく、生産プログラミングに使用するもので、マシンコードと定数データと初期化子のみを含む.hexファイルも生成します。

26
Clifford