MIPI-10
4. デバッグ開始
DB-005: SWV(SWO) トレースでコー ドカバレッジ
■こんなときに・・・
•
実装されているコードが想定通りに 実行されているか確認したい。など
*補足
•
デフォルトで有効となっている「コードカバレッジ」プラグインの 機能を使用
•
サンプリングタイミングにより、抜 け落ちることがあるが、長時間ト レースすることで信頼性のあるデー タとなる。赤色のひし形 モジュールや関数の0% が実行されたことを示す。
緑色のひし形 モジュールや関数の100% が実行されたことを示す。
赤と緑のひし形 モジュールや関数の一部が実行されたことを示す。
黄色のひし形 文が
1
つも実行されていないことを示す。使用方法
※ SWV トレースが可能な状態で
DB-005: SWV(SWO) トレースでコー ドカバレッジ
1.コードカバレッジを選択
4.[更新]
3.デバッグ実行
DB-006: SWV(SWO) 機能 データログ
■こんなときに・・・
•
特定の変数やアドレスへの読み 書きアクセスをロギングしたい•
上記アクセスの時間を知りたい など*補足
•
変数またはアドレスは4つまで 指定可能メニューから [I-jet/JTAGjet] > [ データログ ]
使用方法
• 基本:観測したい変数をデータブレークポイントに設定
• オプション: Read 時のみ /Write 時のみ観測したい場合は以下の設定
DB-006: SWV(SWO) 機能 データログ
3.[
表示] > [
ブレークポイント]
1.
グローバルや静的変数上で右クリック2.’
変数’
のデータログブレークポイントを設定使用方法
DB-006: SWV(SWO) 機能 データログ
1.データログ 2.右クリックして有効化
データログ一覧
DB-006: SWV(SWO) 機能 データログ
■こんなときに・・・
•
データアクセスが何回あったか、読み書きが何回あったか確認し たい
など
*補足
•
「すべてのアクセス」数が読み書 きアクセスの合計より大きい場合、アクセスの属性情報が正確にとれ なかったサンプリングがある
メニューから[I-jet/JTAGjet] > [データログ一覧]
データログのタイムライン表示
DB-006: SWV(SWO) 機能 データログ
■こんなときに・・・
•
データの変わったタイミングを時間 軸上でみたい•
他の割り込みなどとの時間関係を見 たいなど
メニューより [I-jet/JTAG-jet] > [ タイムライン ]
タイムラインのデータログ領域を右クリックし [ 有効化 ] を選択
DB-007: 割込みログ
■こんなときに・・・
•
プログラム実行中に発生した割 り込みや例外をロギングしたい•
割り込みハンドラ関数の処理で かかった時間を知りたいなど
※ハンドラの実行時間が短い場合には“入る”と“抜ける”の対応が取れないことがある
※ SWOの制約を受けるため、すべての情報が取得できない場合がある
メニューから [I-jet/JTAGjet] > [ 割込みログ ]
DB-007: 割込みログ
1.割込みログ 2.右クリックして[有効化]
3.デバッグ開始
割込みログ一覧
DB-007: 割込みログ
■こんなときに・・・
•
各割込みの発生回数や発生頻度を確認したい などメニューから [I-jet/JTAGjet] > [ 割込みログ一覧 ]
タイムライン表示
DB-007: 割込みログ
■こんなときに・・・
•
割り込みの発生タイミングを時間 軸上で見たい•
割り込みハンドラの処理にかかっ た時間を時間軸上で見たい•
その他のイベントとの関係を時間 軸上で見たいなど
ITM イベント ログ
DB-008: ITM イベント
■こんなときに・・・
•
コードの実行タイミングを正確に知り たい•
実行時の変数の値を見たい•
マルチタスクの各タスク入り口出口に 仕掛けて、タスク状況を把握したい など*補足
•
ソースコード上でArm_itm.hをinclude
ITM_EVENT8_WITH_PC(1,1)
ドキュメント内
PowerPoint プレゼンテーション
(ページ 67-79)