2.7 Linux カーネルへの接続の設定

Linux ターゲットへの接続を設定し、Linux カーネルをメモリにロードするには、次の手順に従います。ビルド済みのローダブルモジュールをターゲットに追加する方法についても説明します。

前提条件

接続前に、以下の手順を行う必要があります。
  • デバッガとデバッグハードウェアアダプタ間の接続に使用する、ターゲット IP アドレスまたは名前を取得します。
  • 必要に応じて、ターゲットへの リモートシステムエクスプローラ (RSE) 接続を設定します。

手順

  1. メインメニューから、[ウィンドウ] > [パースペクティブを開く] > [DS-5 デバッグ]を選択します。
  2. [Run]メニューから[Debug Configurations...]を選択します。
  3. コンフィギュレーションツリーから[DS-5 デバッガ]を選択し、[新規作成]をクリックして新しいデバッグコンフィギュレーションを作成します。
  4. [名前]フィールドに、新しいデバッグコンフィギュレーションの適切な名前を入力します。
  5. [接続]タブをクリックして、DS-5デバッガターゲット接続を設定します。
    1. 必要なプラットフォーム、[Linux Kernel and/or Devices Driver Debug]プロジェクトタイプ、および必要なデバッグ操作を選択します。
    2. デバッガとデバッグハードウェアアダプタとの接続を設定します。
  6. [Debugger]タブをクリックして、デバッガを設定します。
    1. 必要に応じて、[実行]コントロールパネルで、[接続のみ]を選択し、初期化スクリプトを設定します。

      オペレーティングシステムOSサポートは、Linux カーネルの vmlinux シンボルファイルがDS-5デバッガ起動コンフィギュレーションからデバッガにロードされると、自動的に有効になります。ただし、 set os コマンドを使用して手動でこれを制御することもできます。
      例えば、カーネルがブートされ、 メモリ管理ユニット (MMU)が初期化されるまで OS サポートのアクティブ化を遅延する場合、ターゲット初期化スクリプトを使用して OS サポートを無効にする接続を設定できます。
    2. [Execute debugger commands] オプションを選択します。
    3. 提供されているフィールドに、例えば、デバッグしたいカーネルモジュールおよびカーネルのデバッグシンボルをロードするコマンドを入力します。
      add-symbol-file <path>/vmlinux S:0 
      add-symbol-file <path>/modex.ko 

      • vmlinux のパスはビルド環境と同じでなければなりません。
      • 上記の例では、カーネルイメージは vmlinux と呼ばれますが、使用するカーネルイメージにより異なる名前が付いている場合があります。
      • 上記の例では、S:0 は、 0 オフセットを含むセキュアなスペースたのめにシンボルをロードします。 オフセットおよびメモリスペースの接頭文字はターゲットによります。複数のメモリスペースで作業する場合、各メモリスペースのシンボルをロードすることを確認して下さい。
    4. ホスト作業ディレクトリを設定するか、またはデフォルトを使用します。
    5. [パス]パネルで、デバッガがソースコードを表示するときに使用するホスト上のソースの検索ディレクトリを指定します。
  7. [Apply]をクリックしてコンフィギュレーション設定を保存します。
  8. [Debug]をクリックしてターゲットに接続します。
  9. デバッグには、DS-5 デバッグパースペクティブが必要です。[Confirm Perspective Switch]ダイアログボックスが表示された場合は、[Yes]をクリックしてパースペクティブを切り替えます。
接続時に DS-5 デバッグパースペクティブが開いている場合は、関連するすべてのビューとエディタが表示されます。
これらのオプションの詳細については、キーボードの F1 キーを押して、ダイナミックコンテキストヘルプを表示して下さい。

ヒント

Handデフォルトでは、このタイプの接続の場合、すべてのプロセッサ例外はターゲット上の Linux によって処理されます。接続されたら、ブレークポイントビューメニューの[信号の管理]ダイアログボックスを使用して、デフォルトのハンドラ設定を変更できます。
関連する概念
6.10.2 Linux カーネルのデバッグについて
6.10.3 Linux カーネルモジュールのデバッグについて
6.7 ベアメタル対称型マルチプロセスシステムのデバッグについて
関連する作業
2.5 Linux アプリケーションのデバッグ用の 固定仮想プラットフォームFVPモデルへの接続の設定
2.6 gdbserver を使用した Linux アプリケーションへの接続の設定
2.3 ベアメタルハードウェアターゲットへの接続の設定
2.10 ベアメタルターゲットへの[イベント]ビューの接続の設定
関連する参考文書
11.38 [Debug Configurations]-[接続]タブ
11.39 [Debug Configurations] - [Files]タブ
11.40 [Debug Configurations] - [Debugger]タブ
11.41 [Debug Configurations]-[OS Awareness]タブ
11.42 [Debug Configurations] - [Arguments]タブ
11.43 [Debug Configurations] - [Environment]タブ
11.48 シリアル接続および SSH 接続用のターゲット管理端末
12.1 ARM Linux の問題と解決法
12.3 ターゲット接続の問題と解決法
関連情報
ロード可能なカーネルモジュールのデバッグ
非機密扱いPDF file icon PDF 版ARM DUI0446WJ
Copyright © 2010-2015 ARM.All rights reserved.