SWO トレース出力のタイムスタンプの解釈

テクニカル・ノート 40349

アーキテクチャ:

ARM

コンポーネント:

debugger

更新日:

2018/08/13 1:28

はじめに

本テクニカルノートでは、簡単な例を使って、SWOのタイムスタンプによってIAR Embedded Workbench for ARMバージョン5.20の出力がどのようにトレースされるかについて説明します。

背景

  • ターゲットハードウェアシステムは、72MHzのシステムクロックで動作します。
  • SWDを使用してC-SPYがデバッグプローブに接続されています。
  • 例外がトレースされます(SWOの設定)。
  • タイムスタンプは分解能16で記録されます。
  • 以下のトレースでは、発生した例外に関係するサイクル値を表すA、B、C、Dの文字が追加されています。

編集されたトレースの例

Index SWO Packet Cycles Event Value 
+-------+------------+------------+-------------------------+------------+
006657 0E0F20 122725344 Exit Exception Number 15
006658 20 122725376 Timestamp synch 2
006659 0E0030 122725376 Return to Exception Number 0
006660 0E0F10 122725376 Enter Exception Number 15
006661 C09323 122797360 A Timestamp synch 4499
006662 0E0F20 122797360 Exit Exception Number 15
006663 10 122797376 B Timestamp synch 1
006664 0E0030 122797376 Return to Exception Number 0
006665 0E0F10 122797376 Enter Exception Number 15
006666 C09323 122869360 C Timestamp synch 4499
006667 0E0F20 122869360 Exit Exception Number 15
006668 20 122869392 D Timestamp synch 2
006669 0E0030 122869392 Return to Exception Number 0

計算例

例外15の実行

B - A = 122797376 - 122797360 = 16
16/72 ~ 0.22
AからBまでの時間は約0.22usです。

メインプログラムの実行

C - B = 122869360 - 122797376 = 71984
71984/72 ~ 999.78
BからCまでの時間は約999.78msです。

例外15の実行

D - C = 122869392 - 122869360 =
32/72 = 0.44
CからDまでの時間は約0.44usです。

コメント

分解能が16に設定されているため、この2つの例で実際に費やされた時間は0.22~0.44usの間になります。

この時間を正確に測定するには、タイムスタンプの分解能を1に設定する必要があります。この例では、例外15は1msの周期割り込みであることが推測されます(割り込みログ(Interrupt Log)ウィンドウ、割り込みログ概要(Interrupt Log Summary)ウィンドウ、タイムライン(Timeline)ウィンドウでは、us/ms形式で時間を見ることができます)。

 

全ての製品名は、それぞれの所有者の商標または登録商標です。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。