ザイリンクス システム デバッガーを使用した接続およびデバッグ - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

ザイリンクス システム デバッガーを使用すると、Linux カーネルをデバッグできます。次の手順に従って、ターゲットで実行される Linux カーネルに接続して、ソース コードをデバッグします。

  1. 次のコンフィギュレーション オプションを使用してカーネル ソースをコンパイルします。
    CONFIG_DEBUG_KERNEL=y
    CONFIG_DEBUG_INFO=y
  2. Vitis ソフトウェア プラットフォームを起動します。
  3. Window > Open Perspective > Debug をクリックします。
  4. アプリケーションを右クリックし、Debug As > Debug Configuration をクリックします。
  5. [Debug Configurations] ページで Launch on Hardware (Single Application Debug) を選択して New ボタン () をクリックします。
  6. コンフィギュレーションに Zynq_Linux_Kernel_Debug という名前を付けます。
  7. 実行中ステートのプロセッサを使用してデバッグが開始されます。
  8. Pause ボタンをクリックし、プロセッサを一時停止します ()。[Disassembly] モードでデバッグが開始します。
  9. vmlinux シンボル ファイルを両方のプロセッサ コアに追加します。
    1. ARM Cortex-A9 MPCore#0 を右クリックし、Symbol Files をクリックします。
    2. add をクリックし、vmlinux シンボル ファイルを追加します。
    3. OK をクリックします。
    4. ARM Cortex-A9 MPCore#1 を右クリックし、Symbol Files をクリックします。
    5. add をクリックし、vmlinux シンボル ファイルを追加します。
    6. OK をクリックします。
  10. Linux マシンでコードを構築し、Windows でデバッガーを実行する場合は、ソース ルックアップを設定する必要があります。
  11. デバッグ コンフィギュレーション Zynq_Linux_Kernel_Debug を右クリックし、Edit Source Lookup をクリックします。
  12. Add をクリックします。
  13. Add Source ページから Path Mapping を選択します。
  14. Add をクリックし、コンパイル パスとローカル ファイル システム パスを追加します。
  15. ソース ファイルが問題なく設定されると、ソース コードをデバッグできるようになります。
  16. [Breakpoints] ビューのツールバーを使用すると、関数ブレークポイントを追加できます。
  17. start_kernel 関数にブレークポイントを追加します。
  18. リセット ボタンをクリックします。Zynq-7000 SoC プロセッサが SD カードからブートされ、カーネル初期化の冒頭で停止します。
    注記: Linux カーネルは常に完全に最適化され、インラインがイネーブルになった状態でコンパイルされます。このため、命令の順番が変わってしまう可能性があるので、コードのステップスルーが正しく動作しないことがあります。さらに、変数の中にコンパイラの最適化で削除されるものがあり、デバッガーで使用できないこともあります。