5

私は STM32 プロセッサに取り組んでいます。readelf -w を使用すると、elf ファイルから大量のデバッグ情報を抽出できました。出力の短い部分を以下に示します。

 <1><3faf>: Abbrev Number: 30 (DW_TAG_variable)
    <3fb0>   DW_AT_name        : (indirect string, offset: 0x24e): ITM_RxBuffer 
    <3fb4>   DW_AT_decl_file   : 19 
    <3fb5>   DW_AT_decl_line   : 1742   
    <3fb7>   DW_AT_type        : <0x3f48>   
    <3fbb>   DW_AT_external    : 1  
    <3fbc>   DW_AT_declaration : 1

dwarfdump は、デバッグ情報が elf ファイルで利用可能であることも確認します。

次のソフトウェア パッケージを使用しています: Eclipse Juno arm-2011.03/bin/arm-none-eabi-gdb OpenOCD および JTAG キー

elf ファイルを生成したら、それを STM32 プロセッサに焼き付け、Eclipse でデバッグ セッションを開始します。JTAG は起動と停止ができたので、OpenOCD デーモンで問題ないと思います。「シンボルテーブルがロードされていません」という事実のため、ブレークポイントを設定できません。私が気付いたのは、「変数/ブレークポイント/レジスタ/モジュール」ウィンドウの中で、ロードされたelfファイルを示すモジュールタブに次の詳細が含まれていることです: タイプ: 実行可能シンボル: ロードされていないシンボルファイル: BuildResult.elf

デバッグ構成->スタートアップタブで、「イメージの読み込み/シンボルの読み込み」をチェック/チェック解除しても違いはありません。eclipse が elf ファイルに含まれるシンボル情報をどのようにデバッグ プロセスにロードするのか疑問に思っています。

提案、ヒントは大歓迎です。

4

0 に答える 0