ARM® DS-5™ デバッガユーザガイド

バージョン 5.18


目次

序章
本書について
本書の構成
用語集
表記規則
ご意見、ご感想
その他の情報
1 の使い方 DS-5™ デバッガ
1.1 デバッガについて
1.2 デバッガの概念
1.3 Eclipse からのデバッガの起動
1.4 DS-5™ ヘッドレスコマンドラインデバッガについて
1.5 ヘッドレスコマンドラインデバッガのオプション
1.6 ヘッドレスコマンドラインデバッガを使用したカスタムコンフィギュレーションデータベースの指定
1.7 DS-5™ デバッグパースペクティブのキーボードショートカット
1.8 DS-5™ デバッガコマンドラインコンソールのキーボードショートカット
1.9 DS-5™ デバッガにおける標準への準拠
2 ターゲットの設定と接続
2.1 ターゲット接続の種類
2.2 固定仮想プラットフォームFVP への接続の設定
2.3 gdbserver を使用した Linux ターゲットへの接続の設定
2.4 Configuring a bare-metal connection to a model
2.5 Linux カーネルへの接続の設定
2.6 巻き戻しサポートを使用したアプリケーションデバッグでの Linux ターゲットへの接続の設定について
2.6.1 既存のアプリケーションとアプリケーション巻き戻しセッションへの接続
2.6.2 ターゲットシステムでのアプリケーションとアプリケーション巻き戻しサーバのダウンロード
2.6.3 アプリケーション巻き戻しサーバの起動およびターゲット常駐アプリケーションのデバッグ
2.7 巻き戻しサポートが設定されたネイティブアプリケーション/ライブラリデバッグを使用した Android ターゲットへの接続の設定について
2.7.1 実行中の Android アプリケーションへの接続
2.7.2 Android アプリケーションのダウンロードとデバッグ
2.8 ベアメタルターゲットへの接続の設定
2.9 ベアメタルターゲットへのイベントビューアの接続の設定
2.10 ターゲットコンフィギュレーションインポートユーティリティについて
2.11 新規プラットフォームの追加
2.12 DS-5 への新しいコンフィギュレーションデータベースの追加
2.13 既存の起動コンフィギュレーションのエクスポート
2.14 既存の起動コンフィギュレーションのインポート
2.15 ターゲットからの切断
3 ターゲットコンフィギュレーションエディタの使用
3.1 ターゲットコンフィギュレーションエディタについて
3.2 ターゲットコンフィギュレーションエディタ – [Overview]タブ
3.3 ターゲットコンフィギュレーションエディタ – [Memory]タブ
3.4 ターゲットコンフィギュレーションエディタ – [Peripherals]タブ
3.5 ターゲットコンフィギュレーションエディタ – [Registers]タブ
3.6 ターゲットコンフィギュレーションエディタ – [Group View]タブ
3.7 ターゲットコンフィギュレーションエディタ – [Enumerations]タブ
3.8 ターゲットコンフィギュレーションエディタ – [Configurations]タブ
3.9 新しいターゲットコンフィギュレーションファイルの作成方法を示したシナリオ
3.9.1 メモリマップの作成
3.9.2 ペリフェラルの作成
3.9.3 スタンドアロンレジスタの作成
3.9.4 ペリフェラルレジスタの作成
3.9.5 ペリフェラルレジスタで使用する呼称定義の作成
3.9.6 ペリフェラルレジスタへの列挙型の割り当て
3.9.7 制御レジスタのリマップ規則の作成
3.9.8 制御レジスタによるリマップのメモリ領域の作成
3.9.9 重複するメモリ領域へのマップ規則の適用
3.10 ターゲットのパワードメインの作成
3.11 グループリストの作成
3.12 既存のターゲットコンフィギュレーションファイルのインポート
3.13 ターゲットコンフィギュレーションファイルのエクスポート
4 実行制御
4.1 ターゲットへのイメージのロードについて
4.2 デバッガへのデバッグ情報のロードについて
4.3 main() への引数の引き渡しについて
4.4 イメージの実行
4.5 ブレークポイントとウォッチポイントの使用
4.5.1 実行ブレークポイントの設定または削除
4.5.2 データウォッチポイントの設定または削除
4.5.3 データウォッチポイントのプロパティの表示
4.5.4 ファイルからの DS-5™ ブレークポイント設定のインポート
4.5.5 ファイルへの DS-5™ ブレークポイント設定のエクスポート
4.6 条件ブレークポイントの使用
4.6.1 既存のブレークポイントへの条件の割り当て
4.7 ブレークポイントとウォッチポイントの保留について
4.8 トレースポイントの設定
4.9 Streamline の始点と終点の設定
4.10 アプリケーションのステップ実行
4.11 Unix シグナルの処理
4.12 プロセッサ例外処理
4.13 デバッガパスの代入規則の設定
5 ターゲットの検査
5.1 ターゲット実行環境の検査
5.2 コールスタックの検査
5.3 トレースサポートについて
5.4 トレースデータの事後分析デバッグについて
6 組み込みシステムのデバッグ
6.1 エンディアンについて
6.2 AHB、APB、および AXI バスへのアクセスについて
6.3 仮想メモリと物理メモリについて
6.4 ハイパーバイザのデバッグについて
6.5 big.LITTLE システムのデバッグについて
6.6 ベアメタル対称型マルチプロセスシステムのデバッグについて
6.7 マルチスレッドアプリケーションのデバッグについて
6.8 共有ライブラリのデバッグについて
6.9 Linux カーネルのデバッグについて
6.10 Linux カーネルモジュールのデバッグについて
6.11 FreeRTOS のデバッグについて™
6.12 TrustZone 対応ターゲットのデバッグについて
6.13 Unified Extensible Firmware Interface(UEFI)のデバッグについて
6.14 アプリケーションの巻き戻しについて
6.15 ThreadX のデバッグについて
6.16 DTSL(デバッグおよびトレースサービスレイヤ)について
6.17 CoreSight™ ターゲットアクセスライブラリについて
7 実行時メッセージの制御
7.1 セミホスティングと top of memoryについて
7.2 セミホスティングの使用
7.3 デバッガでの自動セミホスティングサポートの有効化
7.4 コマンドラインコンソールを使用したセミホスティングメッセージの制御
7.5 ログメッセージの出力の制御
7.6 log4j コンフィギュレーションファイルについて
7.7 デバッガからのログメッセージの出力のカスタマイズ
8 スクリプトを使用したデバッグ
8.1 デバッグセッションで生成された DS-5 デバッガコマンドのエクスポート
8.2 DS-5 デバッガスクリプトの作成
8.3 CMM スタイルのスクリプトの作成
8.4 Jython スクリプトについて
8.5 Jython スクリプトの概念とインタフェース
8.6 Eclipse での DS-5™ の Jython プロジェクトの作成
8.6.1 DS-5™ の Eclipse での新しい Jython プロジェクトの作成
8.6.2 DS-5™ Jython インタープリタを使用するための既存プロジェクトの設定
8.7 Jython スクリプトの作成
8.8 スクリプトの実行
9 スナップショットビューアの使用
9.1 スナップショットビューアについて
9.2 スナップショットビューア初期化ファイルのコンポーネント
9.3 スナップショットビューアへの接続
9.4 スナップショットビューアのデバッガスクリプト作成時の注意事項
10 DS-5 デバッグパースペクティブとビュー
10.1 [App Console]ビュー
10.2 [ARM Asm Info]ビュー
10.3 ARM アセンブラエディタ
10.4 [Breakpoints]ビュー
10.5 C/C++ エディタ
10.6 [Commands]ビュー
10.7 [Debug Control]ビュー
10.8 [Disassembly]ビュー
10.9 イベントビュー
10.10 [Event Viewer Settings]ダイアログボックス
10.11 [Expressions]ビュー
10.12 関数ビュー
10.13 [History]ビュー
10.14 [Memory]ビュー
10.15 [Modules]ビュー
10.16 [Registers]ビュー
10.17 RTOS データビュー
10.18 [Screen]ビュー
10.19 [Scripts]ビュー
10.20 [Target Console]ビュー
10.21 [Target]ビュー
10.22 [Trace]ビュー
10.23 [トレース制御]ビュー
10.24 [Variables]ビュー
10.25 [Auto Refresh Properties]ダイアログボックス
10.26 [Memory Exporter]ダイアログボックス
10.27 [Memory Importer]ダイアログボックス
10.28 [Fill Memory]ダイアログボックス
10.29 [Export trace report]ダイアログボックス
10.30 [Breakpoint properties]ダイアログボックス
10.31 [Watchpoint properties]ダイアログボックス
10.32 [トレースポイントのプロパティ]ダイアログボックス
10.33 [Manage Signals]ダイアログボックス
10.34 [Functions Filter]ダイアログボックス
10.35 [Jython Script Parameters]ダイアログボックス
10.36 [Debug Configurations]-[接続]タブ
10.37 [Debug Configurations] - [Files]タブ
10.38 [Debug Configurations] - [Debugger]タブ
10.39 [Debug Configurations]-[OS Awareness]タブ
10.40 [Debug Configurations] - [Arguments]タブ
10.41 [Debug Configurations] - [Environment]タブ
10.42 [DTSL Configuration Editor(DTSL コンフィギュレーションエディタ)]ダイアログボックス
10.43 [コンフィギュレーションデータベース]パネル
10.44 リモートシステムエクスプローラについて
10.45 [Remote Systems]ビュー
10.46 [Remote System Details]ビュー
10.47 シリアル接続および SSH 接続用のターゲット管理端末
10.48 [Remote Scratchpad]ビュー
10.49 SSH 接続用のリモートシステム端末
10.50 [New Terminal Connection]ダイアログボックス
10.51 DS-5 デバッガメニューとツールバーアイコン
11 トラブルシューティング
11.1 ARM Linux の問題と解決法
11.2 デバッガからの内部ログの有効化
11.3 ターゲット接続の問題と解決法
12 DS-5™ でのファイルベースのフラッシュプログラミング
12.1 DS-5™ でのファイルベースのフラッシュプログラミングについて
12.2 フラッシュプログラミングコンフィギュレーション
12.3 フラッシュプログラミング用の拡張データベースの作成
12.4 提供されている Keil フラッシュメソッドの使用と拡張について
12.4.1 既存の Keil フラッシュアルゴリズムを使用した既存のプラットフォームへのフラッシュサポートの追加
12.4.2 新しい Keil フラッシュアルゴリズムを使用した既存のターゲットプラットフォームへのフラッシュサポートの追加
12.5 新しいフラッシュメソッドの作成について
12.5.1 デフォルト実装 FlashMethodv1 の使用について
12.5.2 フラッシュメソッド Python スクリプトの作成について
12.6 フラッシュコンフィギュレーションのテストについて
12.7 フラッシュメソッドパラメータについて
12.8 フラッシュアルゴリズムのためのデータの取得
12.9 ターゲットとのやりとり
13 DS-5™ デバッガの OS 認識の記述
13.1 DS-5™ デバッガのオペレーティングシステム認識の記述について
13.2 OS認識拡張機能の作成
13.3 OS 認識 API の実装
13.4 OS 認識の有効化
13.5 スレッド認識の実装
13.6 データビューの実装
13.7 プログラミングのアドバイスと重要な情報

図の一覧

2-1 新しいコンフィギュレーションデータベースの追加
2-2 [Export launch configuration]ダイアログボックス
2-3 起動コンフィギュレーションの選択パネル
2-4 [Import launch configuration]ダイアログボックス
2-5 起動コンフィギュレーションファイルの選択パネル
3-1 ターゲットコンフィギュレーションエディタ – [Overview]タブ
3-2 ターゲットコンフィギュレーションエディタ – [Memory]タブ
3-3 ターゲットコンフィギュレーションエディタ – [Peripherals]タブ
3-4 ターゲットコンフィギュレーションエディタ – [Registers]タブ
3-5 ターゲットコンフィギュレーションエディタ – [Group View]タブ
3-6 ターゲットコンフィギュレーションエディタ – [Enumerations]タブ
3-7 ターゲットコンフィギュレーションエディタ – [Configuration]タブ
3-8 LED レジスタとビットフィールド
3-9 コアモジュールと LCD 制御レジスタ
3-10 メモリマップの作成
3-11 ペリフェラルの作成
3-12 スタンドアロンレジスタの作成
3-13 ペリフェラルレジスタの作成
3-14 呼称定義の作成
3-15 呼称定義の割り当て
3-16 リマップ規則の作成
3-17 制御レジスタによるリマップのメモリ領域の作成
3-18 Remap_RAM_block1 マップ規則の適用
3-19 Remap_ROM マップ規則の適用
3-20 パワードメイン構成
3-21 グループリストの作成
3-22 既存のターゲットコンフィギュレーションファイルの選択
3-23 ターゲットコンフィギュレーションファイルのインポート
3-24 C ヘッダファイルへのエクスポート
3-25 ファイルの選択
4-1 [Load File]ダイアログボックス
4-2 [Load additional debug information]ダイアログボックス
4-3 実行ブレークポイントの設定
4-4 データウォッチポイントの設定
4-5 データウォッチポイントのプロパティの表示
4-6 [Breakpoint Properties]ダイアログ
4-7 [Debug Control]ビュー
4-8 シグナルハンドラ設定の管理
4-9 例外ハンドラ設定の管理
4-10 [Path Substitution]ダイアログボックス
4-11 [Edit Substitute Path]ダイアログボックス
5-1 ターゲット実行環境
5-2 [Debug Control]ビュー
6-1 デバッグ制御ビューのコールスタックのスレッド
6-2 個別共有ライブラリファイルの追加
6-3 共有ライブラリの検索パスの変更
7-1 メモリ、スタック、ヒープ間の標準的なレイアウト
8-1 デバッグセッション中に生成されたコマンド
8-2 PyDev プロジェクトウィザード
8-3 PyDev プロジェクト設定
8-4 Jython オートコンプリートとヘルプ
8-5 [Scripts]ビュー
10-1 [App Console]ビュー
10-2 [ARM Asm Info]ビュー
10-3 ARM アセンブラエディタ
10-4 [Breakpoints]ビュー
10-5 C/C++ エディタ
10-6 選択したソース行の逆アセンブリの表示
10-7 [Commands]ビュー
10-8 現在の作業ディレクトリを設定します。
10-9 [Debug Control]ビュー
10-10 [Disassembly]ビュー
10-11 [イベント]ビュー(ETB:ITM トレースソースに対してすべてのポートが有効)
10-12 [Event Viewer Settings](ETB:STM トレースソースに対してすべてのマスタおよびチャネルが有効)
10-13 [Expressions]ビュー
10-14 関数ビュー
10-15 [History]ビュー
10-16 [Memory]ビュー
10-17 共有ライブラリを表示している[Modules]ビュー
10-18 オペレーティングシステムモジュールを表示している[Modules]ビュー
10-19 [Registers]ビュー
10-20 RTX テーブルの典型的な RTOS ビュー
10-21 BeagleBoard で動作する Fireworks の例の画面バッファパラメータ
10-22 [Screen]ビュー
10-23 [Scripts]ビュー
10-24 [Target]ビュー
10-25 スケールが 1:1 のトレースビュー
10-26 [トレース制御]ビュー
10-27 [Variables]ビュー
10-28 [Auto Refresh Properties]ダイアログボックス
10-29 [Memory Exporter]ダイアログボックス
10-30 [Memory Importer]ダイアログボックス
10-31 [Memory Fill]ダイアログボックス
10-32 [Export trace report]ダイアログボックス
10-33 [Breakpoint properties]ダイアログボックス
10-34 [Watchpoint properties]ダイアログボックス
10-35 [トレースポイントのプロパティ]ダイアログボックス
10-36 シグナルハンドラ設定の管理
10-37 例外ハンドラ設定の管理
10-38 [Functions Filter]ダイアログボックス
10-39 [Jython Script Parameters]ダイアログボックス
10-40 [Connection]タブ(仮想ファイルシステムが有効になっている FVP の接続コンフィギュレーション)
10-41 [Files]タブ(FVP 上のアプリケーションのファイルシステムコンフィギュレーション)
10-42 [Debugger]タブ(アプリケーションの開始位置および検索パスに関する設定)
10-43 OS[Awareness]タブ
10-44 [Arguments]タブ
10-45 [New Environment Variable]ダイアログボックス
10-46 [Environment]タブ(FVP 向けに設定された環境変数)
10-47 DTSL コンフィギュレーションエディタ(トレースキャプチャ方法が DSTREAM に設定)
10-48 [コンフィギュレーションデータベース]パネル
10-49 [Remote Systems]ビュー
10-50 [Remote System Details]ビュー
10-51 [Terminal]ビュー
10-52 Remote Scratchpad
10-53 [Remote Systems Terminals]ビュー
10-54 [Terminal Settings]ダイアログボックス
12-1 DS-5 ファイルフラッシュアーキテクチャ
13-1 mydb の Eclipse 設定
13-2 [Eclipse Debug Configurations]ダイアログに表示されるカスタムの OS 認識
13-3 myos の[No OS Support]
13-4 myos がターゲットの停止を待機
13-5 myos 有効
13-6 myos OS の初期化の待機中
13-7 myos[Debug Control]ビューのデータ
13-8 myos 空の[タスク]テーブル
13-9 myos 入力された[タスク]テーブル

表の一覧

2-1 プロセッサの種類ごとの ETM/PTM バージョン
3-1 DMA マップレジスタ SYS_DMAPSR0
3-2 メモリ領域をリマップする制御ビット
7-1 log4j コンポーネント
10-1 各デバッグ操作に使用できる[Files]タブのオプション
10-2 DS-5 デバッガのアイコン
10-3 パースペクティブアイコン
10-4 ビューアイコン
10-5 ビューのマーク
10-6 その他のアイコン

リリース情報

ドキュメント履歴
発行 日付 機密保持ステータス 変更点
A 30 6 月 2010 非機密扱い 初版
B 30 9 月 2010 非機密扱い DS-5 バージョン 5.2 改訂版
C 30 11 月 2010 非機密扱い DS-5 バージョン 5.3 改訂版
D 30 1 月 2011 非機密扱い DS-5 バージョン 5.4 改訂版
E 30 5 月 2011 非機密扱い DS-5 バージョン 5.5 改訂版
F 30 7 月 2011 非機密扱い DS-5 バージョン 5.6 改訂版
G 30 9 月 2011 非機密扱い DS-5 バージョン 5.7 改訂版
H 30 11 月 2012 非機密扱い DS-5 バージョン 5.8 改訂版
I 28 2 月 2012 非機密扱い DS-5 バージョン 5.9 改訂版
J 30 5 月 2012 非機密扱い DS-5 バージョン 5.10 改訂版
K 30 7 月 2012 非機密扱い DS-5 バージョン 5.11 改訂版
L 30 10 月 2012 非機密扱い DS-5 バージョン 5.12 改訂版
M 15 12 月 2012 非機密扱い DS-5 バージョン 5.13 改訂版
N 15 3 月 2013 非機密扱い DS-5 バージョン 5.14 改訂版
O 14 6 月 2013 非機密扱い DS-5 バージョン 5.15 改訂版
P 13 9 月 2013 非機密扱い DS-5 バージョン 5.16 改訂版
Q 13 12 月 2013 非機密扱い DS-5 バージョン 5.17 改訂版
R 14 3 月 2014 非機密扱い DS-5 バージョン 5.18 改訂版

著作権

® または ™ のマークが付いた言葉およびロゴは、この著作権情報で別段に規定されている場合を除き、ARM® の EU またはその他の国における登録商標および商標です。本書に記載されている他の製品名は、各社の所有する商標です。
本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製することを禁じます。
本書に記載されている製品は、今後も継続的に開発・改良の対象となります。本書に含まれる製品およびその利用方法についての情報は、ARM が利用者の利益のために提供するものです。したがって当社では、製品の市販性または利用の適切性を含め、暗示的・明示的に関係なく一切の責任を負いません。
本書は、本製品の利用者をサポートすることだけを目的としています。本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失・損傷についても、ARM は一切責任を負いません。
ARM という用語が使用されている場合、"ARM または必要に応じてその子会社" を指します。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARM および ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。
無制限アクセスは、ARM 社内による分類です。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Web アドレス

非機密扱いPDF file icon PDF 版ARM DUI0446RJ
Copyright © 2010-2014 ARM.All rights reserved.