debugger basics - トレーニングdebugger basics - トレーニング 5 システムの概念...

162
Debugger Basics - トレーニング 1 Debugger Basics - トレーニング TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Training ............................................................................................................................ Debugger Training ........................................................................................................................ Debugger Basics - トレーニング ............................................................................................................... 4 システムの概念 ..................................................................................................................................... 4 オンチップデバッグインタフェース ............................................................................................. 5 デバッグ機能 .......................................................................................................................... 5 TRACE32 ツール .................................................................................................................... 5 オンチップデバッグインタフェースとトレースポート................................................................. 9 トレース機能 .......................................................................................................................... 9 TRACE32 ツール .................................................................................................................... 9 NEXUS......................................................................................................................................... 12 NEXUS 機能 ......................................................................................................................... 12 TRACE32 ツール .................................................................................................................. 12 TRACE32 の起動 ................................................................................................................................ 15 TRACE32 の基本的なパラメータ ................................................................................................ 15 設定ファイル ........................................................................................................................ 15 標準パラメータ..................................................................................................................... 16 設定ファイルの例 ................................................................................................................. 17 追加のパラメータ ................................................................................................................. 20 アプリケーションのプロパティ(Windows のみ) ....................................................................... 21 T32Start による設定(Windows のみ) ........................................................................................ 22 TRACE32 について...................................................................................................................... 23 バージョン情報..................................................................................................................... 23 ライセンス情報..................................................................................................................... 24 サポートメール用の詳細情報の準備 .................................................................................... 25 デバッグセッションの確立 ................................................................................................................. 26 デバッグ環境の設定..................................................................................................................... 26 デバッガとターゲット CPU の間での通信の確立 ................................................................ 26 アプリケーションプログラムのロード................................................................................. 32 基本的なチェック .......................................................................................................... 32 起動スクリプトの生成 ................................................................................................................. 39 起動スクリプトの記述 .......................................................................................................... 39 起動スクリプトの実行 .......................................................................................................... 40 TRACE32 GUI ................................................................................................................................ 42 メインメニューバーとアクセラレータキー................................................................................. 43 メインツールバー ........................................................................................................................ 44 ウィンドウエリア ........................................................................................................................ 45

Upload: others

Post on 14-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Debugger Basics - トレーニング

TRACE32 Online Help

TRACE32 Directory

TRACE32 Index

TRACE32 Training ............................................................................................................................

Debugger Training ........................................................................................................................

Debugger Basics - トレーニング ............................................................................................................... 4

システムの概念 ..................................................................................................................................... 4

オンチップデバッグインタフェース ............................................................................................. 5

デバッグ機能 .......................................................................................................................... 5

TRACE32 ツール .................................................................................................................... 5

オンチップデバッグインタフェースとトレースポート................................................................. 9

トレース機能 .......................................................................................................................... 9

TRACE32 ツール .................................................................................................................... 9NEXUS......................................................................................................................................... 12

NEXUS 機能 ......................................................................................................................... 12

TRACE32 ツール .................................................................................................................. 12

TRACE32 の起動 ................................................................................................................................ 15

TRACE32 の基本的なパラメータ ................................................................................................ 15

設定ファイル ........................................................................................................................ 15

標準パラメータ..................................................................................................................... 16

設定ファイルの例 ................................................................................................................. 17

追加のパラメータ ................................................................................................................. 20

アプリケーションのプロパティ(Windows のみ)....................................................................... 21

T32Start による設定(Windows のみ)........................................................................................ 22

TRACE32 について...................................................................................................................... 23

バージョン情報..................................................................................................................... 23

ライセンス情報..................................................................................................................... 24

サポートメール用の詳細情報の準備 .................................................................................... 25

デバッグセッションの確立 ................................................................................................................. 26

デバッグ環境の設定..................................................................................................................... 26

デバッガとターゲット CPU の間での通信の確立 ................................................................ 26

アプリケーションプログラムのロード................................................................................. 32

基本的なチェック .......................................................................................................... 32

起動スクリプトの生成 ................................................................................................................. 39

起動スクリプトの記述 .......................................................................................................... 39

起動スクリプトの実行 .......................................................................................................... 40

TRACE32 の GUI ................................................................................................................................ 42

メインメニューバーとアクセラレータキー................................................................................. 43

メインツールバー ........................................................................................................................ 44

ウィンドウエリア ........................................................................................................................ 45

Debugger Basics - トレーニング 1

Page 2: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ウィンドウの変更 ................................................................................................................. 47

コマンドライン ............................................................................................................................ 48

コマンド構造 ........................................................................................................................ 48

コマンド例 ..................................................................................................................... 49

特定のコマンドのオンラインヘルプ .................................................................................... 50

標準のパラメータ構文 .......................................................................................................... 51

メッセージ行 ............................................................................................................................... 52

ソフトキー ................................................................................................................................... 53

ステータス行 ............................................................................................................................... 54

レジスタ .............................................................................................................................................. 55

CPU レジスタの表示 ................................................................................................................... 55

変更されたレジスタのカラー表示 ........................................................................................ 56

CPU レジスタの内容の変更......................................................................................................... 57

特殊機能のレジスタの表示 .......................................................................................................... 58

ツリー表示 ............................................................................................................................ 58

フル表示................................................................................................................................ 59

SFR ごとの詳細情報............................................................................................................. 60

PER 定義ファイル ....................................................................................................................... 61

特殊機能レジスタ (SFR) の変更 .................................................................................................. 62

メモリの表示と変更 ............................................................................................................................ 63

Data.dump ウィンドウ................................................................................................................. 64

基本....................................................................................................................................... 64

メモリ内容の変更 ................................................................................................................. 68

実行時メモリアクセス .......................................................................................................... 69

変更されたメモリ内容のカラー表示 .................................................................................... 78

Data.List ウィンドウ .................................................................................................................... 79

PC 関連のソースリストを表示 ............................................................................................. 79

選択した関数のソースリストを表示 .................................................................................... 80

FLASH プログラミング ...................................................................................................................... 82

オンチップ FLASH....................................................................................................................... 82

統合されたオンチップ FLASH プログラミング ................................................................... 82

ターゲット コントロール オンチップ FLASH プログラミング............................................ 84

CFI をサポートするオフチップ FLASH デバイス ....................................................................... 85

CPU 設定 .............................................................................................................................. 86

バス構成................................................................................................................................ 86

FLASH 宣言 .......................................................................................................................... 87

FLASH デバイスのロック解除 ............................................................................................. 89

FLASH デバイスのプログラミング ...................................................................................... 89

設定例 ................................................................................................................................... 90

ターゲット コントロール FLASH プログラミング............................................................... 91

設定例(ターゲット コントロール)..................................................................................... 94

ブレークポイント ............................................................................................................................... 95

ブレークポイントの実装 ............................................................................................................. 95

RAM でのソフトウェアブレークポイント(プログラム).................................................... 95

FLASH でのソフトウェアブレークポイント(プログラム)................................................ 95

FLASH でのオンチップブレークポイント(プログラム).................................................... 96

Debugger Basics - トレーニング 2

Page 3: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オンチップブレークポイント(リード / ライト)................................................................. 99

プロセッサアーキテクチャ別のオンチップブレークポイント .................................................. 100

ブレークポイントのタイプ ........................................................................................................ 110

プログラムブレークポイント : ........................................................................................... 111

リード / ライトブレークポイント....................................................................................... 112

ブレークポイントの処理................................................................................................................... 114

[Break.Set] ダイアログボックス ................................................................................................ 115

[HLL] チェックボックス...................................................................................................... 116

実装形式.............................................................................................................................. 118

動作..................................................................................................................................... 119

[Spot] 動作の例 ................................................................................................................... 121

オプション .......................................................................................................................... 123

[EXclude] オプションの例 .................................................................................................. 124

[NOMARK] オプションの例 ................................................................................................ 126

[Temporary] オプションの例 .............................................................................................. 127

[DISableHit] オプションの例............................................................................................... 128

データブレークポイント .................................................................................................... 129

高度なブレークポイント ........................................................................................................... 131

カウンタ.............................................................................................................................. 132

条件..................................................................................................................................... 135CMD.................................................................................................................................... 137

[Data]、[Condition]、[CMD] の例........................................................................................ 139

タスク ................................................................................................................................. 140

メモリ / レジスタ / 変数 ...................................................................................................... 142

設定されているすべてのブレークポイントのリストの表示 ..................................................... 143

ブレークポイントの削除 ........................................................................................................... 144

ブレークポイントの有効化 / 無効化 .......................................................................................... 144

ブレークポイント設定の保存 .................................................................................................... 145

デバッグ ............................................................................................................................................ 146

基本的なデバッグコントロール................................................................................................. 146

割り込み ............................................................................................................................................ 149

サンプルベースのプロファイリング................................................................................................. 150

概要 ............................................................................................................................................ 150

標準的なアプローチ................................................................................................................... 151

詳細 ............................................................................................................................................ 154

詳細な結果 .......................................................................................................................... 154

(その他).............................................................................................................................. 155

結果の文書化..................................................................................................................................... 156

結果の印刷 ................................................................................................................................. 156

特定ウィンドウの内容の印刷 ............................................................................................. 157

結果をファイルに保存 ............................................................................................................... 158

出力するファイルを開く .................................................................................................... 159

プリンタへの出力のリセット ............................................................................................. 162

Debugger Basics - トレーニング 3

Page 4: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Debugger Basics - トレーニング

2011/4/13 版

10/08/04 「サンプルベースのプロファイリング」の章を改訂。

08/05/19 NOR FLASH プログラミングの標準アプローチを追加。

07/04/13 「FLASH プログラミング」の項を削除。「NOR FLASH Programming User’s Guide」(norflash.pdf)に移動。

システムの概念

マイクロコントローラの機能 :

• オンチップデバッグインタフェース

• オンチップデバッグインタフェースとトレースポート

• NEXUS インタフェース

デバッグリソースに応じて各種のデバッグ機能を提供でき、様々な TRACE32 ツールが用意されていま

す。

Debugger Basics - トレーニング 4 システムの概念

Page 5: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オンチップデバッグインタフェース

TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

て、組み込みのハードウェアとソフトウェアをテストすることができます。 も一般的なオンチップデバッグインタフェースは JTAG です。

デバッグ機能

マイクロコントローラの種類によって、使用できるデバッグ機能は異なります。

すべてのマイクロコントローラに共通のデバッグ機能 :

• CPU レジスタへのリード / ライトアクセス

• すべてのメモリへのリード / ライトアクセス

• プログラム実行の開始と停止

各マイクロコントローラに固有のデバッグ機能 :

• オンチップブレークポイントの数

• プログラムを実行したままメモリへのリード / ライトアクセス

• ベンチマークカウンタ、トリガーなどの追加機能

TRACE32 ツール

TRACE32 デバッガハードウェアは常に以下から構成されます。

• ユニバーサルデバッガハードウェア

• プロセッサアーキテクチャ固有のデバッグケーブル

Debugger Basics - トレーニング 5 システムの概念

Page 6: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

POWER DEBUG INTERFACE/USB 2

デバッグコントローラの条件 :

• 304DMIPS

• 200MHz

• ホストインタフェースとして USB 2.0

POWER DEBUG INTERFACE / USB2PODBUS IN

POWER

SELECT

EMULATE

TRIG

POWER7-9 V

US

B

LAUTERBACH

PODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG INTERFACE / USB 2

USBCable

Debug Cable

JTA

GC

onn

ecto

r

DE

BU

G C

AB

LE

LA

UT

ER

BA

CH

AC/DC Adapter

PC

Debugger Basics - トレーニング 6 システムの概念

Page 7: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

POWER DEBUG/ETHERNET

デバッグコントローラの条件 :

• 304DMIPS

• 200MHz

• ホストインタフェースとして 100MBit Ethernet、または USB 2.x

• POWER TRACE/ETHERNET にアップグレード可能

POWER DEBUG / ETHERNETPODBUS IN

TRIG

POWER7-9 V

US

B

LAUTERBACH

PODBUS OUT

DE

BU

G C

AB

LE

Target

PC orWorkstation

EthernetCable

POWER

SELECT

EMULATE

RECORDING

TRIGGER

ET

HE

RN

ET

CON ERR

TRANSMIT

RECEIVE

COLLISION

HUB

100 MBit Ethernet

Debug Cable

JTA

GC

onne

ctor

DE

BU

G C

AB

LE

LA

UT

ER

BA

CH

RE

SE

RV

ED

FO

R P

OW

ER

TR

AC

E

C B A

POWER DEBUG / ETHERNET

AC/DC Adapter

Debugger Basics - トレーニング 7 システムの概念

Page 8: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

POWER DEBUG II

デバッグコントローラの条件 :

• 1000DMIPS

• 500MHz

• ホストインタフェースとして 1GBit Ethernet、または USB 2.0

• POWER TRACE II モジュールにより拡張可能

POWER DEBUG IIPODBUS SYNC

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG II

EthernetCable

POWER

SELECT

RUNNING

LINK

ACTIVITY

ET

HE

RN

ET

HUB

1 GBit Ethernet

Debug Cable

DE

BU

G C

AB

LE

JTA

GC

onn

ecto

r

LA

UT

ER

BA

CH

PODBUS EXPRESS OUT

PC orWorkstation

AC/DC Adapter

Debugger Basics - トレーニング 8 システムの概念

Page 9: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オンチップデバッグインタフェースとトレースポート

多くのマイクロコントローラは、オンチップデバッグインタフェースに加えて、いわゆるトレースポートを備えています。 も一般的なトレースポートは、ARM アーキテクチャの ETM です。

トレース機能

トレースポートは、以下の情報をリアルタイムでブロードキャストします。

• プログラムフロー(実行される命令に関する情報)

• データフロー(命令によって実行される、メモリへのリード / ライトアクセス)

トレース情報の表示と評価については、「Training Real-time Trace」(training_icr.pdf)を参照してくださ

い。

TRACE32 ツール

トレースを行うには、TRACE32 デバッガを以下の機能で拡張する必要があります。

• ユニバーサルトレースハードウェア

• プロセッサアーキテクチャ固有のプリプロセッサ

Debugger Basics - トレーニング 9 システムの概念

Page 10: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

POWER TRACE/ETHERNET

256MByte または 512MByte のトレースメモリ

POWER TRACE / ETHERNETPODBUS IN

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

AC/DC Adapter

PC orWorkstation

POWER TRACE / ETHERNET

EthernetCable

POWER

SELECT

EMULATE

RECORDING

TRIGGER

ET

HE

RN

ET

CON ERR

TRANSMIT

RECEIVE

COLLISION

HUB

100 MBit Ethernet

Debug Cable

JTA

GC

onn

ecto

r

DE

BU

G C

AB

LE

LA

UT

ER

BA

CH

LO

GIC

AN

ALY

ZE

R P

RO

BE

C B A

Trac

eC

onn

ecto

r

Preprocessor

Debugger Basics - トレーニング 10 システムの概念

Page 11: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

POWER DEBUG II と POWER TRACE II

POWER DEBUG II は、1GByte、2GByte、または 4GByte のトレースメモリを搭載した POWER TRACE IIによって拡張できます。

POWER TRACE IIPODBUS IN

POWER

SELECT

RECORD

RUNNING

POWER7-9V

LAUTERBACH

PODBUS OUT

POWER DEBUG IIPODBUS SYNC

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG IIPOWER TRACE II

EthernetCable

POWER

SELECT

RUNNING

LINK

ACTIVITY

ET

HE

RN

ET

HUB

1 GBit Ethernet

Debug Cable

JTA

GC

onn

ecto

r

DE

BU

G C

AB

LE

LA

UT

ER

BA

CH

LO

GIC

AN

ALY

ZE

R P

RO

BE

C B A

Trac

eC

onn

ecto

r

Preprocessor

PODBUS EXPRESS OUT

PODBUS EXPRESS IN

PODBUS EXPRESS OUT

PR

EP

RO

CE

SS

OR

/ N

EX

US

PC orWorkstation

AC/DC Adapter

Debugger Basics - トレーニング 11 システムの概念

Page 12: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

NEXUS

NEXUS は、特に自動車業界向けのオンチップデバッグとリアルタイムトレースのための標準インタ

フェースです。

NEXUS 機能

すべてのマイクロコントローラに共通のデバッグ機能 :

• CPU レジスタへのリード / ライトアクセス

• すべてのメモリへのリード / ライトアクセス

• プログラム実行の開始と停止

• プログラムを実行したままメモリへのリード / ライトアクセス

すべてのマイクロコントローラに共通のトレース機能 :

• プログラムフロー(実行される命令に関する情報)

各マイクロコントローラに固有のデバッグ機能 :

• オンチップブレークポイントの数

各マイクロコントローラに固有のトレース機能 :

• データフロー(命令によって実行される、メモリへのリード / ライトアクセス)

トレース情報の表示と評価については、「Training Real-time Trace」(training_icr.pdf)を参照してくださ

い。

TRACE32 ツール

TRACE32 ハードウェアは以下から構成されます。

• ユニバーサルデバッガとトレースハードウェア

• プロセッサアーキテクチャ固有の NEXUS アダプタ

Debugger Basics - トレーニング 12 システムの概念

Page 13: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

NEXUS 用 POWER TRACE/ETHERNET

256MByte または 512MByte のトレースメモリ

POWER TRACE / ETHERNETPODBUS IN

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

POWER TRACE / ETHERNET

EthernetCable

POWER

SELECT

EMULATE

RECORDING

TRIGGER

ET

HE

RN

ET

CON ERR

TRANSMIT

RECEIVE

COLLISION

C B A

HUB

100 MBit Ethernet

NEXUS Adapter

NE

XU

SC

onn

ecto

r

LO

GIC

AN

ALY

ZE

R P

RO

BE

AC/DC Adapter

PC orWorkstation

Debugger Basics - トレーニング 13 システムの概念

Page 14: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

NEXUS 用 POWER DEBUG II と POWER TRACE II

POWER DEBUG II は、1GByte、2GByte、または 4GByte のトレースメモリを搭載した NEXUS 用

POWER TRACE II によって拡張できます。

POWER TRACE IIPODBUS IN

POWER

SELECT

RECORD

RUNNING

POWER7-9V

LAUTERBACH

PODBUS OUT

POWER DEBUG IIPODBUS SYNC

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE Target

POWER DEBUG IIPOWER TRACE II

EthernetCable

POWER

SELECT

RUNNING

LINK

ACTIVITY

ET

HE

RN

ET

HUB

1 GBit Ethernet

LO

GIC

AN

ALY

ZE

R P

RO

BE

C B A

PODBUS EXPRESS OUT

PODBUS EXPRESS IN

PODBUS EXPRESS OUT

PR

EP

RO

CE

SS

OR

/ N

EX

US

PC orWorkstation

AC/DC Adapter

NE

XU

SC

onn

ecto

r

NEXUS Adapter

Debugger Basics - トレーニング 14 システムの概念

Page 15: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

TRACE32 の起動

TRACE32 の基本的なパラメータ

この章では、TRACE32 の起動に必要とされる基本的なパラメータについて説明します。

パラメータは、設定ファイルで定義します。デフォルトでは、設定ファイルは config.t32 という名前で、

TRACE32 システムディレクトリ(パラメータ SYS)にあります。

設定ファイル

任意の ASCII エディタで、システムディレクトリにあるファイル config.t32 を開きます(デフォルトは

c:¥T32¥config.t32)。

設定ファイルには、以下のルールがあります。

• パラメータはパラグラフごとに定義します。

• 1 行目(見出し)で、パラメータのタイプを定義します。

• 各パラメータ定義は、空の行で終わります。

• パラメータを定義しない場合には、デフォルトのパラメータが使用されます。

Debugger Basics - トレーニング 15 TRACE32の起動

Page 16: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

標準パラメータ

パラメータ 構文 説明

Host interface PBI=< ホストインタフェース >

TRACE32 ツールハードウェアのホストインタ

フェースのタイプ(UBS または Ethernet)

Environment variables

OS=ID=< 識別子 >TMP=< 一時ディレクトリ >SYS=<システムディレクト

リ >

(ID)TRACE32インスタンスによってTMPディ

レクトリに保存されるすべてのファイルに付く接頭辞

(TMP)TRACE32 によって使用される一時ディ

レクトリ(*)

(SYS)すべての TRACE32 ファイルのシステ

ムディレクトリ

Printer definition

PRINTER=WINDOWS Windows の標準プリンタはすべて、TRACE32ユーザーインタフェースから使用可能

(*)ソースコード情報を表示するために、TRACE32 はロードしたすべてのソー

スファイルのコピーを作成し、TMP ディレクトリに保存します。

Debugger Basics - トレーニング 16 TRACE32の起動

Page 17: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

設定ファイルの例

USB の場合の設定ファイル

1 つの PowerDebug/PowerTrace を USB 経由で接続した場合 :

複数の PowerDebug/PowerTrace を USB 経由で接続した場合 :

; Host interfacePBI=USB

; Environment variablesOS=ID=T32TMP=C:¥tempSYS=d:¥t32¥usb

; temporary directory for TRACE32; system directory for TRACE32

; Printer settingsPRINTER=WINDOWS ; all standard windows printer can be

; used from the TRACE32 user interface

; Host interfacePBI=USBNODE=training1 ; NODE name of TRACE32

; Environment variablesOS=ID=T32TMP=C:¥tempSYS=d:¥t32¥usb

; temporary directory for TRACE32; system directory for TRACE32

; Printer settingsPRINTER=WINDOWS ; all standard windows printer can be

; used from the TRACE32 user interface

Debugger Basics - トレーニング 17 TRACE32の起動

Page 18: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

IFCONFIG コマンドを使用して、PowerDebug/PowerTrace に NODE 名を割り当てます。

ファームウェアとソフトウェアの要件 :

• FLASH V8.0 ファームウェア(VERSION.HARDWARE)

• TRACE32 ソフトウェアビルド 7523 以上(VERSION.SOFTWARE)

• USB ドライバ、バージョン 5.5.x

IFCONFIG USB NODE 名を割り当てます。

NODE 名を入力

NODE 名をPowerDebug/PowerTraceに保存

Debugger Basics - トレーニング 18 TRACE32の起動

Page 19: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Ethernet の場合の設定ファイル

Ethernet 設定と操作プロファイル

; Host interfacePBI=NETNODE=training1

; Environment variablesOS=ID=T32TMP=C:¥tempSYS=d:¥t32¥eth

; temp directory for TRACE32; system directory for TRACE32

; Printer settingsPRINTER=WINDOWS ; all standard windows printer can be

; used from the TRACE32 user interface

IFCONFIG Ethernet インタフェースに関する情報を表示および変更します。

Debugger Basics - トレーニング 19 TRACE32の起動

Page 20: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

追加のパラメータ

フォントサイズを変更すると、TRACE32 ウィンドウの表示が見やすくなります。

標準フォントで表示 :

:

小さいフォントで表示 :

; Screen settingsSCREEN=FONT=SMALL ; Use small fonts

Debugger Basics - トレーニング 20 TRACE32の起動

Page 21: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

アプリケーションのプロパティ(Windows のみ)

プロパティウィンドウで、TRACE32 ソフトウェアの基本設定の一部を確認、変更できます。

設定ファイルの定義

デフォルトでは、TRACE32 システムディレクトリ(パラメータ SYS)にある設定ファイル config.t32が使用されます。オプション -c を指定すると、設定ファイルの場所と名前を任意に定義できます。

作業ディレクトリの定義

起動後の TRACE32 は、指定された作業ディレクトリを使用します。システムディレクトリでは作業を

行わないことをお勧めします。

アプリケーションプログラムの起動サイズの定義

[Normal window]、[Minimized]、[Maximized] の中から選択できます。

H:¥BDM¥t32mppc.exe -c g:¥!¥and¥config.t32

PWD 現在の作業ディレクトリを表示する TRACE32 コマンド。

設定ファイル

作業ディレクトリ

ウィンドウサイズ

Debugger Basics - トレーニング 21 TRACE32の起動

Page 22: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

T32Start による設定(Windows のみ)

基本パラメータを変更するには、T32Start を使用する直感的な方法もあります。

以下の場合には、T32Start をお勧めします。

• マルチコア / マルチプロセッサのデバッグでパラメータを設定する場合

• 複数のターゲットに対してパラメータ定義を調整する場合

t32start.exe の詳細なオンラインヘルプは、[HELP] ボタンをクリックして、または「T32Start」(app_t32start.pdf)で参照できます。

パラメータ

Debugger Basics - トレーニング 22 TRACE32の起動

Page 23: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

TRACE32 について

各国のローターバッハサポートにご連絡いただく場合には、TRACE32 ツールに関する基本的な情報をご

用意ください。

バージョン情報

[VERSION] ウィンドウに以下の情報が表示されます。

1. TRACE32 ソフトウェアのバージョン

2. デバッグケーブルのシリアル番号と、デバッグケーブルにプログラムされたデバッグライセンス

VERSION.view [VERSION] ウィンドウを表示します。

VERSION.HARDWARE TRACE32 ハードウェアモジュールに関する詳細を表示しま

す。

VERSION.SOFTWARE TRACE32 ソフトウェアに関する詳細を表示します。

1

2

Debugger Basics - トレーニング 23 TRACE32の起動

Page 24: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ライセンス情報

[LICENSE] ウィンドウで も重要な情報が、有効期限です。TRACE32 ソフトウェアのバージョンが有効

期限より新しい場合、ソフトウェアを使用するには TRACE32-ICD ソフトウェアメンテナンス契約(LA-8017)が必要です。

LICENSE ライセンス情報を表示します。

有効期限

Debugger Basics - トレーニング 24 TRACE32の起動

Page 25: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

サポートメール用の詳細情報の準備

各国のローターバッハサポートにサポート請求を送信する場合には、ご使用の TRACE32 設定に関する

詳細な情報をご用意ください。そのための機能が、[Generate TRACE32 Support Informations] ウィン

ドウです。このウィンドウで生成される情報を電子メールに添付してください。

Debugger Basics - トレーニング 25 TRACE32の起動

Page 26: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

デバッグセッションの確立

デバッグ環境の設定

デバッガとターゲット CPU の間での通信の確立

デバッガとターゲット CPU の間で通信を確立する

デバッグ対象のアプリケーションをロードする

1. ターゲット CPU を選択する

2. 必要に応じて JTAG クロックを

3. ターゲット CPU に必要な オプションを選択する

4. 通信を確立する

調整する

Debugger Basics - トレーニング 26 デバッグセッションの確立

Page 27: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

1. ターゲット CPU を選択する

CPU を自動検出できない場合は、ターゲット上の CPU をデバッガに指定します。[CPU] フィー

ルドのプルダウンメニューから適切な CPU を選択してください。

SYStem.CPU <CPU> CPU を選択します。

SYStem.CPU ARM920T

Debugger Basics - トレーニング 27 デバッグセッションの確立

Page 28: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

2. JTAG クロックを調整する

デバッガが使用するデフォルトの JTAG クロックは 10MHz です。以下の場合には、JTAG クロッ

クの調整が必要です。

- CPU クロックと JTAG クロックの間に固定の関係を指定する場合

- 例 : PowerPC MPC55xx の場合 :

- ARM CPU で、JTAG クロックに RTCK を使用する必要がある場合

SYStem.JtagClock < 周波数 > JTAG クロックを選択します。

SYStem.JtagClock 1.MHz

SYStem.JtagClock 100.kHz

SYStem.JtagClock RTCK

JTAGclock14---CPUclock

Debugger Basics - トレーニング 28 デバッグセッションの確立

Page 29: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

3. ターゲット CPU に必要なオプションを選択する

ターゲット CPU によっては、デバッガとターゲット CPU の間で通信を確立する前に追加の設定

が必要な場合があります。

詳細については、ご使用の CPU の『ICD Target Manual』を参照してください。

追加の設定

Debugger Basics - トレーニング 29 デバッグセッションの確立

Page 30: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

4. 通信を確立する

デバッガとターゲット CPU の間で通信を確立する も一般的なオプションは [Up] です。

[Up] を選択する場合は、以下の手順を実行します。

- ターゲット CPU のリセット

- デバッガとターゲット CPU の間での通信の初期化

- リセットベクタでの CPU の停止

SYStem.Up デバッガとターゲット CPU の間で通信を確立します(ター

ゲット CPU をリセットする)。

[In Target Reset] が SYStem.Up に相当

Debugger Basics - トレーニング 30 デバッグセッションの確立

Page 31: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

デバッガとターゲットCPUの間で通信を確立する際、2番目に便利なオプションは [Attach]です。

[Attach] では、すでに動作している CPU にデバッガを接続できます。

[Attach] を選択する場合は、以下の手順を実行します。

1.デバッガとターゲット CPU の間での通信の初期化

ターゲット CPU のリセットは実行されません。

SYStem.Mode Attach デバッガとターゲット CPU の間で通信を確立します(ター

ゲット CPU をリセットしない)。

SYStem.Mode Attach ; attach the debugger to a running CPU

Break ; stop the program execution

Debugger Basics - トレーニング 31 デバッグセッションの確立

Page 32: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

アプリケーションプログラムのロード

デバッガがデバッグ対象のアプリケーションプログラムをロードすると、コードとデータがターゲットCPU を介してターゲットメモリに書き込まれます。

基本的なチェック

ターゲット CPU が適切なメモリに対してライトアクセス可能かどうか、いくつかの基本的なチェックを

実行して確認することができます。

1. プログラムやデータがどのアドレスにロードされるかをチェックする。

Data.LOAD < ファイル > /NOCODE チェックするシンボルとデバッグの情報をロードします。

sYmbol.List.MAP コードやデータが書き込まれるアドレスを表示します。

Data.LOAD armle.axf /NOCODE

sYmbol.List.MAP

ターゲット CPU が適切なメモリに対して ライトアクセスできることを確認する

デバッグ対象のアプリケーションをロードする

Debugger Basics - トレーニング 32 デバッグセッションの確立

Page 33: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

2. プログラムやデータがロードされるアドレスに対して、ターゲット CPU がライトアクセス可

能かどうかをチェックする。

このテストでは以下の結果になります。

Data.TestList [< アドレス範囲 >]

Data.TestList 0x0--0x0bffffff

ok RAM: ターゲット CPU はライトアクセス可能です。

read only FLASH: これらのアドレスへの書き込みには、FLASH プログラミングコ

マンドが必要です。ROM: デバッガによってアドレスへのライトアクセスはできません。

read fail write fail

デバッガが、これらのアドレスに対して読み取り / 書き込みできません。

ターゲット CPU のバス構成を確認してください。

Debugger Basics - トレーニング 33 デバッグセッションの確立

Page 34: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

バス構成のチェック

バス構成レジスタを正しく設定することが、ターゲットのメモリに対するライトアクセスに不可欠です。RAM/FLASH デバイスごとに、バス構成の以下の項目を確認してください。

• RAM/FLASH デバイスのベースアドレスの定義

• RAM/FLASH デバイスのサイズの定義

• RAM/FLASH デバイスへのアクセスに使用するバスサイズの定義

• RAM/FLASH デバイスでライトアクセスを有効にすること

• タイミング(RAM/FLASH デバイスへのライトアクセスの待機状態の数)の定義

バス構成レジスタの設定をチェックするには、PER.view コマンドを使用します。

リセット後のバス構成 :

使用する外部 FLASH デバイスへのライトアクセスを可能にするには、Address Region 0 を以下の状態

に設定します。

• ベースアドレス 0xa0000000

• サイズ 16MByte

• バスサイズ 16 ビット

PER.Set < アドレス > %< フォーマット > < 値 >

Data.Set < アドレス > %< フォーマット > < 値 >

PER.view , /SpotLight ; Highlight all changed; configuration registers

PER.Set 0xf0000080 %LONG 0xA0000031 ; ADDSEL0

PER.Set 0xf00000c0 %LONG 0x00508637 ; BUSCON0

Debugger Basics - トレーニング 34 デバッグセッションの確立

Page 35: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ターゲット起動コードがブート FLASH によってすでに設定されている場合には、これを実行してバス構

成を行うことができます。

Go プログラム実行を開始します。

Break プログラム実行を停止します。

WAIT < 時間 > 定義した時間待機します(スクリプトのみ)。

Go ; start the program execution

Break ; stop the program execution after; the target initialization is done

... ; script example

Go

WAIT 0.5s

Break

...

Debugger Basics - トレーニング 35 デバッグセッションの確立

Page 36: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

基本的な FLASH プログラミング

デバッガは、オンチップおよびオフチップ FLASH デバイスの FLASH プログラミングをサポートしてい

ます。

大部分のオンチップ FLASH のすぐに使えるスクリプトは、TRACE32 ソフトウェア CD の以下の場所に

あります。

...¥demo¥<アーキテクチャ >¥flash¥<CPU>.cmm

例 : ...¥demo¥arm¥flash¥at91sam7s.cmm

オフチップ FLASH デバイスのプログラミングが必要な場合には、以下のコマンドが便利です。TRACE32FLASH プログラミングの概念についての詳細は、「NOR FLASH Programming User’s Guide」(norflash.pdf)を参照してください。

FLASH.RESet FLASH 宣言テーブルをリセットします。

FLASH.CFI < 開始アドレス > < データバス幅 > FLASHデバイス内部のCommon Flash Interfaceを評価して、FLASH 宣言を生成します。

コマンド FLASH.CFI には、以下の定義が必要で

す。• FLASH デバイスの < 開始アドレス >• FLASH デバイスにアクセスするとき CPU

によって使用される < データバス幅 >

FLASH.List FLASH 宣言テーブルをリストします。

FLASH.UNLOCK ALL FLASH セクターをロック解除します。

FLASH.Program ALL | OFF FLASH プログラミングを有効 / 無効にします。

Debugger Basics - トレーニング 36 デバッグセッションの確立

Page 37: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CFI 機能を備えていない FLASH デバイスでの、FLASH プログラミングの手順については「NOR FLASHProgramming User’s Guide」(norflash.pdf)を参照してください。

FLASH.RESet ; Reset the FLASH declaration table

FLASH.CFI 0xa0000000 Word ; Generate a FLASH declaration via; CFI

FLASH.List ; Display the FLASH declaration; table

FLASH.UNLOCK ALL ; Unlock the FLASH device if; required; e.g. some FLASH devices are; locked after power on

FLASH.Erase ALL ; Erase the FLASH

FLASH.Program ALL ; Enable the FLASH for programming

Data.LOAD.Elf demo.elf ; Load your code/data to the FLASH

FLASH.Program OFF ; Disable the FLASH programming

Data.LOAD.Elf demo.elf /ComPare ; Verify the FLASH programming; an error message is displayed; if the code/data in the FLASH; is different from the code/data; in the file

Debugger Basics - トレーニング 37 デバッグセッションの確立

Page 38: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

アプリケーションのロード

コンパイラ固有の < サブコマンド > については、『ICD Target Manual』を参照してください。

Data.LOAD.< サブコマンド > < ファイル > </ オプション > ファイルをロードします。

Data.LOAD.Elf arm-flash.elf ; Load file in ELF/DWARF format

Data.LOAD.AIF demo.axf ; Load file in AIF format

Data.LOAD.Elf * ; Load file in ELF/DWARF format; open file browser to select file

Debugger Basics - トレーニング 38 デバッグセッションの確立

Page 39: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

起動スクリプトの生成

デバッグ環境の設定に使用するコマンドは、1 つの起動スクリプトにまとめておくことをお勧めします。

そのために、スクリプト言語 PRACTICE が用意されています。

スクリプトファイルの標準的な拡張子は .cmmです。

基本的な起動スクリプトの例は、『ICD Target Manual』の「Quick Start」の項を参照してください。

起動スクリプトの記述

デバッガに用意されている ASCII エディタを使用して、起動スクリプトの記述、実行、デバッグを行う

ことができます。

デバッガには、デバッガ設定情報をスクリプトに変換できる 2 つのコマンドがあります。

PEDIT < ファイル > スクリプトエディタで < ファイル > を開きます。

PEDIT my_startup

STOre < ファイル > [< 項目>]

現在の設定を再現できるスクリプトを生成します。

ClipSTOre [< 項目 >] 現在の設定を再現できるコマンドリストをクリップテキストで生成します。

STOre system_settings SYStem

PEDIT system_settings

; Generate a script that allows you; to reproduce the settings of the; SYStem window at any time

; Open the file system_settings

ClipSTOre SYStem ; Generate a command list that; allows you to reproduce the; settings of the SYStem window; at any time

Debugger Basics - トレーニング 39 デバッグセッションの確立

Page 40: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

起動スクリプトの実行

DO < ファイル名 > 起動スクリプトを実行します。

DO my_startup

Debugger Basics - トレーニング 40 デバッグセッションの確立

Page 41: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

起動スクリプトの自動化

デバッガの起動時に自動的に実行される起動スクリプトを定義するには、3 つの方法があります。

1. T32.cmm

スクリプト t32.cmm が、現在の作業ディレクトリかシステムディレクトリに存在する場合、デ

バッガの起動時に自動的に実行されます。

2. 実行可能ファイルと組み合わせて起動スクリプトを定義する

デバッガの実行可能ファイルは、設定ファイルと起動スクリプトをパラメータに指定して起動することができます。

3. T32startを使用して自動的に起動するスクリプトを定義する

T32startを使用してデバッガを起動する場合、自動的に起動するスクリプトを定義できます。

PWD 現在の作業ディレクトリを出力します。

PRINT OS.PSD() デバッガのシステムディレクトリ(SYS)の名前を出力しま

す。

c:¥t32¥t32arm.exe -c c:¥t32¥config_usb.t32, g:¥and¥arm¥start.cmm

Debugger Basics - トレーニング 41 デバッグセッションの確立

Page 42: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

TRACE32 の GUI

GUIの構造と機能は、TRACE32システムディレクトリにあるファイルt32.men

で定義されます。TRACE32 では、ご使用の環境に応じて使いやすいように GUI を変更できます。

メインメニューバーとアクセラ

メインツール

ローカルポップ

ローカルボタン

アップ メニュー

レータキー

バー

ボタン

Debugger Basics - トレーニング 42 TRACE32のGUI

Page 43: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メインメニューバーとアクセラレータキー

メインメニューバーには、TRACE32 の重要な機能がすべて、グループ別にまとめられています。

よく使用するコマンドには、アクセラレータキーも定義されています。

ユーザー独自のメニューを定義するのは簡単です。

MENU.AddMenu < 名前 > < コマンド > ユーザーメニューを追加します。

MENU.RESet メニューをデフォルトにリセットします。

Menu.AddMenu "Set PC to main" "Register.Set pc main"

Menu.AddMenu "Set PC to main, ALT+F10" "Register.Set pc main"

; User menu with accelerator

メインメニューバーのもっと複雑な変更については、以下のトレーニングセクションを参照してください。「Menu Programming」

アクセラレータキー

ユーザーメニュー

Debugger Basics - トレーニング 43 TRACE32のGUI

Page 44: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メインツールバー

メインツールバーからは、よく使用するコマンドに簡単にアクセスできます。

ユーザー独自のボタンを追加するのは簡単です。

< ツール画像 > に関する情報は、[Help] -> [TRACE32 Documents] -> [IDE User Interface] -> [IDEReference Guide] -> [MENU] -> [Programming Commands] -> [TOOLITEM] を参照してください。

MENU.AddTool < ツール説明文 > < ツール画像 > < コマンド >

ツールバーにボタンを追加します。

MENU.RESet メニューをデフォルトにリセットします。

MENU.AddTool "Set PC to main" "PM,X" "Register.Set PC main"

メインツールバーのもっと複雑な変更については、以下のトレーニングセクションを参照してください。「Menu Programming」

ユーザー独自のボタン

Debugger Basics - トレーニング 44 TRACE32のGUI

Page 45: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ウィンドウエリア

ページレイアウトの保存

TRACE32 を終了するとき、ページレイアウトに関する情報は保存されません。ウィンドウレイアウトを

保存するには、[Window] メニューの [Store Window to ...] コマンドを使用してください。

ページ設定とウィンドウ設定のためのバッチファイルの例 :

; And Mon Jan 19 13:06:32 1998B::TOOLBAR ONSTATUSBAR ONWINPAGE.RESETWINPAGE.CREATE P000WINCLEARWINPOS 0.0 0.0 91. 8. 13. 1. W000B::d.lWINPOS 0.0 12.5 43. 8. 5. 0. W001B::v.f /l /cWINPOS 47.5 12.5 43. 8. 0. 0. W002B::v.l %m %r %t WINPAGE.CREATE P001WINCLEARWINPOS 16.0 13.3125 77. 18. 10. 2. W005B::A.T d.0--7WINPOS 0.0 0.0 77. 18. 8. 1. W004B::T.LWINPAGE.SELECT P000ENDDO

[Store Windows to ...] でバッチファイルが生成

され、そのバッチファイルを使用すると現在のページ設定とウィンドウ設定をいつでも再現可

Debugger Basics - トレーニング 45 TRACE32のGUI

Page 46: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

バッチファイルを実行すると、保存されているページ設定とウィンドウ設定が再現される

Debugger Basics - トレーニング 46 TRACE32のGUI

Page 47: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ウィンドウの変更

ウィンドウのヘッダーには、そのウィンドウを開くために実行されたコマンドが表示される

ウィンドウヘッダーを右クリックすると、ウィンドウを開くために実行されたコマンドがコマンドラインで再表示され、変更が可能となる

Debugger Basics - トレーニング 47 TRACE32のGUI

Page 48: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

コマンドライン

コマンド構造

デバイスプロンプト

TRAC32 で使用されるコマンドセットを選択します。

デバイスプロンプトなし TRACE32-IDE

E:: TRACE32-ICE のコマンドセット

B:: TRACE32-ICD(デバッガ)のコマンドセット

F:: TRACE32-FIRE(RISC エミュレータ)のコマ

ンドセット

コマンドライン

Debugger Basics - トレーニング 48 TRACE32のGUI

Page 49: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

コマンド例

各コマンドは省略形が可能です。省略できない文字は常に大文字で表記されます。

データ メモリを表示、変更するコマンドグループ

Data.dump 16 進ダンプを表示

Data.List ソースリストを表示

Data.LOAD ターゲットメモリにコードをロード

Break ブレークポイントを設定、リスト、削除するコマンドグループ

Break.Set ブレークポイントを設定

Break.List 設定されているすべてのブレークポイントをリスト

Break.Delete ブレークポイントを削除

Data.dump 0x1000--0x2000 /Byte

コマンドグループ

サブコマンド

パラメータ

オプション

Debugger Basics - トレーニング 49 TRACE32のGUI

Page 50: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

特定のコマンドのオンラインヘルプ

コマンドラインにコマンドを入力する。

F1 キーを押すと、特定のコマンドのオンラインヘルプが表示される。空白を 1 つ追加する。

Debugger Basics - トレーニング 50 TRACE32のGUI

Page 51: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

標準のパラメータ構文

RADIX は、数値の入力フォーマットを定義します。

例 :

現在使用されているパラメータ構文を確認するには、コマンドラインに RADIX.と入力します。

RADIX.< モード > パラメータ構文を定義します。

RADIX.Decimal 基数は 10 進法で、C と似た演算子を使用

RADIX.Hex 基数は 16 進法で、C と似た演算子を使用(デフォルト)

Decimal Hex

Data.dump 100 100d 100h

Data.dump 100. 100d 100d

Data.dump 0x100 100h 100h

Debugger Basics - トレーニング 51 TRACE32のGUI

Page 52: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メッセージ行

• メッセージ行 : システムとエラーメッセージ用

• メッセージエリアウィンドウ : 新のシステムとエラーメッセージの表示用

メッセージ行

メッセージエリアエリア

Debugger Basics - トレーニング 52 TRACE32のGUI

Page 53: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ソフトキー

ソフトキー行では、特定のコマンドを段階的に入力できます。

コマンドグループを選択

サブコマンドを選択

角かっこで囲まれている項目はユーザー入力が必要 この例では、< アドレス > または < 範囲 > を入力

すべてのオプションの表示を取得

オプションを選択

Debugger Basics - トレーニング 53 TRACE32のGUI

Page 54: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ステータス行

青いカーソルがある

アドレスのシンボリック

および絶対アドレス

システムの状態 デバッグモード

Debugger Basics - トレーニング 54 TRACE32のGUI

Page 55: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

レジスタ

CPU レジスタの表示

Debugger Basics - トレーニング 55 レジスタ

Page 56: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

変更されたレジスタのカラー表示

Register.view [/< オプション >] CPU レジスタを表示します。

SETUP.Var %SpotLight すべての変数ウィンドウ、レジスタウィンドウ、周辺レジスタウィンドウ、HLL スタックフレームウィンドウ、すべての

Data.dump ウィンドウで [SpotLight] オプションをオンに切り

替えます。

Register.view /SpotLight

前回のステップで変更されたレジスタは濃い赤色でマークされる。前々回のステップで変更されたレジスタはやや薄い赤色でマークされる。4 レベル前までが同様にカラー表示される。

[SpotLight] がオンの場合、以下のそれぞれ

で SpotLight 機能が自動的に有効になる。

1.)すべての変数ウィンドウ

2.)レジスタウィンドウ(レジスタビット

も含む)

3.)周辺レジスタウィンドウ

4.)HLL スタックフレーム

5.)すべての Data.dump ウィンドウ

SpotLight 機能が有効になるのは、この機能

を有効にした後で開いた窓のみ。

Debugger Basics - トレーニング 56 レジスタ

Page 57: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CPU レジスタの内容の変更

Register.Set < レジスタ > < 値 > CPU レジスタを変更します。

レジスタの内容をダブルクリックすると、 コマンドラインに Register.Set コマンドが

自動的に表示される。新しい値を入力して Return を押すと、

レジスタの内容が変更される。

Debugger Basics - トレーニング 57 レジスタ

Page 58: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

特殊機能のレジスタの表示

TRACE32 では、設定レジスタとオンチップ周辺レジスタを論理レベルで表示 / 操作できる自由な設定

ウィンドウがサポートされます。ほとんどの標準的な CPU に、事前定義されている周辺レジスタウィン

ドウを使用できます。

ツリー表示

TRACE32 の個々の設定レジスタやオンチップ周辺レジスタは、ツリー構造で編成されます。必要に応じ

て、選択したレジスタの詳細を表示できます。

Debugger Basics - トレーニング 58 レジスタ

Page 59: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

フル表示

起動時からツリー構造を展開していると便利な場合があります。

以下のコマンドシーケンスを使用すると、すべての設定レジスタ / オンチップ周辺レジスタの内容をファ

イルに保存できます。

PER.View , "Clocks and Power Control" ; Display the functional unit; "Clocks and Power Control" in; expanded mode

PER.View , "*" ; Display all functional units in; expanded mode

PRinTer.FileType ASCIIE ; Select ASCII ENHANCED as output; format

PRinTer.FILE Per.lst ; Define Per.lst as output file

WinPrint.Per.view , "*" ; Save contents of all; configuration registers/on-chip; periperal registers to the; specified file

右クリックして [Show all] を選択する。

Debugger Basics - トレーニング 59 レジスタ

Page 60: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

SFR ごとの詳細情報

選択した項目のアドレス、ビット位置、名称がステータス行に 表示される。選択した項目の名称は、CPU マニュアルから取得される。

Debugger Basics - トレーニング 60 レジスタ

Page 61: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

PER 定義ファイル

PER ウィンドウのレイアウトは、PER 定義ファイルで記述されています。

必要に応じてこの定義を変更するには、PER コマンドグループを使用します。

実際の PER 定義ファイルのパスとバージョンは、以下のコマンドで表示できます。

VERSION.SOFTWARE

PER.view < ファイル名 > [< ツリー検索項目 >] 設定レジスタ / オンチップ周辺レジスタを表

示します。

PER.view C:¥T32¥perarm9t.per ; Use the peripheral file perarm9t.per; instead of the default PER definition; file

Debugger Basics - トレーニング 61 レジスタ

Page 62: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

特殊機能レジスタ (SFR) の変更

設定レジスタ / オンチップ周辺レジスタの内容を変更できます。

• 右クリックして、プルダウンメニューから事前定義済みの値を 1 つ選択します。

• 数値をダブルクリックすると、選択したレジスタの内容を変更する PER.Setコマンドが、コ

マンドラインに表示されます。新しい値を入力し、リターンキーで確定します。

PER.Set.simple < アドレス >|< 範囲 > [<% フォーマット >] < 文字列 >

設定レジスタ / オンチップ周辺

レジスタを変更します。

Data.Set < アドレス >|< 範囲 > [<% フォーマット >] < 文字列 > メモリを変更します。

PER.Set.simple D:0xF87FFF10 %Long 0x00000b02

Debugger Basics - トレーニング 62 レジスタ

Page 63: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メモリの表示と変更

このトレーニングセクションでは、 もよく使用する方法でメモリの表示と変更を行います。

• メモリ領域の 16 進ダンプを表示する Data.dump ウィンドウと、メモリアドレスの内容を変更

できる Data.Set コマンド

• メモリの内容をソースコードリストとして表示する Data.List ウィンドウ

いわゆるメモリクラスは、常にメモリアドレス付きで表示されます。以下のメモリクラスは、すべてのプロセッサアーキテクチャで使用できます。

ご使用のプロセッサアーキテクチャで用意されている追加のメモリクラスについては、ご使用の『TargetManual』を参照してください。

P:1000 プログラムアドレス 0x1000

D:6814 データアドレス 0x6814

Debugger Basics - トレーニング 63 メモリの表示と変更

Page 64: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Data.dump ウィンドウ

基本

アドレスを使用して、Data.dump ウィンドウの開始アドレスを指定

TRACE32 は、すべてのウィンドウを常に更新している点に注意してください。

デフォルトの更新レートは 1 秒当たり 10 回です。

Debugger Basics - トレーニング 64 メモリの表示と変更

Page 65: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

アドレス範囲を使用して Data.dump ウィンドウのアドレスを指定

アドレス範囲を入力すると、指定したアドレス範囲のみが表示されます。これは、メモリマップされている I/O レジスタに近いメモリ領域を表示する必要があり、TRACE32 で I/O レジスタに対するリードサ

イクルを発生させたくない場合に便利です。

アドレス範囲の指定規則 :

• < 開始アドレス >--< 終了アドレス >

• < 開始アドレス >..< 終了アドレス >

• < 開始アドレス >++< オフセット(バイト単位)>

• < 開始アドレス >++< オフセット(ワード単位)>(DSP の場合)

Debugger Basics - トレーニング 65 メモリの表示と変更

Page 66: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

シンボルを使用して、Data.dump ウィンドウの開始アドレスを指定。

[i]を使用して、TRACE32 で認識されるシンボル名またはラベルを選択する。

デフォルトでは、順方向の表示を使用(2x で改行)。

小さい矢印は、指定されたダンプアドレスを示す。

Debugger Basics - トレーニング 66 メモリの表示と変更

Page 67: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Data.dump <アドレス> | <範囲> [/<オプション ] メモリの 16 進ダンプを表示します。

Data.dump 0x6814 ; Display a hex dump starting at; address 0x6814

Data.dump 0x6814--0x6820 ; Display a hex dump of the; specified address range

Data.dump 0x6814..0x6820 ; Display a hex dump of the; specified address range

Data.dump 0x6814++0x8 ; Display a hex dump of the; specified address range

Data.dump ast ; Display a hex dump starting at; the address of the label ast

Data.dump ast /Byte ; Display a hex dump starting at; the address of the label ast in; byte format

Debugger Basics - トレーニング 67 メモリの表示と変更

Page 68: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メモリ内容の変更

Data.Set < アドレス >|< 範囲 > [%< フォーマット >] [/< オプション >] メモリ内容を変更します。

Data.Set 0x6814 0x0000aaaa ; Write 0x0000aaaa to the address; 0x6814

Data.Set 0x6814 %Long 0xaaaa ; Write 0xaaaa as a 32 bit value to ; the address 0x6814, add the ; leading zeros automatically

Data.Set 0x6814 %LE %Long 0xaaaa ; Write 0xaaaa as a 32 bit value to ; the address 0x6814, add the ; leading zeros automatically

; Use Little Endian mode

メモリ内容を左ダブルクリックすると、 コマンドラインに Data.Set コマンドが

自動的に表示され、新しい値を入力できる。リターンキーで

確定する。

Debugger Basics - トレーニング 68 メモリの表示と変更

Page 69: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

実行時メモリアクセス

TRACE32 で表示されるメモリ内容が更新されるのは、デフォルトでは CPU が停止したときだけです。

ウィンドウフレームに斜線かかっている場合は、CPU がプログラムを実行中のため 情報表示が固定されていることを示す。

プログラム実行が停止したので、ウィンドウの情報が更新されている。

Debugger Basics - トレーニング 69 メモリの表示と変更

Page 70: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CPU 実行に影響しない実行時メモリアクセス

プロセッサアーキテクチャによっては、CPU がプログラムを実行中でも、デバッガがすべてのメモリに

対して読み書き可能です。デバッガはほとんどの場合、プロセッサバスに直接アクセスできるので、この機能によってコアに余分な負荷は発生しません。

ご使用のプロセッサアーキテクチャで、CPU がプログラムを実行中でもデバッガがメモリに対して読み

書きできるかどうかを確認するには、SYStem ウィンドウを開きます。

CPU 実行に影響しない実行時メモリアクセスについての詳細は、ご使用の『Target Manual』で、コマ

ンド SYStem.MemAccess の説明を参照してください。

CPU 実行に影響しない実行時メモリアクセスの使用法は、明示的に設定する必要があります。2 つの使

用法が用意されています。

• 特定のメモリ領域に対して実行時メモリアクセスを設定する。

• メモリ内容を表示するすべてのウィンドウに対して実行時メモリアクセスを設定する。

[MemAccess] の [CPU]/[NEXUS]/[DAP]CPU がプログラムを実行中でもデバッガがメモリに対して読み書きできるプロセッサアーキテクチャで あることを示す。

Debugger Basics - トレーニング 70 メモリの表示と変更

Page 71: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

特定のメモリ領域に対して実行時メモリアクセスを設定 :

[E] チェックボックスをオンにすると、メモリクラスに属性 E が追加されます。

メモリに対するライトアクセスも、同じように動作します。

EP:1000 プログラムアドレス 0x1000、実行時メモリアクセスが有効

ED:6814 データアドレス 0x6814、実行時メモリアクセスが有効

[E] チェックボックスをオンにして実行時メモリアクセスを有効にする。

ウィンドウフレームが通常 表示の場合は、CPU が プログラムを実行中に情報が更新されることを示す。

実行時メモリアクセスを介した Data.Set

(属性 E)

Debugger Basics - トレーニング 71 メモリの表示と変更

Page 72: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

SYStem.MemAccess CPU ; Enable the non-intrusive; run-time memory access

...

Go ; Start program execution

Data.dump E:0x6814 ; Display a hex dump starting at; address 0x6814 via run-time ; memory access

Data.Set E:0x6814 0xAA ; Write 0xAA to the address; 0x6814 via run-time memory; access

Debugger Basics - トレーニング 72 メモリの表示と変更

Page 73: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メモリを表示するすべてのウィンドウに対して実行時メモリアクセスを設定 :

[DUALPORT] のオプションを選択すると、CPU がプログラム実行中でも、すべてのメモリアクセスが実

行時メモリアクセスで実施されます。

[MemAccess] で [CPU]/[NEXUS]/[DAP] を選択し、[DUALPORT] を選択すると、メモリを表示するすべてのウィンドウに対して実行時メモリアクセスが設定される。

CPU がプログラムを実行中に更新されるので、メモリを表示する すべてのウィンドウは通常のウィンドウフレームを持つ。

CPU がプログラムを実行中にすべてのメモリに対するライトアクセスが可能。

Debugger Basics - トレーニング 73 メモリの表示と変更

Page 74: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

SYStem.MemAccess CPU ; Enable the non-intrusive; run-time memory access

SYStem.Option DUALPORT ON ; Activate the run-time memory; access for all windows that; display memory

...

Go ; Start program execution

Data.dump 0x6814 ; Display a hex dump starting at; address 0x6814 via run-time ; memory access

Data.Set 0x6814 0xAA ; Write 0xAA to the address; 0x6814 via run-time memory; access

Debugger Basics - トレーニング 74 メモリの表示と変更

Page 75: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CPU 実行に影響のある実行時メモリアクセス

プロセッサアーキテクチャによっては、CPU がプログラムを実行中には、デバッガがメモリに対して読

み書き可能です。必要に応じて、CPU 実行に影響のある実行時メモリアクセスを有効にすることができ

ます。

CPU 実行に影響のある実行時メモリアクセスを有効にすると、TRACE32 はプログラム実行を定期的に

停止し、指定されたメモリ領域に対して読み書きを行います。更新ごとに 低 50us の時間がかかります。

[CpuAccess] で [Enable] を選択すると、CPU 実行に影響のある実行時メモリアクセス

CPU がプログラムを実行中 CPU が停止し、指定された メモリに対する TRACE32 の 読み書きが可能。

Debugger Basics - トレーニング 75 メモリの表示と変更

Page 76: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CPU 実行に影響のある実行時メモリアクセスが可能なのは、特定のメモリ領域だけです。

メモリに対するライトアクセスも、同じように動作します。

[E] チェックボックスをオンにして実行時メモリアクセスを有効にする。

ウィンドウフレームが通常表示の場合は、CPU がプログラムを実行中に情報が更新 されることを示す。

ステータス行に赤色の [S] が表示されている場合は、TRACE32 の機能が有効でありプログラム実行を短時間停止する必要があることを示す。

短時間のプログラム実行停止を使った実行時メモリアクセスによるData.Set

Debugger Basics - トレーニング 76 メモリの表示と変更

Page 77: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

SYStem.CpuAccess Enable ; Enable the intrusive; run-time memory access

...

Go ; Start program execution

Data.dump E:0x6814 ; Display a hex dump starting at; address 0x6814 via an intrusive; run-time memory access

Data.Set E:0x6814 0xAA ; Write 0xAA to the address; 0x6814 via an intrusive; run-time memory access

Debugger Basics - トレーニング 77 メモリの表示と変更

Page 78: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

変更されたメモリ内容のカラー表示

Data.dump flags /SpotLight ; Display a hex dump starting at; the address of the label flags

; Mark changes

[SpotLight] オプションを有効にすると、変更されたメモリ内容の過去 4 回分が、濃い赤色から段階的に薄い色でマーキングされる。

Debugger Basics - トレーニング 78 メモリの表示と変更

Page 79: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Data.List ウィンドウ

PC 関連のソースリストを表示

デバッグに MIX モードを選択すると、アセンブラと HLL の情報が表示される。

デバッグに HLL モードを選択すると、HLL のみの情報が表示される。

Debugger Basics - トレーニング 79 メモリの表示と変更

Page 80: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

選択した関数のソースリストを表示

Data.List [< アドレス >] [/< オプション >] ソースリストを表示します。

表示する関数を選択する。

Debugger Basics - トレーニング 80 メモリの表示と変更

Page 81: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Data.List ; Display a source listing; around the PC

Data.List E: ; Display a source listing; around the PC via run-time; memory access

Data.List * ; Open the symbol browser to ; select a function for display

Data.List func17 ; Display a source listing of; func17

Debugger Basics - トレーニング 81 メモリの表示と変更

Page 82: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

FLASH プログラミング

オンチップ FLASH

統合されたオンチップ FLASH プログラミング

統合されたオンチップ FLASH プログラミングとは、FLASH プログラミングアルゴリズムが TRACE32ソフトウェアの一部になっていることを意味します。

オンチップ FLASHのプログラミングが TRACE32ソフトウェアに統合されている場合、ターゲットCPUを選択したときにオンチップ FLASH が自動的に宣言されます。FLASH 宣言は、FLASH.List ウィンドウ

にリストされます。

オンチップ FLASH が再配置可能な場合には、TRACE32 がオンチップ FLASH にアクセスする前に、

FLASH のアドレス割り当てが自動的に行われます。アドレス割り当ては、対応する CPU の設定レジス

タの設定に基づいて行われます。

Debugger Basics - トレーニング 82 FLASHプログラミング

Page 83: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

統合されたオンチップ FLASH プログラミングの設定例は、MCS12/S12X アーキテクチャの場合、以下

のとおりです。

; establish the communication between the debugger and the CPU SYStem.CPU Auto SYStem.Up

; program FLASH FLASH.AUTO ALL Data.LOAD.COSMIC demo.h12 FLASH.AUTO OFF

; verify the FLASH contents Data.LOAD.COSMIC demo.h12 /DIFF IF FOUND()

PRINT "Verify error after FLASH programming" ELSE

PRINT "FLASH programming completed successfully"...

Debugger Basics - トレーニング 83 FLASHプログラミング

Page 84: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ターゲット コントロール オンチップ FLASH プログラミング

ターゲット コントロール オンチップ FLASH プログラミングとは、FLASH プログラミングアルゴリズ

ムが TRACE32 ソフトウェアの一部になっていないことを意味します。ローターバッハが通常提供し

ている外部プログラミングアルゴリズムは、TRACE32 ソフトウェアにリンクする必要があります。こ

のアプローチは、サンプルスクリプトで示されています。

オンチップ FLASH に対するターゲット コントロールの FLASH プログラミングには、FLASH アルゴリ

ズムの更新が容易であるという利点があります。ほとんどの場合、TRACE32 ソフトウェアの更新は必

要ありません。

利用可能な場合、ローターバッハはチップメーカーから提供されている FLASH プログラミングライブラ

リを使用します。メーカー提供のライブラリを使用すると、FLASH アルゴリズムでメーカー要件への準

拠が保証されます。ローターバッハによって提供される FLASH アルゴリズムは、TRACE32 ソフトウェ

アとライブラリアルゴリズムのインタフェースとして機能します。

オンチップ FLASH のターゲット コントロール プログラミングのサンプルスクリプトは、ローターバッ

ハによって用意されており、以下の TRACE32 インストールディレクトリにあります。

<TRACE32インストールディレクトリ >/demo/<アーキテクチャ >/flash/<CPU>.cmm

e.g. ~~/demo/powerpc/flash/MPC5554.cmm ~~/demo/arm/flash/pxa27x.cmm

~~の部分は <TRACE32インストールディレクトリ >に展開され、デフォルトでは c:/T32です。

このスクリプトはあくまでも例であることに注意してください。ほとんどの場合、スクリプトのダウンロードコマンド(Data.LOAD.auto < ファイル >)は変更が必要です。場合によっては、ターゲットのメ

モリレイアウトやプログラミングクロックの変更も必要になります。必要な調整は、サンプルスクリプトのコメントで説明されています。

一部のオンチップFLASHでは、以下の理由でコマンドFLASH.Programがエラーになることがあります。

• オンチップ FLASH の ECC 保護

ECC の各行は、1 回ずつしかプログラミングできません。

• オンチップ FLASH のプログラミングシーケンスには、特定のバイト数に同時に書き込みする

必要があります。

旧バージョンの TRACE32 ソフトウェアを使用している場合には、スクリプトで使用する FLASH.ReProgram コマンドを FLASH.AUTO コマンドで置き換えることができます。

Debugger Basics - トレーニング 84 FLASHプログラミング

Page 85: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CFI をサポートするオフチップ FLASH デバイス

ここでは、CFI 準拠 FLASH デバイスのプログラミングに説明を限定します。ほとんどの NOR FLASH は

この基準に対応しているためです。

CFI は、Common Flash memory Interface の略語です。CFI は、FLASH デバイスによる自己識別情報の

提供方法を規定しているオープン標準です。 も関連性が高いのは以下の点です。

• FLASH プログラミングアルゴリズムに関する情報

• デバイスサイズとブロック設定

TRACE32 は、オフチップ NOR FLASH デバイスの簡単な宣言を実行するとき、この情報を必要とします。

CFI 準拠 FLASH デバイスのプログラミングには、以下のフレームワークを使用できます。

各ステップについて、以下に説明します。

; set-up the CPU and configure the; external bus interface

FLASH.RESet ; reset the FLASH declaration

FLASH.CFI ... ; declare FLASH sectors via ; CFI query

FLASH.UNLOCK ALL ; unlock FLASH if required

FLASH.ReProgram ALL ; enable the FLASH for programming

Data.LOAD.auto ... ; load the programming file

FLASH.ReProgram OFF ; program the FLASH and disable; the FLASH programming

Debugger Basics - トレーニング 85 FLASHプログラミング

Page 86: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CPU 設定

TRACE32 による FLASH プログラミングでは、デバッガとターゲット CPU の間で通信を確立する必要

があります。この通信の設定には、以下のコマンドを使用できます。

バス構成

オフチップ FLASH デバイスのプログラミングには、外部バスインタフェースの適切な初期化が必要で

す。バス構成で必要な設定は、以下のとおりです。

• FLASH デバイスに対してライトアクセスが有効なこと

• FLASH デバイスのベースアドレスの定義

• FLASH デバイスのサイズの定義

• FLASH デバイスへのアクセスに使用するデータバスサイズの定義

• タイミング(FLASH デバイスへのアクセスの待機状態の数)の定義

バス構成レジスタの設定をチェックするには、PER.view コマンドを使用します。

SYStem.CPU <CPU> ターゲット CPU を選択します。

SYStem.Up デバッガとターゲット CPU の間で通信を

確立します。

SYStem.CPU MCF5272 ; select ColdFire MCF5272 as target CPU

SYStem.Up ; establish the communication between the; debugger and the target CPU

PER.Set MOV:0xc0f %Long 0x10000001 ; specify the base address for the; special function registers

PER.Set SD:0x10000044 %Long 0x28

; the FLASH is connected to Chip; Select CS0, most settings are; already correct after reset; set the number of wait states ; to 10

PER.view , "Chip-Select Module" ; display the CS0 configuration

Debugger Basics - トレーニング 86 FLASHプログラミング

Page 87: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

FLASH 宣言

FLASH 宣言の設定には、以下のコマンドを使用できます。

例 :

FLASH.RESet FLASH 宣言をリセットします。

FLASH.CFI < 開始アドレス > < バス幅 > CFI 準拠 FLASH デバイスの宣言を設定し

ます。

FLASH.List 宣言を表示します。

FLASH.CFI コマンドのパラメータ

< 開始アドレス > FLASH デバイスの開始アドレスを定義します。

< バス幅 > ターゲット CPU と FLASH デバイス間のデータバス幅を定義しま

す。

FLASH.RESet

FLASH.CFI 0x0 Word

FLASH.List

Debugger Basics - トレーニング 87 FLASHプログラミング

Page 88: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

必要なデータバス幅を実装するために複数の同一 FLASH デバイスを並列で使用する場合には、FLASH宣言でこの < バス幅 > を指定すれば十分です。

例 : 2 つの Intel Strata FLASH デバイス 28F128J3 を 16 ビットモードで並列使用し、32 ビットデータバ

スを実装する

FLASH.RESet

FLASH.CFI 0x0 Long

FLASH.List

Debugger Basics - トレーニング 88 FLASHプログラミング

Page 89: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

FLASH デバイスのロック解除

多くの FLASH デバイスには、誤った消去やプログラミング操作を避けるために、セクター / ブロックの保護機能があります。

一部の FLASH デバイスは起動後にロックされるため、FLASH デバイスを消去またはプログラミングするには、保護を解除する必要があります。ご使用の FLASH にセクター / ブロックの保護機能があるかどうかを確認するには、ご使用の FLASH デバイスのデータシートを参照してください。

FLASH デバイスのプログラミング

FLASH のプログラミングに使用できるコマンドは、以下のとおりです。

例 :

FLASH.UNLOCK ALL FLASH デバイスのロックを解除します。

FLASH.UNLOCK ALL

FLASH.ReProgram ALL 宣言されているすべての FLASH デバイスでプログラミングを有効にします。

FLASH.ReProgram OFF FLASH デバイスをプログラムし、それ以降の FLASH プログラミングを無効にします。

Data.LOAD.auto < ファイル > プログラミングファイルをロードします(ほとんどの場合、ファイルフォーマットの自動検出が可能)。

Data.LOAD.< フォーマット > < ファイル > サポートされているファイルフォーマットについては、『ICD Target Manual』で「Support」の章の「Compilers」の項を参照してください。

Data.LOAD.Elf < ファイル > プログラミングファイル(ELF/DWARFフォーマット)をロードします。

Data.LOAD.Binary < ファイル > < 開始アドレス > プログラミングファイル(バイナリファイル)をロードし、FLASH デバイスの < 開始アドレス > を指定します。

Data.LOAD.S3record < ファイル > プログラミングファイル(S3レコードファイル)をロードします。

FLASH.ReProgram ALL

Data.LOAD.auto demo.x

FLASH.ReProgram OFF

Debugger Basics - トレーニング 89 FLASHプログラミング

Page 90: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

設定例

; select ColdFire MCF5272 as target CPUSYStem.CPU MCF5272

; establish the communication between the debugger and the target CPUSYStem.Up

; specify the base address for the special function registersPER.Set MOV:0xc0f %Long 0x10000001

; the FLASH is connected to Chip Select CS0, most settings are already; correct after reset - set the number of wait states to 10PER.Set SD:0x10000044 %Long 0x28

; reset the FLASH declarationFLASH.RESet

; declare the FLASH sectors by CFI queryFLASH.CFI 0x0 Word

; unlock the FLASH device if required for a power-up locked device; FLASH.UNLOCK ALL

; enable the programming for all declared FLASH devicesFLASH.ReProgram ALL

; specify the file that should be programmedData.LOAD.auto demo.x

; program the file and disable the FLASH programmingFLASH.ReProgram OFF

; verify the FLASH contentsData.LOAD.auto demo.x /DIFF

IF FOUND()PRINT "Verify error after FLASH programming"

ELSEPRINT "FLASH programming completed successfully"

...

Debugger Basics - トレーニング 90 FLASHプログラミング

Page 91: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ターゲット コントロール FLASH プログラミング

ここまでに説明した FLASH プログラミングの手順は簡単に実行できますが、FLASH プログラミングが

低速です。いわゆるターゲット コントロール FLASH プログラミングを使用すると、プログラミング

時間が大幅に向上します。

ターゲット コントロール FLASH プログラミングとは、基礎となる FLASH プログラミングアルゴリズム

が TRACE32 ソフトウェアの一部になっていないことを意味します。FLASH プログラミングは、原則的

に以下のように動作します。

1. FLASH アルゴリズムをターゲット RAM にダウンロードします。

2. プログラミングデータをターゲット RAM にダウンロードします。

3. ターゲット RAM で実行される FLASH アルゴリズムが、FLASH デバイスにデータをプログラム

します。

こうすると、ホストとデバッガハードウェアの間の通信が 小限に抑えられます。

一般的なすべてのプロセッサアーキテクチャ用に、すぐに使えるターゲット コントロール FLASH プロ

グラミング用のバイナリファイルが用意されており、TRACE32 ソフトウェア CD の以下のディレクトリ

にあります :~~/demo/<アーキテクチャ>/flash。~~の部分は <TRACE32インストールディレクトリ >に展開さ

れ、デフォルトでは c:/T32 です。CFI 準拠のターゲット コントロール FLASH プログラミングを使用

するとき、TRACE32 は、適切な FLASH プログラミングアルゴリズムをこのディレクトリから自動的に

ロードします。

Debugger Basics - トレーニング 91 FLASHプログラミング

Page 92: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

TRACE32 ソフトウェアと外部 FLASH プログラミングアルゴリズムの間で通信を初期化するには、以下

のコマンドを使用します。

パラメータ

• < 開始アドレス >

FLASH デバイスの開始アドレスを定義します。

• < バス幅 >

ターゲット CPU と FLASH デバイス間のデータバス幅を定義します。

• < コード範囲 >

外部 FLASH プログラミングアルゴリズムをロードするターゲットの RAM のアドレス範囲を定

義します。

コードの必要サイズは、(<FLASH アルゴリズム >)のサイズ + 32バイトです。

• < データ範囲 >

プログラミングデータが FLASH アルゴリズムにバッファされるときのターゲットの RAM のア

ドレス範囲を定義します。

TRACE32 ソフトウェアと FLASH アルゴリズム間の通信に使用される引数バッファは、< デー

タ範囲 > の 初の 32 バイトに置かれます。256 バイトのスタックは、< データ範囲 > の 後

に置かれます。

<バッファサイズ > = (< データ範囲 >)のサイズ - 引数バッファの 32バイト - 256バイトのスタック

<バッファサイズ >は、TRACE32 ソフトウェアから外部 FLASH プログラミングアルゴリズム

に、1 回のコール関数で転送される 大バイト数です。

FLASH.CFI < 開始アドレス > < バス幅 > /TARGET < コード範囲 > < データ範囲 >

FLASH アルゴリズム

図 : < コード範囲 > のメモリマッピング

32 バイト

32 バイトの引数バッファ

図 : < データ範囲 > のメモリマッピング

プログラミングデータのバッファ

256 バイトのスタック

Debugger Basics - トレーニング 92 FLASHプログラミング

Page 93: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

例 :

FLASH.RESet

FLASH.CFI 0x0 Word /TARGET 0x20000000++0xfff 0x20001000++0xfff

FLASH.List

Debugger Basics - トレーニング 93 FLASHプログラミング

Page 94: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

設定例(ターゲット コントロール)

; select ColdFire MCF5272 as target CPUSYStem.CPU MCF5272

; establish the communication between the debugger and the target CPUSYStem.Up

; specify the base address for the special function registersPER.Set MOV:0xc0f %Long 0x10000001

; the FLASH is connected to Chip Select CS0, most settings are already; correct after reset - set the number of wait states to 10PER.Set SD:0x10000044 %Long 0x28

; reset the FLASH declarationFLASH.RESet

; set-up the FLASH declaration for target-controlled programming; target RAM at address 0x20000000FLASH.CFI 0x0 Word /TARGET 0x20000000++0xfff 0x20001000++0xfff

; unlock the FLASH device if required for a power-up locked device; FLASH.UNLOCK ALL

; enable the programming for all declared FLASH devicesFLASH.ReProgram ALL

; specify the file that should be programmedData.LOAD.auto demo.x

; program the file and disable the FLASH programmingFLASH.ReProgram OFF

; verify the FLASH contentsData.LOAD.auto demo.x /DIFF

IF FOUND()PRINT "Verify error after FLASH programming"

ELSEPRINT "FLASH programming completed successfully"

...

Debugger Basics - トレーニング 94 FLASHプログラミング

Page 95: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ブレークポイント

ブレークポイントの実装

デバッガでブレークポイントを実現するには、いくつかの方法があります。

RAM でのソフトウェアブレークポイント(プログラム)

命令にブレークポイントを設定するデフォルトの実装方法は、ソフトウェアブレークポイントです。ソフトウェアブレークポイントを設定すると、ブレークポイントアドレスにある元の命令が特殊な命令(通常は TRAP)に置き換えられ、プログラムを停止したうえで制御がデバッガに返されます。

ソフトウェアブレークポイントの数は無制限です。

FLASH でのソフトウェアブレークポイント(プログラム)

TRACE32 では、FLASH にソフトウェアブレークポイントを設定できます。『NOR FLASH ProgrammingUser’s Guide』(norflash.pdf)の 61 ページ、「Software Breakpoints in FLASH」の項を参照してください。

Debugger Basics - トレーニング 95 ブレークポイント

Page 96: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

FLASH でのオンチップブレークポイント(プログラム)

大部分のプロセッサアーキテクチャには、少数のオンチップブレークポイントがブレークポイントレジスタとして用意されています。オンチップブレークポイントを使用すると、FLASH/EEPROM/ROM など

の読み取り専用メモリでも命令にブレークポイントを設定できます。

Debugger Basics - トレーニング 96 ブレークポイント

Page 97: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

デフォルトでは、プログラムのブレークポイントにはソフトウェアブレークポイントが使用されるので、TRACE32 にはオンチップブレークポイントを使用する場所を明示的に知らせる必要があります。メモリ

レイアウトによっては、以下の方法が用意されています。

1. コードがすべて読み取り専用メモリに置かれている場合には、プログラミングブレークポイントのデフォルト実装を変更できます。

Break.SELect Program Onchip オンチップブレークポイントとしてプログラムブレークポイントを実装します。

プログラムブレークポイントの実装を [Onchip] に変更

Debugger Basics - トレーニング 97 ブレークポイント

Page 98: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

2. コードが RAM と FLASH/EEPROM/ROM に置かれている場合には、オンチップブレークポイ

ントを使用するコード範囲を定義できます。

以下のように設定を確認します。

MAP.BOnchip < 範囲 > 指定されたメモリ範囲で、プログラムブレークポイントをオンチップブレークポイントとして実装します。

MAP.List 設定を確認します。

MAP.BOnchip 0x0++0x1FFF

MAp.BOnchip 0xA0000000++0x1FFFFF

指定されたアドレス範囲について、オンチップブレークポイントとして プログラムブレークポイントを実装する。これ以外のメモリ領域については、ソフトウェアブレークポイントが使用される。

Debugger Basics - トレーニング 98 ブレークポイント

Page 99: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オンチップブレークポイント(リード / ライト)

オンチップブレークポイントを使用すると、メモリ位置へのリード / ライトアクセスの時点で CPU を停

止できます。

Debugger Basics - トレーニング 99 ブレークポイント

Page 100: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

プロセッサアーキテクチャ別のオンチップブレークポイント

以下のページのリストに、オンチップブレークポイントを使用できるかどうかと、その使用方法を示します。表記の規則は以下のとおりです。

• オンチップブレークポイント : 使用可能なオンチップブレークポイントの合計数。

• プログラムブレークポイント : FLASH/EEPROM/ROM にプログラムブレークポイントを設定

するときに使用できるオンチップブレークポイントの数。

• リード / ライトブレークポイント : 特定のアドレスに対する読み書きが発生したときプログラ

ムを停止するオンチップブレークポイントの数。

• データ値ブレークポイント : 特定のデータ値がアドレスに書き込まれたとき、または特定の

データ値がアドレスから読み取られたときにプログラムを停止するオンチップデータブレークポイントの数。

単独アドレス、アドレス範囲、ビットマスク

プロセッサアーキテクチャによっては、オンチップブレークポイントが単独アドレスしかマークできません(ARM11 など)。

ほとんどのプロセッサアーキテクチャでは、アドレス範囲にオンチップブレークポイントをマークすることができます。1 つのオンチップブレークポイントでアドレス範囲の開始アドレスをマークし、2 番目

のオンチップブレークポイントで終了アドレスをマークします(MPC55xx など)。

Debugger Basics - トレーニング 100 ブレークポイント

Page 101: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

多くのプロセッサアーキテクチャでは、アドレス範囲にオンチップブレークポイントをマークするときに利用できるのはビットマスクだけです。この場合、アドレス範囲は常にアドレス範囲を含む 小ビットマスクにまで拡張されます。実際にブレークポイントがマークされるアドレスは、以下のコマンドを使用して管理することをお勧めします。

Data.View < アドレス > リード / ライトブレークポイント設定の制御

ライトブレークポイントはHLL 変数 flags に設定されている。このプロセッサアーキテクチャは、アドレス範囲にビットマスクしかサポートしていないため、

ライトブレークポイントで

マークマークされる。

変数 flagsより大きいアドレス領域が

Debugger Basics - トレーニング 101 ブレークポイント

Page 102: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

RISC/CISC プロセッサ

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

68k6833x6834x68360

——1

——1

——1

———

68HC1268HC12A

大 2 大 2 単独アドレ

大 2 単独アドレ

1

68HC16 — — — —

78K0R 1 1 単独アドレス 1 単独アドレス 1

Andes 0 ... 8 大 8 大 8ビットマスクとしての範囲

大 8

APS 3 命令 3 単独アドレス — —

ARM7ARM9Janus

2(ソフトウェアブレークポイントを使用する場合は 1)

大 2ビットマスクとして範囲

大 2ビットマスクとして範囲

2

ARM10/ARM11

2 ... 16 命令

2 ... 16 リード / ライト

2 ... 16単独アドレス

2 ... 16単独アドレス

ATOM 4 4単独アドレス

4単独アドレスまたはごく小さい範囲

AVR32 6 命令

2 リード / ライト

6ビットマスクとしての範囲

2ビットマスクとしての範囲

2

C166CBCC166SV2

4 大 4 大 4 ライト

大 1 リード

大 4 ライト

大 1 リード

Cortex-A 2 ... 16 命令

1 ... 16 リード / ライト

2 ... 16ビットマスクとしての範囲

1 ... 16ビットマスクとしての範囲

Debugger Basics - トレーニング 102 ブレークポイント

Page 103: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Cortex-M 6 命令

4 非同期(非同期

ブレークポイントはブレークイベント後に停止)

6 単独アドレス

非同期を使用するビットマスクとして 大 4 範囲

非同期を使用するビットマスクとして 大 4 範囲

1(2 非同期を使

用)

Cortex-R 2 ... 8 命令

1 ... 8リード /ライ

2 ... 8ビットマスクとしての範囲

1 ... 8ビットマスクとしての範囲

ColdFire 4 命令

2 リード / ライト

3 単独アドレス

1 ビットマスク

2 単独アドレス、ま

たは 2 範囲

2

eTPU 2 単独アドレスで大 2

ビットマスクとして 大2リード /ライト

2(ライトブレークポイントでのみ)

H8S 2 大 2 大 2ビットマスクとしての範囲

2

H8SX 4 大 4 大 4ビットマスクとしての範囲

1

M32R 4 命令

2 リード / ライト

4 単独アドレス 2 単独アドレス、ま

たは 2 範囲

2

MCORE 2 2 単独アドレス、ま

たはビットマスクとして 1 範囲

2ビットマスクとしての範囲

MCS8 2 大 2 単独アドレ

大 2 単独アドレ

ス(データと組み合わせる場合は 1)

1

MCS12MCS12C

大 3 大 3 単独アドレ

大 3 単独アドレ

1

MCS12X 4 大 4 単独アドレ

ス、または 2 アド

レス範囲

大 4 単独アドレ

ス、または 2 アド

レス範囲

1

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Debugger Basics - トレーニング 103 ブレークポイント

Page 104: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

MGT5100 1 命令

(ソフトウェアブレークポイントを使用する場合はオンチップブレークポイントなし)1リード / ライト

1/0 単独アドレス 1 単独アドレス —

MIPS32MIPS64

大 15 命令

大 15 リード / ライト

大 15ビットマスクとしての範囲

大 15ビットマスクとしての範囲

大 15

MPC500MPC800

4 命令

2 リード / ライト

4 単独アドレス、ま

たは 2 ブレークポ

イント範囲

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

2

MPC5200 2 命令

(ソフトウェアブレークポイントを使用する場合は 1)2 リード / ライト

2/12 単独アドレス、ま

たは 1 ブレークポ

イント範囲

22 単独アドレス、ま

たは 1 ブレークポ

イント範囲

MPC55xx 4 命令

2 リード / ライト

4 単独アドレス、ま

たは 2 ブレークポ

イント範囲

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

MPC563x 4 命令

2 リード / ライト

4 単独アドレス、ま

たは 2 ブレークポ

イント範囲

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

2

MPC564xMPC567x

8 命令

2 リード / ライト

8 単独アドレス

または4 単独アドレスお

よび 2 ブレークポ

イント範囲

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

2

MPC74xxMPC86xx

1 命令

(ソフトウェアブレークポイントを使用する場合はオンチップブレークポイントなし)1 リード / ライト

1/0 単独アドレス 1 単独アドレス —

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Debugger Basics - トレーニング 104 ブレークポイント

Page 105: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

MPC8240MPC8245MPC825xMPC826x

(PQ2)

1 命令

(ソフトウェアブレークポイントを使用する場合はオンチップブレークポイントなし)

1/0 単独アドレス — —

MPC8247MPC8248MPC827xMPC8280

(PQ27)

MPC83xx(PQ2 Pro)

2 命令

(ソフトウェアブレークポイントを使用する場合は 1)2 リード / ライト

2/12 単独アドレス、ま

たは 1 ブレークポ

イント範囲

22 単独アドレス、ま

たは 1 ブレークポ

イント範囲

MPC85xx(PQ3)

2 命令

(ソフトウェアブレークポイントを使用する場合は 1)2 リード / ライト

2/12 単独アドレス、ま

たは 1 ブレークポ

イント範囲

22 単独アドレス、ま

たは 1 ブレークポ

イント範囲

MSP430 2 ... 8 2 ... 82 ブレークポイン

ト範囲

2 ... 82 ブレークポイン

ト範囲

2 ... 8

PPC401PPC403

2 命令

2 リード / ライト

2 単独アドレス、ま

たは 2 範囲

2 単独アドレス、ま

たは 2 範囲

PPC405PPC44x

4 命令

2 リード / ライト

4 単独アドレス、ま

たは 2 アドレス範

2 単独アドレス、ま

たは 1 アドレス範

2

PPC600 1 命令

(ソフトウェアブレークポイントを使用する場合はオンチップブレークポイントなし)

1/0 単独アドレス — —

PPC740PPC750

1 命令

(ソフトウェアブレークポイントを使用する場合はオンチップブレークポイントなし)1 リード / ライト

1/0 単独アドレス 1 単独アドレス —

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Debugger Basics - トレーニング 105 ブレークポイント

Page 106: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

PWR-ficient

2 命令

2 リード / ライト

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

2 単独アドレス、ま

たは 1 ブレークポ

イント範囲

RX 8 命令

4 リード / ライト

8 ビットマスクとしての範囲

41 ブレークポイン

ト範囲ビットマスクとしてのその他の範囲

4

SH2AST4A

10 大 10 大 10ビットマスクとしての範囲

2

SH3 2 大 2 大 2ビットマスクとしての範囲

SH4ST40

6 大 6 大 6ビットマスクとしての範囲

2

SH7047SH7144/45

1 大 1 大 1 —

SH7058 12 大 12 大 12ビットマスクとしての範囲

大 12

Super10 大 8 大 8 大 8 8

TriCore 大 4 命令

大 4 リード / ライト

大 4 単独アドレ

ス、または 大 2範囲

大 4 単独アドレ

ス、または 大 2範囲

XC800 4 大 4大 1 範囲

(2 単独アドレスが

必要)

大 1 単独アドレ

スリードまたはアドレス範囲 大 1単独アドレスライトまたはアドレス範囲

XSCALE 2 命令

2 リード / ライト

2 単独アドレス 2 単独アドレス、ま

たはビットマスクとして 1 範囲

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Debugger Basics - トレーニング 106 ブレークポイント

Page 107: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

DSP プロセッサ

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Blackfin 6 命令

2 リード / ライト

6 単独アドレス、ま

たは 3 範囲

2 単独アドレス、ま

たは 1 範囲

CEVA-X 4 命令

4 リード / ライト

4 単独アドレス 4 単独アドレス、ま

たは範囲

2

DSP56K56k/56300/5680056100

21

21

21

DSP5630056800E

2 大 2 単独アドレ

大 1 単独アドレ

MMDSP 2 命令

1 リード / ライト

2 単独アドレス 1 単独アドレス 1

OAKTeakLiteTeakLite IITeak

3 命令

1 リード / ライト

3 単独アドレス 1 単独アドレス

ビットマスクとしての範囲

1

StarCore 12 大12単独アドレ

ス、または 大 6範囲

大 6 単独アドレ

ス、または 大 3範囲

1

STN8810STN8815STN8820

2 大 2 大 2 1

TeakLite III 2 命令

1 リード / ライト

2 単独アドレス 2 単独アドレス、ま

たは 1 範囲

1

TMS320C28x

2 2 単独アドレス — —

TMS320C54x

2 2 単独アドレス — —

TMS320C55x

4 大 4 単独アドレ

大 3 データ、1 ブ

レークポイント範囲、2 ビットマスク

大 3

Debugger Basics - トレーニング 107 ブレークポイント

Page 108: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

TMS320C62x

1 1 単独アドレス — —

TMS320C64x

大 4 大 4 単独アドレ

— —

TMS320C67x

1 1 単独アドレス — —

ZSP400 — — — —

ZSP500 4 大 4 単独アドレ

大 1ビットマスクとしての範囲

1

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライト

ブレークポイント

データ値ブレークポイント

Debugger Basics - トレーニング 108 ブレークポイント

Page 109: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ソフトコア

コンフィギャラブルコア

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライトブ

レークポイント

データ値ブレークポイント

MicroBlaze 0 ... 4 命令

0 ... 4リード /ライ

0 ... 4ビットマスクとしての範囲

0 ... 4ビットマスクとしての範囲

NIOS2 0/4/8(設定可能)

大 4 大 4 単独アドレ

ス、または 2 範囲

大 4

CPUファミリー

オンチップブレークポイント

命令ブレークポイント

リード / ライトブ

レークポイント

データ値ブレークポイント

ARC 0/2/4/8(設定可能) 大 0/2/4/8ARC600/700: ビッ

トマスクとしての範囲

大 0/2/4/8ARC600/700: ビッ

トマスクとしての範囲ARCtangent: ライト用のみ

大 0/1/2/4フルモードの場合はライトのみ

Diamond Core

2 大 2 ビットマス

クとしての範囲

大 2ビットマスクとしての範囲

2

M8051EW 0、1、2、4 つの

OnChip トリガー

大 4 リードまたはライト用に 大 4 単独

アドレス、リードまたはライト用に 大2範囲、

2 単独アドレス

リード / ライト、範

囲内で 大 1 リー

ド / ライト

「リード / ライ

ト」と同

Debugger Basics - トレーニング 109 ブレークポイント

Page 110: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ブレークポイントのタイプ

ブレークポイントのタイプ 可能な実装

プログラム ソフトウェア(デフォルト)オンチップ

リード、ライト、リード /ライト

オンチップ(デフォルト)

ブレークポイントのタイプ TRACE32 による自動実装

プログラム ソフトウェアオンチップ(属性 bonchip のアドレス範囲すべて)

リード、ライト、リード /ライト

オンチップ

Debugger Basics - トレーニング 110 ブレークポイント

Page 111: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

プログラムブレークポイント :

ブレークポイントがマークされた命令を実行する前に、プログラムは停止します(実行前ブレーク)。

Break.Set < アドレス > /Program [/DISable] 指定したアドレスにプログラムブレークポイントを設定します。 プログラムブレークポイントは、必要に応じて無効にできます。

Break.Set 0xA34f /Program

Break.Set main /Program

Break.Set func17 /Program /DISable

Break.List

命令を左ダブルクリックしてプログラムブレーク ポイントを設定。

赤色のプログラムブレークポイントインジケータは、プログラムブレークポイントが設定されているすべてのコード行を示します。

赤色のプログラムブレークポイントインジケータを左ダブルクリックしてプログラムブレークポイントを 解除。プログラムブレークポイントインジケータがグレー表示に変わる。

Debugger Basics - トレーニング 111 ブレークポイント

Page 112: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

リード / ライトブレークポイント

変数へのリードアクセスで CPUが停止する。

変数へのライトアクセスで CPUが停止する。

Debugger Basics - トレーニング 112 ブレークポイント

Page 113: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Break.Set < アドレス >| < 範囲 > /Read | /Write | /ReadWrite [/DISable]

; ブレークポイントを指定する HLL 式を許可

Var.Break.Set <HLL 式 > /Read | /Write | /ReadWrite [/DISable]

Break.Set 0x0B56 /Read

Break.Set ast /Write

Break.Set vpchar+5 /ReadWrite /DISable

Var.Break.Set flags /Write

Var.Break.Set flags[3] /Read

Var.Break.Set ast->count /ReadWrite /DISable

Break.List

HLL 変数が表示されている場合は、小さい 赤色のブレークポイントインジケータで

小さいグレーのブレークポイントインジケータは、

アクティブなリード / ライトブレーク

解除されたリード / ライトブレークポイントを表す。

ポイントがマークされる。

Debugger Basics - トレーニング 113 ブレークポイント

Page 114: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ブレークポイントの処理

• [MemAccess] が [CPU]、または [CPUAccess] が [Enable] の場合

は、CPU がプログラムを実行中でもブレークポイントを設定できま

す。ブレークポイントを CPUAccess で設定した場合は、リアルタ

イムの動作に影響します(1 ... 100 ミリ秒)。

• [MemAccess] と [CPUAccess] が [denied] に設定された場合は、プ

ログラム実行が停止しているときにのみブレークポイントを設定できます。

Debugger Basics - トレーニング 114 ブレークポイントの処理

Page 115: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[Break.Set] ダイアログボックス

または

Debugger Basics - トレーニング 115 ブレークポイントの処理

Page 116: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[HLL] チェックボックス

• 単独アドレス

(asm ブレークポイント) 入力したアドレス / ラベルが、選択したブレークポイントでマーク

されます。

[HLL] 入力した HLL 式で使用されるアドレス範囲が、選択したブレーク

ポイントでマークされます。

[HLL] チェックボックスがオフ

Debugger Basics - トレーニング 116 ブレークポイントの処理

Page 117: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

• 変数全体

• HLL 式

[HLL] チェックボックスがオン

[HLL] チェックボックスがオン

Debugger Basics - トレーニング 117 ブレークポイントの処理

Page 118: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

実装形式

実装形式

[Auto] 事前定義された実装形式をブレークポイントに使用します。

[Soft] ブレークポイントをソフトウェアブレークポイントとして実装します。

[HARD] ブレークポイントをハードウェアブレークポイントとして実装します。ハードウェアブレークポイントのためのリソースは、TRACE32 開

発ツールによって提供されます。ハードウェアブレークポイントは、ほとんどの CPU で使用できません。

[On-chip] ブレークポイントをオンチップブレークポイントとして実装します。オンチップブレークポイントのためのリソースは、CPU によって提供

されます。

実装形式

Debugger Basics - トレーニング 118 ブレークポイントの処理

Page 119: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

動作

デフォルトでは、プログラム実行はブレークポイントに達したとき停止します([stop] 動作)。TRACE32には、ブレークポイントに達したときの以下の動作が用意されています。

[Alpha]、[Beta]、[Charly]、[Delta]、[Echo] の各ブレークポイントを使用するのは、きわめて特別な場合だ

けです。そのため、トレーニング資料の一般的な内容では説明していません。

動作(デバッガ)

[stop] プログラム実行を停止します(デフォルト)。

[Spot] ブレークポイントに [Spot] 動作を組み合わせると、ブレークポイントに達して

すぐにプログラム実行が停止し、画面が更新されます。画面が更新されると、プログラム実行が続行されます。

[Alpha] Alpha ブレークポイントを設定します。

[Beta] Beta ブレークポイントを設定します。

[Charly] Charly ブレークポイントを設定します。

[Delta] Delta ブレークポイントを設定します。

[Echo] Echo ブレークポイントを設定します。

Debugger Basics - トレーニング 119 ブレークポイントの処理

Page 120: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

動作(トレース)についての詳細は、『Training ICD Trace Extension』の「Trigger and filter features」の章、または Break.Set コマンドの説明を参照してください。

動作(トレース)

[TraceEnable] 指定したイベントで、トレースバッファへのサンプリングを有効にします。

[TraceON] 指定したイベントで、トレースへのサンプリングをオンに切り替えます。

[TraceOFF] 指定したイベントで、トレースへのサンプリングをオフに切り替えます。

[TraceTrigger] 指定したイベントで、トレースへのサンプリングを停止します。トリガーディレイも可能です。

Debugger Basics - トレーニング 120 ブレークポイントの処理

Page 121: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[Spot] 動作の例

デフォルトでは、画面に表示される情報が更新されるのは、CPU がプログラム実行を停止してデバッグ

モードに移行するときだけです。

[Spot] 動作を使用すると、ブレークポイントをウォッチポイントにすることができます。ウォッチポイン

トに到達すると CPU はプログラム実行を停止してデバッグモードに移行し、画面が更新され、プログラ

ム実行が自動的に再開されます。この動作に要する時間は、デバッグインタフェースの速度と画面に表示される情報の量に応じて、50 ...100 ミリ秒です。

例 1: プログラムが sieve¥17 の命令を実行するたびに画面を更新する

スポットポイントがアクティブで、システムはリアルタイムで実行されない

Debugger Basics - トレーニング 121 ブレークポイントの処理

Page 122: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

例 2: プログラムが flags[3] に書き込みを行うたびに画面を更新する

スポットポイントがアクティブで、システムはリアルタイムで実行されない

Debugger Basics - トレーニング 122 ブレークポイントの処理

Page 123: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オプション

[Exclude] (上級ユーザーのみ。一部の CPU では使用不可)

以下の方法でブレークポイントを反転します。

• オンチップトリガーユニットのロジックを反転する

• 指定されたブレークポイントタイプを以下の 2 つのアドレ

ス範囲に設定する0x0--(start_of_breakpoint_range-1)(end_of_breakpoint_range+1)--end_of_memory

[EXclude] オプションが適用されるのは、オンチップまたはハード

ウェアの実装のみです。

実装がオンチップで、オンチップトリガーユニットに反転ロジックが用意されていない場合には、CPU の機能には、指定されたブレー

クポイントタイプを 2 つのアドレス範囲に設定する機能が必要です。

[NOMARK] (上級ユーザーのみ)ブレークポイントインジケータは表示されません。

[Temporary] オンの場合 : 一時ブレークポイントを設定します。一時ブレークポイン

トは、CPU が次にプログラム実行を停止したときに、すべて削除され

ます。オフの場合 : 永続的なブレークポイントを設定します(デフォルト)。

[DISable] オフの場合 : ブレークポイントが有効です(デフォルト)。

オンの場合 : ブレークポイントを設定しますが、無効です。

[DISableHIT] オンの場合 : ブレークポイントに達したときブレークポイントを無効

にします。

[Options]

Debugger Basics - トレーニング 123 ブレークポイントの処理

Page 124: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[EXclude] オプションの例

関数 sieve の外部のコードが実行されたとき、プログラム実行を停止します。

オンチップトリガーユニットのロジックの反転による場合(ARM7/9 と ColdFire)

関数 sieve によって使用される全アドレス範囲に対してブレークポイントを設定するために、[HLL]チェックボックスをオンにする 必要がある。

[EXclude] オプションを設定し、関数 sieve にプログラムブレークポイントをマーク

Debugger Basics - トレーニング 124 ブレークポイントの処理

Page 125: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

2 アドレス範囲のブレークポイントによる場合

TRACE32-ICD で [EXclude] オプションを使用できない場合には、十分なリソースを確保できるように、

他のオンチップブレークポイントをすべて削除します。

[EXclude] オプションを設定し、関数 sieve 外のすべてのアドレスに プログラムブレークポイントをマーク

Debugger Basics - トレーニング 125 ブレークポイントの処理

Page 126: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[NOMARK] オプションの例

アプリケーションのコード範囲は 0x3F0000 から 0x3FAFFF までです。このコードにどのユーザーも書

き込みしないように、全コード範囲にライトブレークポイントを設定します。

小さい赤色のバーはライトブレークポイントを表す

[NOMARK] オプションを設定すると、ブレークポイントインジケータが表示されない

Debugger Basics - トレーニング 126 ブレークポイントの処理

Page 127: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[Temporary] オプションの例

一時ブレークポイントを設定

次にプログラムが停止すると、すべての一時ブレークポイントは 自動的に削除される

[Go] でプログラムを実行

Debugger Basics - トレーニング 127 ブレークポイントの処理

Page 128: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[DISableHit] オプションの例

ブレークポイントに達した後で、sieve への関数エントリにおけるプログラムブレークポイントを無効に

します。

ブレークポイントに到達すると無効化される

Debugger Basics - トレーニング 128 ブレークポイントの処理

Page 129: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

データブレークポイント

[DATA] フィールドには、リード / ライトブレークポイントを特定のデータ値に組み合わせる機能があり

ます。この機能を利用できるのは、ご使用の CPU にデータブレークポイントがある場合だけです。

例 : flags[3] に 1 が書き込まれた場合にプログラム実行を停止する

Debugger Basics - トレーニング 129 ブレークポイントの処理

Page 130: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

HLL 式を使用する場合、TRACE32 はシンボル情報から [byte]、[word]、[long] のどのアクセスでデータが

書き込まれるかを取得します。

アドレスまたはシンボルを使用する場合、ユーザーがアクセス幅を指定する必要があります。

Debugger Basics - トレーニング 130 ブレークポイントの処理

Page 131: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

高度なブレークポイント

[advanced] ボタンをクリックすると、[Break.Set] ダイアログボックスに入力フィールドが追加され、高度な

高度なブレークポイントの入力フィールド

ブレークポイント機能を指定できる。

Debugger Basics - トレーニング 131 ブレークポイントの処理

Page 132: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

カウンタ

n 回目のブレークポイントに達したときにプログラム実行を停止できます。

ソフトウェアカウンタ

CPU にデバッグカウンタの機能がない場合には、ソフトウェアカウンタとしてカウンタを実装します。

例 : 関数 sieve の 1000 回目の実行に入った後に、プログラム実行を停止する

Debugger Basics - トレーニング 132 ブレークポイントの処理

Page 133: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ソフトウェアでカウンタを実装。ブレークポイントに到達すると、CPU が一時的

に停止してカウンタを増分する。現在のカウンタ値は、[Break.List] ウィン

ドウに表示される。 カウンタが 終値に到達すると、プログラム実行は完全に停止する。

赤色の [S] は、システム

がリアルタイムで実行されていないことを示す。

Debugger Basics - トレーニング 133 ブレークポイントの処理

Page 134: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

オンチップカウンタ

MPC8xx、MPC5xx、MPC55xx、StarCore などの CPU には、オンチップのデバッグカウンタが用意され

ています。オンチップブレークポイントと組み合わせて使用する必要があります。

例 : 関数 sieve の 1000 回目の実行に入った後に、プログラム実行を停止する

デバッグカウンタは、完全にリアルタイムで実行されます。プログラム実行中に、現在のカウンタ値は表示されません。カウンタが 終値に到達するとすぐに、プログラム実行は停止します。

オンチップブレークポイントにした場合、オンチップデバッグカウンタがプログラムされる。

Debugger Basics - トレーニング 134 ブレークポイントの処理

Page 135: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

条件

定義した条件が true になる場合にのみ、ブレークポイントでプログラム実行が停止します。

例 : ブレークポイントに達したとき flags[12] が 0 に等しい場合にのみ、flags[3] への書き込みを行うプロ

グラム実行を停止する

ブレークポイントに到達すると、CPU が一時的に 停止して条件がチェックされ、条件が true でなければプログラム実行が続行される。したがってプログラムはリアルタイムでは 実行されなくなる。

赤色の [S] は、プログラムがリアルタイムで実行されていないことを示す。

Debugger Basics - トレーニング 135 ブレークポイントの処理

Page 136: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

HLL 構文にない条件

レジスタベースまたはメモリベースの条件を書き込むこともできます。

例: Register R11が1に等しくなった場合に、アドレスflagsへの書き込みを行うプログラム実行を停止する

; stop the program execution at a write to the address flags if the; register R11 is equal to 1Break.Set flags /Write /CONDition Register(R11)==1

; stop program execution at a write to the address flags if the long; at address D:1000 is larger then 12345Break.Set flags /Write /CONDition Data.Long(D:1000)>12345

[HLL] をオフにする。

Debugger Basics - トレーニング 136 ブレークポイントの処理

Page 137: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

CMD

[CMD] フィールドでは、ブレークポイントに達したときに実行される 1 つ以上のコマンドを指定できま

す。

例 : flags[12] におけるライトブレークポイントに到達するたびに、flags[12] の内容をファイルに書き込む

CMD が以下の場合には [RESUME] をオフに設定することをお勧めします。

• コマンド DO で PRACTICE スクリプトを起動する

• [Trace.STATistic.Func]、[Trace.Chart.sYmbol]、[CTS.List] などの処理

ウィンドウを開くコマンドを使用する

これは、これらのコマンドが完了する前にプログラム実行が再開されてしまうためです。

OPEN #1 outflags.txt /Create ;open the file for writing

ブレークポイントに到達するたびに、指定したコマンドが実行される。[RESUME] をオンに設

定すると、コマンドの実行が完了した後でプログラム実行が続行される。

[Break.List] ウィンドウの [cmd] フィールドには、

ブレークポイントにどのコマンドが関連付けられているかの情報が示される。[R] は、RESUMEがオンであることを示す。

Debugger Basics - トレーニング 137 ブレークポイントの処理

Page 138: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

結果を表示します。

close #1 ; close the file when you are done

デバッガの状態は、

[going] と [stopped] の間で切り替わる。

Debugger Basics - トレーニング 138 ブレークポイントの処理

Page 139: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[Data]、[Condition]、[CMD] の例

高度な機能を組み合わせることも可能です。

例 : flags[12] が 1 に等しい場合に flags[3] に 0 を書き込むと、flags[3] の内容をファイルに書き込む

Debugger Basics - トレーニング 139 ブレークポイントの処理

Page 140: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

タスク

指定したタスクが実行されている場合にのみ、ブレークポイントでプログラム実行が停止します。

例 : thread0 が実行されている場合にのみ、thread_0_entry¥16 でプログラム実行を停止する

ブレークポイントに到達すると、CPU が停止

し、指定されたタスクが実行されているかどうかをチェックする。実行されていない場合にはプログラム実行が続行し、実行されている場合にはプログラム実行が停止する。 したがってプログラムはリアルタイムでは実行されなくなる。

Debugger Basics - トレーニング 140 ブレークポイントの処理

Page 141: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

赤色の [S] は、プログラムがリアルタイムで実行されて いないことを示す。

Debugger Basics - トレーニング 141 ブレークポイントの処理

Page 142: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

メモリ / レジスタ / 変数

一部の CPU では、オンチップトリガーユニットを使用してデータアクセスと命令を組み合わせ、複雑な

トリガー条件を作成できます(PowerPC 5xx/8xx など)。

例 : 関数 sieve が flags[3] に 1 を書き込んだときにプログラム実行を停止する

ご使用の CPU でこの機能がサポートされていない場合、ラジオボタン([MemoryWrite]、[MemoryRead]など)はグレー表示されます。

Break.Set < アドレス >|< アドレス範囲 > [/< タイプ >] [/< 実装 >] [/disable] ブレークポイントを設定します。

Var.Break.Set <HLL 式 > [/< タイプ >] [/< 実装 >] [/disable] HLL 構文でブレーク

ポイントを設定します。

1. ここで命令のアドレス(範囲)を定義する

2. [MemoryWrite] を選択する

3. [MemoryWrite] のアドレス範囲を定義する

4. [MemoryWrite] のデータ値を 定義する

Debugger Basics - トレーニング 142 ブレークポイントの処理

Page 143: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

設定されているすべてのブレークポイントのリストの表示

[address] ブレークポイントの物理アドレス

[types] ブレークポイントのタイプ

[impl] ブレークポイントの実装または無効

[action] ブレークポイントに選択されている処理

[options] ブレークポイントに定義されているオプション

[data] ブレークポイントによってプログラム実行を停止するために読み書きする必要があるデータ値

[count] ブレークポイントと組み合わせたカウンタの現在値と 終値

[condition] ブレークポイントによってプログラム実行を停止するために true とな

るべき条件

[cmd](コマンド)

[R](再開)

ブレークポイントに達した後で実行するコマンド[R] がオンの場合 : 定義したコマンドが実行された後で、プログラム実

行を続行

[task] タスク固有のブレークポイントに対するタスクの名前

ブレークポイントのシンボリックアドレス

Break.List [/< オプション >] ブレークポイントのリスト

Debugger Basics - トレーニング 143 ブレークポイントの処理

Page 144: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ブレークポイントの削除

ブレークポイントの有効化 / 無効化

Break.Delete < アドレス >|< アドレス範囲 > [/< タイプ >] [/< 実装 >] [/< オプション >]

ブレークポイントを削除します。

Var.Break.Delete <HLL 式 > [/< タイプ >] [/< 実装 >] [/< オプション >] HLL ブレークポイン

トを削除します。

Break.ENable [< アドレス >|< アドレス範囲 >] [/< オプション >] ブレークポイントを有効にします。

Break.DISable [< アドレス >|< アドレス範囲 >] [/< オプション >] ブレークポイントを無効にします。

Debugger Basics - トレーニング 144 ブレークポイントの処理

Page 145: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

ブレークポイント設定の保存

// AndT32 Fri Jul 04 13:17:41 2003

B:: BREAK.RESET B.S func4 /P /DISABLEHIT B.S sieve /P V.B.S ¥¥diabp555¥Global¥flags[3]; /W /DATA.BYTE 0x1; ENDDO

STOre < ファイル名 > Break ブレークポイント設定のためのバッチを生成します。

Debugger Basics - トレーニング 145 ブレークポイントの処理

Page 146: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

デバッグ

基本的なデバッグコントロール

[Step] 1 ステップ実行(例 : Step 10)

[Over] コール関数はリアルタイムで実行されますが、ユーザーには関数コールを含む行の 1 ステップ実行のように見えます。

[Next] 一時ブレークポイントを次のアセンブラまたは HLL 行に設定し、プログラム実

行を開始します。このコマンドは、サブルーチンコールのステップ実行やループから脱け出すときに便利です。

[Data.List] ウィンドウには、基本的なすべてのデバッグコマンドに使用するローカルボタンがあります。

プログラムカウンタ

[Next] では、一時ブレー

クポイントが次の行に書かれたコード(この例ではループからの出口)に設定される。

Debugger Basics - トレーニング 146 デバッグ

Page 147: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

[Return] 一時ブレークポイントを関数の 後の命令に設定し、プログラム実行を開始します。

[Up] このコマンドは、現在の関数を呼び出した関数に戻るときに便利です。そのために、関数コール直後の命令に一時ブレークポイントが設定されます。

[Return] を押すと、

関数の 後の命令でプログラム実行が停止する。

[Up] を押すと、現

在の関数を呼び出した関数に戻る。

関数のネスト状態を示すHLL スタックを表示する。

Debugger Basics - トレーニング 147 デバッグ

Page 148: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

Step < カウント > 1 ステップずつ実行します。

Step.Over コール関数をステップオーバーします。

Step.Change < 式 > < 式 > が変更されるまでステップ実行します。

Step.Till < ブール式 > < ブール式 > が true になるまでステップ実行します。

Var.Step.Change <HLL 式 > <HLL 式 > が変更されるまでステップ実行します。

Var.Step.Till < ブール HLL 式 > < ブール HLL 式 > が true になるまでステップ実行し

ます。

Go [< アドレス >|< ラベル >] プログラム実行を開始します。

Go.Next 次のコード行に到達するまでプログラムを実行します。

Go.Return HLL関数の 後に到達するまでプログラムを実行しま

す。

Go.Up [< レベル >|< アドレス >] 呼び出した関数に戻るまでプログラムを実行します。

Debugger Basics - トレーニング 148 デバッグ

Page 149: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

割り込み

CPU がデバッグモードの場合、割り込みは使用できません。

プログラムをステップ実行中に割り込みが保留になると、常に割り込み処理ルーチン内でステップ実行することになります。この問題を解決するには、以下のコマンドを使用します。

マイクロコントローラのグローバル割り込みイネーブルビットは、アセンブラレベルでの 1 ステップ実

行中、無効に設定されます。1 ステップ実行後に、割り込みイネーブルビットは 1 ステップ実行前の状

態に設定されます。

マイクロコントローラのグローバル割り込みイネーブルビットは、高級言語での 1 ステップ実行中、無

効に設定されます。1 ステップ実行後に、割り込みイネーブルビットは 1 ステップ実行前の状態に設定

されます。

SETUP.IMASKASM [ON | OFF] アセンブラレベルで 1 ステップ実行しているとき、割り込み

を無効にします。

SETUP.IMASKHLL [ON | OFF] HLL レベルで 1 ステップ実行しているとき、割り込みを無効

にします。

Debugger Basics - トレーニング 149 割り込み

Page 150: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

サンプルベースのプロファイリング

概要

タスク : 高級言語の関数で使用される時間の比率を取得します。

測定手順 : プログラムカウンタを定期的にサンプリングします。これは 2 つの方法で実装されます。

• [Snoop]: プロセッサアーキテクチャが、プログラム実行中にプログラムカウンタを読み取るこ

とが許されます。

• [StopAndGo]: プログラム実行は、プログラムカウンタを読み取るために短時間停止します。

サンプルベースのプロファイリングに使用するコマンドグループは、PERF.< サブコマンド > です。

Debugger Basics - トレーニング 150 サンプルベースのプロファイリング

Page 151: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

標準的なアプローチ

以下の手順を実行します。

1. [PERF] 設定ウィンドウを開く

プロセッサアーキテクチャが、プログラム実行中にプログラムカウンタを読み取れる場合には、PERF METHOD Snoop が自動的に選択されます。それ以外のプロセッサアーキテクチャでは、デ

フォルトの METHOD は [StopAndGo] です。

PERF.state [PERF] 設定ウィンドウを表示します。

Debugger Basics - トレーニング 151 サンプルベースのプロファイリング

Page 152: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

2. [OFF] 状態を選択し、サンプルベースのプロファイリングを有効にする

3. [ListFunc] ボタンをクリックして、結果ウィンドウを開く

PERF.OFF サンプルベースのプロファイリングを有効にします。

PERF.ListFunc HLL 関数プロファイリングのウィンドウを開きます。

Debugger Basics - トレーニング 152 サンプルベースのプロファイリング

Page 153: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

4. プログラム実行とサンプリングを開始する

[StopAndGo] メソッドに関する備考

実際のプログラムカウンタを取得するために、ターゲットプロセッサは定期的に停止されます。 悪の場合には、この停止が 1 ミリ秒以上かかることがあります。

TRACE32 のステータス行に赤色の「S」が表示されている場合は、サンプルベースのプロファイリング

によって、プログラム実行に定期的な割り込みがあることを示します。

TRACE32 では、実際のプログラム実行(実行時)で 99% までリアルタイムが維持されるように、サンプ

リングレートが調整されます。設定可能な 小のサンプリングレートは、その場合でも 10(スヌープ / 秒)

です。

Debugger Basics - トレーニング 153 サンプルベースのプロファイリング

Page 154: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

詳細

詳細な結果

結果に関する詳細な情報を取得するには、[Detailed] ボタンをクリックします。

PERF.ListFunc ALL 詳細な HLL 関数プロファイリングウィンドウを開きます。

[Name] 関数名

[WatchTIme] 関数を監視する時間

[Ratio] 関数によって使用される時間の比率(% 単位)

[DRatio] [Ratio] と似ているが、 後の秒のみ

[Address] 関数のアドレス範囲

[Hits] 関数について取得するサンプル数

Debugger Basics - トレーニング 154 サンプルベースのプロファイリング

Page 155: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

(その他)

TRACE32 は、高級言語の関数に割り当てることができないすべてのサンプルを [(other)] に割り当てま

す。[(other)] の比率が特に高い場合には、どんなコードが実行されているかを確認することをお勧めしま

す。この場合、[ListLABEL] ボタンを押すようにしてください。

PERF.ListLABEL ラベルベースのプロファイリングに使用するウィンドウを開きます。

Debugger Basics - トレーニング 155 サンプルベースのプロファイリング

Page 156: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

結果の文書化

結果の印刷

ファイル config.t32でプリンタ設定が必要です。

例 : Windows の場合

PRINTER=WINDOWS

その他のホストプラットフォームについては、『Installation Guide』でホストプラットフォーム固有の項

を参照してください。

TRACE32 アプリケーションウィンドウのハードコピーの印刷

Debugger Basics - トレーニング 156 結果の文書化

Page 157: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

特定ウィンドウの内容の印刷

結果の印刷

複数ページにわたるなど、複雑な結果を出力する場合 :

WinPrint.< コマンド > 複雑な出力に使用するプリコマンド。

WinPrint.Data.dump 0x1000--0x1fff

WinPrint.Trace.List (-1000.)--(-500.)

ウィンドウの内容を印刷するには、ウィンドウマネージャのメニューで [Print] を選択します。

Debugger Basics - トレーニング 157 結果の文書化

Page 158: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

結果をファイルに保存

ファイルへの出力フォーマットの選択

PRinTer.FileType < フォーマット > ファイルフォーマットを選択します。

[File] ラジオボタンをオンに切り替え

Debugger Basics - トレーニング 158 結果の文書化

Page 159: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

出力するファイルを開く

1 ファイルに 1 出力を印刷

WinPrint.Data.dump 0x1000++0xfff

Debugger Basics - トレーニング 159 結果の文書化

Page 160: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

n ファイルに n 出力を印刷

ファイル名に数字が含まれている場合、この数字は出力ごとに自動的に増分されます。

WinPrint.Data.dump 0x1000++0xfff

Go

Break

WinPrint.Data.dump 0x1000++0xfff

ファイルに含まれる数字が自動増分される。

Debugger Basics - トレーニング 160 結果の文書化

Page 161: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

1 ファイルに n 出力を印刷

PRinTer.OPEN [< ファイル名 >] 結果の出力ファイルを永続的に開きます。

PRinTer.CLOSE 結果の出力ファイルを永続的に閉じます。

PRinTer.OPEN outpd

WinPrint.Data.dump 0x1000++0xfff

Go

Break

WinPrint.Data.dump 0x1000++0xfff

PRinTer.CLOSE

Debugger Basics - トレーニング 161 結果の文書化

Page 162: Debugger Basics - トレーニングDebugger Basics - トレーニング 5 システムの概念 オンチップデバッグインタフェース TRACE32 デバッガを使用すると、マイクロコントローラのオンチップデバッグインタフェースを使用し

プリンタへの出力のリセット

[Printer] ラジオボタンをオンに切り替え

Debugger Basics - トレーニング 162 結果の文書化