FRファミリSOFTUNE Workbench機能説明書V6対応

FR ファミリ SOFTUNETM
Workbench 機能説明書 V6 対応
Spec. # 002-04573 Rev. *A
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
Phone (USA): 800.858.1810
Phone (Intnl): 408.943.2600
http://www.cypress.com
Copyrights
© Cypress Semiconductor Corporation, 2002-2016. 本書面は、Cypress Semiconductor Corporation 及び Spansion LLC を含むその子会社(以下、
「Cypress」という。)に帰属する財産である。本書面(本書面に含まれ又は言及されているあらゆるソフトウェア又はファームウェア(以
下、
「本ソフトウェア」という。)を含む)は、アメリカ合衆国及び世界のその他の国における知的財産法令及び条約に基づき、Cypress が
所有する。Cypress はこれらの法令及び条約に基づく全ての権利を留保し、また、本段落で特に記載されているものを除き、Cypress の特
許権、著作権、商標権又はその他の知的財産権のライセンスを一切許諾していない。本ソフトウェアにライセンス契約書が伴っておら
ず、かつ、あなたが Cypress との間で別途本ソフトウェアの使用方法を定める書面による合意をしていない場合、Cypress は、あなたに対
して、
(1)本ソフトウェアの著作権に基づき、
(a)ソースコード形式で提供されている本ソフトウェアについて、
Cypress ハードウェア製
品と共に用いるためにのみ、組織内部でのみ、本ソフトウェアの修正及び複製を行うこと、
並びに(b)Cypress のハードウェア製品ユ
ニットに用いるためにのみ、
(直接又は再販売者及び販売代理店を介して間接のいずれかで)エンドユーザーに対して、バイナリーコー
ド形式で本ソフトウェアを外部に配布すること、並びに(2)本ソフトウェア(Cypress により提供され、修正がなされていないもの)に抵
触する Cypress の特許権のクレームに基づき、
Cypress ハードウェア製品と共に用いるためにのみ、本ソフトウェアの作成、利用、配布及
び輸入を行うことについての非独占的で譲渡不能な一身専属的ライセンス(サブライセンスの権利を除く)
を付与する。本ソフトウェ
アのその他の使用、複製、修正、変換又はコンパイルを禁止する。
適用される法律により許される範囲内で、Cypress は、本書面又はいかなる本ソフトウェアに関しても、
明示又は黙示をとわず、いかな
る保証(商品性及び特定の目的への適合性の黙示の保証を含むがこれらに限られない)
も行わない。
適用される法律により許される範
囲内で、Cypress は、別途通知することなく、本書面を変更する権利を留保する。Cypress は、本書面に記載のあるいかなる製品又は回路
の適用又は使用から生じる一切の責任を負わない。本書面で提供されたあらゆる情報(あらゆるサンプルデザイン情報又はプログラム
コードを含む)は、参照目的のためのみに提供されたものである。この情報で構成するあらゆるアプリケーション及びその結果として
のあらゆる製品の機能性及び安全性を適切に設計し、プログラムし、
かつテストすることは、本書面のユーザーの責任において行われ
るものとする。Cypress 製品は、兵器、兵器システム、原子力施設、生命維持装置若しくは生命維持システム、蘇生用の設備及び外科的移
植を含むその他の医療機器若しくは医療システム、汚染管理若しくは有害物質管理の運用のために設計され若しくは意図されたシス
テムの重要な構成部分として用いるため、又はシステムの不具合が人身傷害、死亡若しくは物的損害を生じさせることになるその他の
使用(以下、
「本目的外使用」という。)のためには、設計、意図又は承認されていない。
重要な構成部分とは、
装置又はシステムのその構成
部分の不具合が、その装置若しくはシステムの不具合を生じさせるか又はその安全性若しくは実効性に影響すると合理的に予想でき
る、機器又はシステムのあらゆる構成部分をいう。Cypress 製品のあらゆる本目的外使用から生じ、若しくは本目的外使用に関連するい
かなる請求、損害又はその他の責任についても、Cypress はその全部又は一部をとわず一切の責任を負わず、かつ、あなたは Cypress をそ
れら一切から免除するものとし、本書により免除する。あなたは、Cypress 製品の本目的外使用から生じ又は本目的外使用に関連するあ
らゆる請求、費用、損害及びその他の責任(人身傷害又は死亡に基づく請求を含む)
から Cypress を免責補償する。
Cypress、Cypress のロゴ、Spansion、Spansion のロゴ及びこれらの組み合わせ、PSoC、CapsSense、EZ-USB、F-RAM、及び Traveo は、米国及
びその他の国における Cypress の商標又は登録商標である。Cypress の商標のより完全なリストは、cypress.com を参照のこと。その他の
名称及びブランドは、それぞれの権利者の財産として権利主張がなされている可能性がある。
2
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
Contents Overview
はじめに
 SOFTUNE Workbench とは
この SOFTUNE Workbench は , Cypress マイクロプロセッサ / マイクロコントローラ FR ファミリのプログラムの開発を行
うためのサポートソフトウェアです。
開発マネージャ , シミュレータデバッガ , エミュレータデバッガ , モニタデバッガを 1 つに統合しており , 効率よく開発
を進めることができる統合型開発環境です。
 本書の目的と対象読者
本書は , SOFTUNE Workbench の機能について解説したものです。
本書は , SOFTUNE Workbench を使用して各種製品を開発される技術者の方を対象にしています。
本書をご一読ください。
 本書の全体構成
本書は , 以下に示す 2 つの章で構成されています。
第 1 章 基本機能
SOFTUNE Workbench の基本機能について説明します。
第 2 章 依存機能
各デバッガに依存する機能について説明します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
3
4
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
Contents
第 1 章 基本機能..................................................................................................... 9
1.1 ワークスペースの管理機能................................................................................................... 10
1.2 プロジェクト管理機能.......................................................................................................... 11
1.3 プロジェクト間の依存関係................................................................................................... 13
1.4 メイク / ビルド機能 .............................................................................................................. 14
1.4.1
カスタマイズビルドの機能 ........................................................................................ 15
1.5 インクルード依存関係の解析機能........................................................................................ 17
1.6 ツールオプションの設定機能 ............................................................................................... 18
1.7 エラージャンプの機能.......................................................................................................... 19
1.8 エディタの機能 .................................................................................................................... 21
1.9 外部エディタ登録 ................................................................................................................. 22
1.10 外部ツール登録 .................................................................................................................... 24
1.11 マネージャ部で使用できるマクロ記述................................................................................. 25
1.12 動作環境設定 ........................................................................................................................ 29
1.13 デバッガの種別 .................................................................................................................... 31
1.14 メモリ操作機能 .................................................................................................................... 32
1.15 レジスタ操作 ........................................................................................................................ 33
1.16 ラインアセンブル , 逆アセンブル ........................................................................................ 34
1.17 シンボリックデバッグ.......................................................................................................... 35
1.17.1 ローカルシンボルの参照 ............................................................................................ 37
1.17.2 C/C++ 言語の変数の参照 ........................................................................................... 39
第 2 章 依存機能................................................................................................... 41
2.1 シミュレータデバッガ.......................................................................................................... 42
2.1.1
命令シミュレーション ............................................................................................... 44
2.1.2
メモリシミュレーション ............................................................................................ 45
2.1.3
I/O ポートのシミュレーション................................................................................... 46
2.1.4
割込みのシミュレーション ........................................................................................ 47
2.1.5
リセットのシミュレーション..................................................................................... 48
2.1.6
低消費電力モードのシミュレーション ...................................................................... 49
2.1.7
STUB 機能.................................................................................................................. 50
2.1.8
ブレーク ..................................................................................................................... 51
2.1.8.1
コードブレーク ..................................................................................................... 52
2.1.8.2
データブレーク ..................................................................................................... 53
2.1.8.3
トレースバッファフルブレーク ............................................................................ 54
2.1.8.4
ガーデッドアクセスブレーク................................................................................ 55
2.1.8.5
強制ブレーク......................................................................................................... 56
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
5
2.1.9
実行サイクル数測定 ................................................................................................... 57
2.1.10 トレース ..................................................................................................................... 58
2.1.10.1
トレースのサンプリング....................................................................................... 59
2.1.10.2
トレースの設定方法 .............................................................................................. 60
2.1.10.3
トレースデータの表示 .......................................................................................... 61
2.1.10.4
トレースデータの表示形式 ................................................................................... 62
2.1.10.5
トレースデータの検索 .......................................................................................... 63
2.1.10.6
トレースデータのセーブ....................................................................................... 64
2.1.10.7
トレースデータのクリア....................................................................................... 65
2.1.11 カバレッジ測定 .......................................................................................................... 66
2.1.11.1
カバレッジ測定手順 .............................................................................................. 67
2.1.12 デバッガの状態を確認するには ................................................................................. 70
2.2 エミュレータデバッガ (MB2197) ......................................................................................... 73
2.2.1
動作環境の設定 .......................................................................................................... 74
2.2.1.1
MCU 動作モード ................................................................................................... 75
2.2.1.2
DRAM リフレッシュ制御 ...................................................................................... 76
2.2.1.3
キャッシュフラッシュ制御 ................................................................................... 77
2.2.1.4
動作周波数 ............................................................................................................ 78
2.2.2
プログラム実行での注意 ............................................................................................ 79
2.2.3
ユーザプログラム実行中に使用できるコマンド ........................................................ 80
2.2.4
ブレーク ..................................................................................................................... 81
2.2.4.1
コードブレーク ..................................................................................................... 82
2.2.4.2
コードイベントブレーク....................................................................................... 84
2.2.4.3
データイベントブレーク....................................................................................... 86
2.2.4.4
トレースバッファフルブレーク ............................................................................ 88
2.2.4.5
アライメントエラーブレーク................................................................................ 89
2.2.4.6
外部トリガブレーク .............................................................................................. 90
2.2.4.7
強制ブレーク......................................................................................................... 91
2.2.5
実行サイクル数測定 ................................................................................................... 92
2.2.6
トレース ..................................................................................................................... 93
2.2.6.1
トレースデータ ..................................................................................................... 94
2.2.6.2
トレースのサンプリング....................................................................................... 95
2.2.6.3
トレースの設定方法 .............................................................................................. 96
2.2.6.4
トレースデータの表示 .......................................................................................... 97
2.2.6.5
トレースデータの表示形式 ................................................................................... 98
2.2.6.6
トレースデータの検索 .......................................................................................... 99
2.2.6.7
トレースデータのセーブ..................................................................................... 100
2.2.6.8
トレースデータのクリア..................................................................................... 101
2.2.6.9
トレースの注意点................................................................................................ 102
2.2.7
アクセス禁止領域..................................................................................................... 104
2.2.8
デバッガの状態を確認するには ............................................................................... 105
2.3 エミュレータデバッガ (MB2198) ....................................................................................... 108
2.3.1
動作環境の設定 ........................................................................................................ 110
2.3.1.1
モニタプログラム自動ロード.............................................................................. 111
2.3.1.2
MCU 動作モード ................................................................................................. 112
2.3.1.3
キャッシュフラッシュ制御 ................................................................................. 113
2.3.1.4
動作周波数 .......................................................................................................... 114
6
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
2.3.1.5
外部メモリエミュレーション.............................................................................. 115
2.3.1.6
デバッグモード ................................................................................................... 116
2.3.2
プログラム実行での注意 .......................................................................................... 117
2.3.3
ユーザプログラム実行中に使用できるコマンド ...................................................... 118
2.3.4
ブレーク ................................................................................................................... 119
2.3.4.1
コードブレーク ................................................................................................... 120
2.3.4.2
データブレーク ................................................................................................... 122
2.3.4.3
コードイベントブレーク..................................................................................... 123
2.3.4.4
データイベントブレーク..................................................................................... 125
2.3.4.5
トレースバッファフルブレーク .......................................................................... 127
2.3.4.6
アライメントエラーブレーク.............................................................................. 128
2.3.4.7
外部トリガブレーク ............................................................................................ 129
2.3.4.8
強制ブレーク....................................................................................................... 130
2.3.4.9
データ監視ブレーク ............................................................................................ 131
2.3.5
シーケンサによる制御 ............................................................................................. 133
2.3.6
実行時間測定 ............................................................................................................ 136
2.3.7
トレース ................................................................................................................... 137
2.3.7.1
トレースデータの表示形式 ................................................................................. 141
2.3.7.2
トレースデータのセーブ..................................................................................... 142
2.3.7.3
トレースの注意点................................................................................................ 143
2.3.8
パフォーマンス測定 ................................................................................................. 145
2.3.8.1
パフォーマンス測定手順..................................................................................... 146
2.3.8.2
パフォーマンス測定データの表示 ...................................................................... 148
2.3.9
リアルタイムモニタ ................................................................................................. 149
2.3.10 パワーオンデバッグ ................................................................................................. 150
2.3.11 アクセス禁止領域..................................................................................................... 151
2.3.12 RAM チェッカ .......................................................................................................... 152
2.3.13 デバッガの状態を確認するには ............................................................................... 156
2.4 エミュレータデバッガ (MB2100-01).................................................................................. 159
2.4.1
デバッグを開始するには .......................................................................................... 160
2.4.1.1
パワーオンリセット ............................................................................................ 161
2.4.1.2
ターゲットの動作環境 ........................................................................................ 162
2.4.1.3
セキュリティ....................................................................................................... 164
2.4.2
デバッグを終了するには .......................................................................................... 165
2.4.3
効率よくデバッグを行うには................................................................................... 166
2.4.3.1
デバッグ時の通信速度を高速にするには............................................................ 167
2.4.3.2
デバッグ機能を切り換えるには .......................................................................... 168
2.4.4
プログラムを実行するには ...................................................................................... 169
2.4.4.1
デバッグ機能の設定/解除 ................................................................................. 170
2.4.4.2
モニタリング....................................................................................................... 172
2.4.4.3
パワーオンデバッグ ............................................................................................ 173
2.4.5
フラッシュメモリへアクセスするには .................................................................... 175
2.4.6
プログラム実行を中断するには [ ブレーク ] ............................................................ 179
2.4.6.1
コードブレーク ( ハードウェア )......................................................................... 180
2.4.6.2
コードブレーク ( ソフトウェア )......................................................................... 182
2.4.6.3
データブレーク ................................................................................................... 184
2.4.6.4
トレーストリガブレーク..................................................................................... 185
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
7
2.4.6.5
強制ブレーク....................................................................................................... 186
2.4.6.6
データ監視ブレーク ............................................................................................ 188
2.4.6.7
シーケンサ .......................................................................................................... 190
2.4.6.8
ガーデッドアクセスブレーク.............................................................................. 192
2.4.7
プログラム実行にかかる時間を測定するには.......................................................... 193
2.4.7.1
プログラムの実行サイクル数を測定するには .................................................... 194
2.4.7.2
2 点間の実行サイクル数を測定するには [ パフォーマンス測定 ] ....................... 196
2.4.8
プログラムの実行履歴を参照するには [ トレース ] ................................................. 199
2.4.8.1
トレースデータを表示するには .......................................................................... 201
2.4.8.1.1
トレースデータの表示例 (RAW データ ) ..................................................... 203
2.4.8.1.2
トレースデータの表示例 ( インストラクション ) ........................................ 206
2.4.8.1.3
トレースデータの表示例 ( ソース ) .............................................................. 207
2.4.8.2
トレースデータを保存するには .......................................................................... 208
2.4.8.3
トレースデータを検索するには .......................................................................... 209
2.4.8.4
一部の属性のトレースデータだけを取得するには ............................................. 210
2.4.8.5
指定した条件でトレース取得を終了するには .................................................... 211
2.4.9
指定領域へのメモリアクセスを抑止するには.......................................................... 212
2.4.10 ユーザプログラムからの出力メッセージをデバッガに表示するには...................... 213
2.4.11 デバッガの状態を確認するには ............................................................................... 215
2.5 モニタデバッガ .................................................................................................................. 218
2.5.1
モニタプログラムが使用するリソース .................................................................... 219
2.5.2
ブレーク ................................................................................................................... 220
2.5.2.1
ソフトウェアブレーク ........................................................................................ 221
2.5.2.2
強制ブレーク....................................................................................................... 222
2.5.3
実行時間測定 ............................................................................................................ 223
2.5.4
アクセス禁止領域..................................................................................................... 224
付録
付録 A
索引
............................................................................................................... 225
主な変更内容 ................................................................................................................. 226
............................................................................................................... 227
改訂履歴 ............................................................................................................... 233
8
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第1章
基本機能
SOFTUNE Workbench の基本機能について説明します。
1.1 ワークスペースの管理機能
1.2 プロジェクト管理機能
1.3 プロジェクト間の依存関係
1.4 メイク / ビルド機能
1.5 インクルード依存関係の解析機能
1.6 ツールオプションの設定機能
1.7 エラージャンプの機能
1.8 エディタの機能
1.9 外部エディタ登録
1.10 外部ツール登録
1.11 マネージャ部で使用できるマクロ記述
1.12 動作環境設定
1.13 デバッガの種別
1.14 メモリ操作機能
1.15 レジスタ操作
1.16 ラインアセンブル , 逆アセンブル
1.17 シンボリックデバッグ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
9
第 1 章 基本機能
1.1
ワークスペースの管理機能
SOFTUNE Workbench のワークスペース管理機能について説明します。
 ワークスペースについて
SOFTUNE Workbench では , サブプロジェクトを含め , 複数のプロジェクトを管理するためのコンテナと
してワークスペースを使用します。
例えば , ライブラリを作成するプロジェクトと , それを利用したターゲットファイルを作成するプロジェ
クトを 1 つワークスペースに登録できます。
 ワークスペース管理機能
複数のプロジェクトを管理するために , ワークスペースでは以下のような情報を管理します。
• プロジェクト
• アクティブプロジェクト
• サブプロジェクト
 プロジェクトについて
SOFTUNE Workbench での作業は , プロジェクトが基本となります。プロジェクトとは ,
ターゲットファイルを作成するために必要なファイルや作業手順をすべてまとめたものです。プロジェ
クトによって管理されている内容は , プロジェクトファイルにすべて書き込まれています。
 アクティブプロジェクトについて
アクティブプロジェクトとは , ワークスペースで基本となるプロジェクトのことで , メニューの [ メイク ] ,
[ ビルド ] , [ コンパイル / アセンブル ] , [ デバッグの開始 ] , [ 依存関係の更新 ] の実行対象となるプロジェ
クトです。[ メイク ] , [ ビルド ] , [ コンパイル / アセンブル ] , [ 依存関係の更新 ] は , アクティブプロジェ
クトのサブプロジェクトにも影響します。
ワークスペースにプロジェクトが登録されている場合は , 必ず 1 つのアクティブプロジェクトが存在し
ます。
 サブプロジェクトについて
サブプロジェクトとは , ほかのプロジェクトが依存しているプロジェクトです。サブプロジェクトのター
ゲットファイルは , 依存関係のある親プロジェクトのターゲットファイルを作成する際に , 一緒にリンク
されます。
親プロジェクトをメイク / ビルドすると , 親プロジェクトのメイク / ビルドを実行する前に , 依存関係の
あるサブプロジェクトが最初にメイク / ビルドされます。サブプロジェクトのメイク / ビルドが成功しな
いと , その親プロジェクトはメイク / ビルドされません。
ただし以下の場合 , サブプロジェクトのターゲットファイルは , 親プロジェクトとリンクされません。
• サブプロジェクトとして絶対形式 (ABS) タイプのプロジェクトを指定した場合
• ライブラリ (LIB) タイプのプロジェクトにサブプロジェクトを指定した場合
 複数プロジェクト登録の制限について
1 つのワークスペースには , REALOS タイプのプロジェクトは 1 つだけ登録できます。
10
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.2
プロジェクト管理機能
SOFTUNE Workbench のプロジェクト管理機能について説明します。
 プロジェクト管理機能
プロジェクトによってマイコンシステムを開発するためのすべての情報が管理されます。
• プロジェクトの構成
• アクティブなプロジェクト構成
• 構成するソースファイル , インクルードファイル , その他のオブジェクトファイル , ライブラリファイ
ルの情報
• 言語ツールの実行前後に実行するツール情報 ( カスタマイズビルド機能 )
 プロジェクト形式について
プロジェクトファイルの形式には , 「ワークスペースプロジェクト形式」と「旧プロジェクト形式」の 2
つの形式があります。
「ワークスペースプロジェクト形式」と「旧プロジェクト形式」とでは , 次のような違いがあります。
 ワークスペースプロジェクト形式
• 複数のプロジェクト構成を管理できます。
• マネージャ部で使用できるマクロがすべて使用できます。
• 以前のバージョン * の Workbench では使用できません。
 旧プロジェクト形式
• 1 つのプロジェクト構成だけ管理できます。
• マネージャ部で使用できるマクロに制限があります。
詳細は , 「1.11 マネージャ部で使用できるマクロ記述」を参照してください。
• 以前のバージョン * の Workbench で使用できます。
新規プロジェクトを作成した場合 , ワークスペースプロジェクト形式となります。
既存プロジェクトを使用する場合 , そのプロジェクトのプロジェクト形式となります。
ただし以前のバージョン * の Workbench で作成したプロジェクトを使用した場合 , ワークスペースプロ
ジェクトにコンバートするかを問い合わせるダイアログが表示されます。詳細は ,『SOFTUNE Workbench
操作マニュアル』の「2.13 以前のバージョンの SOFTUNE プロジェクトを読み込む場合」を参照してく
ださい。
また , ワークスペースプロジェクト形式のプロジェクトファイルを , 以前のバージョン * の Workbench で
開くには , 旧プロジェクト形式に変換する必要があります。ほかのプロジェクト形式での保存について
は , 『SOFTUNE Workbench 操作マニュアル』の「4.2.7 名前を付けて保存」を参照してください。
*: V5:V50L03 以前
V3:V30L26 以前
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
11
第 1 章 基本機能
 プロジェクト構成について
プロジェクト構成とは , ターゲットファイルの特性を指定する一連の設定のことです。メイク / ビルド /
コンパイル / アセンブルはプロジェクト構成単位で行います。
プロジェクト構成は , プロジェクト内に複数作成できます。プロジェクト新規作成時のデフォルトの構
成名は Debug になります。プロジェクト構成の新規作成時は , 選択した既存のプロジェクト構成の設定
に基づき , 初期構成が作成されます。新規プロジェクト構成では , 必ず元の構成と同じファイル群が使わ
れます。
プロジェクト構成を使用することで , コンパイラの最適化レベル , MCU 設定などプログラムのバージョ
ンが異なるプログラムの設定を 1 つのプロジェクト内に作成できます。
プロジェクト構成では , 以下のような情報を管理します。
• ターゲットファイルの名前とディレクトリ
• ソースファイルをコンパイル / アセンブル , リンクしてターゲットファイルを作成するための , 言語
ツールのオプション情報
• ファイルをビルド対象にする / しないの情報
• ターゲットファイルをデバッグするためのデバッガの設定情報
 アクティブなプロジェクト構成について
アクティブなプロジェクト構成とは , デフォルトで [ メイク ] , [ ビルド ] , [ コンパイル / アセンブル ] ,
[ デバッグの開始 ] , [ 依存関係の更新 ] されるプロジェクト構成のことです。
プロジェクトウィンドウの SRC タブに表示されるファイルの状態や「Dependencies」フォルダ内の検出
されたインクルードファイルは , アクティブなプロジェクト構成の設定が用いられます。
<注意事項>
旧プロジェクト形式で , 新規に追加されたマクロ機能を使用した場合 , 旧プロジェクト形式保存時にマクロ
記述が展開されます。新規に追加されたマクロ記述については , 「1.11 マネージャ部で使用できるマクロ
記述」を参照してください。
12
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.3
プロジェクト間の依存関係
SOFTUNE Workbench のプロジェクト間の依存関係について説明します。
 プロジェクト間の依存関係について
ほかのプロジェクトが出力するターゲットファイルをリンクする必要がある場合 , [ プロジェクト ] - [ プ
ロジェクトの依存関係 ] メニューで必要とするプロジェクトにサブプロジェクトを定義します。サブプ
ロジェクトとは , ほかのプロジェクトが依存しているプロジェクトのことです。
プロジェクト間に依存関係を定義することで , 親プロジェクトのメイク / ビルドの際に初めにサブプロ
ジェクトをメイク / ビルドし , サブプロジェクトのターゲットファイルをリンクできます。
プロジェクトの依存関係を用いることで , 1 つのワークスペース上で開発している複数のプロジェクトを
一度にメイク / ビルドできます。
また , [ プロジェクト ] - [ プロジェクト構成 ] - [ ビルド時の構成 ] メニューでサブプロジェクトをメイク
/ ビルドする際のプロジェクト構成を指定できます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
13
第 1 章 基本機能
1.4
メイク / ビルド機能
SOFTUNE Workbench のメイク / ビルド機能について説明します。
 メイク機能
メイク機能とは , プロジェクトに登録されたすべてのソースファイルのうち , 更新されているものについ
てだけコンパイル / アセンブルし , すべてのオブジェクトファイルを結合してターゲットファイルを生成
する機能です。
この機能を使用すると , 必要最小限のファイルだけがコンパイル / アセンブルされるので , デバッグ中な
ど , ターゲットファイルを作成する時間が大幅に短縮される可能性があります。
この機能を実現するためには , ソースファイルとインクルードファイルの依存関係を正確に把握してお
く必要があります。SOFTUNE Workbench ではそのためにインクルードの依存関係を解析する機能があり
ます。詳細は , 「1.5 インクルード依存関係の解析機能」を参照してください。
 ビルド機能
ビルド機能とは , ソースファイルが更新されているかどうかにかかわらず , プロジェクトに登録されてい
るすべてのソースファイルをコンパイル / アセンブルし , すべてのオブジェクトファイルを結合してター
ゲットファイルを生成する機能です。
この機能を使用すると , すべてのファイルをコンパイル / アセンブルするので , ターゲットファイルを作
成する時間はかかりますが , 現在のソースファイルで間違いなくターゲットファイルを作成できます。
開
発の最終段階のデバッグが終了した時点で , 一度ビルドを実行されることを推奨します。
<注意事項>
バックアップしておいたソースファイルを復元して使用した場合などにメイクを行うと, オブジェクトファ
イルとソースファイルの整合が取れなくなることがあります。このような場合は , 一度 , ビルドを行ってく
ださい。
14
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.4.1
カスタマイズビルドの機能
SOFTUNE Workbench のカスタマイズビルド機能について説明します。
 ビルドのカスタマイズ機能について
SOFTUNE Workbench では , コンパイル / アセンブル / メイク / ビルド時に起動されるアセンブラ / コンパ
イラ / リンカ / ライブラリアン / コンバータ / コンフィグレータの実行前後に自動で別ツールを動作させ
ることができます。
この機能を使用することで , コンパイラの実行前に文法チェックを起動したり , コンバータの実行後に S
フォーマットバイナリコンバータ (m2bs.exe) を起動してモトローラ S フォーマット形式のファイルをバ
イナリ形式のファイルに変換したりするといったことが , メイク / ビルド中に自動的に行えます。
 オプションの設定について
SOFTUNE Workbench からのツールの起動は , ツール名の後にオプションを付加して行います。オプショ
ンには , ファイル名や , 起動するツールに特有のオプションなどの指定を行います。SOFTUNE Workbench
では , オプションに任意のファイル名やツール特有のオプションを指定することを意味するマクロを用
意しています。
パラメータ以外の文字列を指定した場合は , その文字列がそのままツールに渡されます。パラメータの
詳細については , 「1.11 マネージャ部で使用できるマクロ記述」を参照してください。
 マクロリストについて
カスタマイズビルドの設定ダイアログでは , マクロ入力のためのマクロリストを用意しています。ビル
ドファイル , ロードモジュールファイル , プロジェクトファイルのサブメニューはそれぞれのサブパラ
メータを指定したものです。
環境変数は [ ] の中まで指定しないとエラーになります。
表 1.4-1 マクロリストの対応一覧
マクロリスト
マクロ名
ビルドファイル
% (FILE)
ロードモジュールファイル
% (LOADMODULEFILE)
プロジェクトファイル
% (PRJFILE)
ワークスペースファイル
% (WSPFILE)
プロジェクトディレクトリ
% (PRJPATH)
ターゲットファイルディレクトリ
% (ABSPATH)
オブジェクトファイルディレクトリ
% (OBJPATH)
リストファイルディレクトリ
% (LSTPATH)
プロジェクト構成名
% (PRJCONFIG)
環境変数
% (ENV [ ] )
テンポラリファイル
% (TEMPFILE)
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
15
第 1 章 基本機能
<注意事項>
[ アウトプットウィンドウを使用する ] にチェックする場合には , 以下のことに注意してください。
• ツール起動後は , そのツールが終了するまでメイク / ビルドは一時中断されます。
• ツール実行中に , ユーザの入力待ちになるようなツールは , アウトプットウィンドウは使用できません。
アウトプットウィンドウを使用した場合 , ユーザの入力は行えなくなるのでツールを終了できなくなり
ます。ツールを強制的に終了するために , タスクバー上から起動したツールを選択し , Ctrl-C, Ctrl-Z を入
力して終了してください。
16
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.5
インクルード依存関係の解析機能
SOFTUNE Workbench のインクルード依存関係の解析機能について説明します。
 依存関係の解析
通常 , ソースファイルにはいくつかのインクルードファイルがインクルードされています。どのソース
ファイルでどのインクルードファイルをインクルードしているかという情報を正確に把握しておかない
と , ソースファイルに変更がなくインクルードファイルにだけ変更がある場合に , SOFTUNE Workbench
で正しくメイクできません。そのため , SOFTUNE Workbench には依存関係を自動的に解析する機能が組
み込まれています。この機能は , [ プロジェクト ] メニューから [ 依存関係の更新 ] を選択することで起
動します。この機能を使えば , インクルードファイル中にさらにインクルードファイルをインクルード
しているような場合でも , 正しく依存関係を把握できます。
また SOFTUNE Workbench では , コンパイル / アセンブルを実行したファイルの依存関係を自動的に更新
します。
<注意事項>
[ プロジェクト ] - [ 依存関係の更新 ] を実行すると , アウトプットウィンドウに出力されていた文字列はすべ
て消去されて , 依存関係の解析結果に置き換わります。エラーメッセージなど消去されては困るメッセージ
が表示されている場合は , あらかじめファイルに保存してから実行してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
17
第 1 章 基本機能
1.6
ツールオプションの設定機能
SOFTUNE Workbench から起動する言語ツールなどのツールのオプション設定機能について説明
します。
 ツールオプションの設定機能
目的のターゲットファイルを作成するために , コンパイラ / アセンブラ , リンカなどの言語ツールに , オ
プションを指定しなければなりません。SOFTUNE Workbench では , 各ツールに指定するオプションも ,
すべてプロジェクトの構成ごとに登録して管理します。
ツールオプションの設定には , すべてのソースファイルに対して有効な設定 ( 共通オプション ) と , 特定
のソースファイルにだけ有効な設定 ( 個別オプション ) があります。設定方法については , 『SOFTUNE
Workbench 操作マニュアル』の「4.5.5 プロジェクトの設定」を参照してください。
 共通オプション
プロジェクトに登録されたすべてのソースファイルについて有効なオプションです ( 個別オプション
が設定されているソースファイルは除く )。
 個別オプション
特定のソースファイルにだけ有効なコンパイル / アセンブルオプションを指定できます。個別オプショ
ンを指定したソースファイルは , 共通オプションが無効になります。
 ツールオプションについて
SOFTUNE Workbench では , オプションに任意のファイル名やディレクトリを指定することを意味するマ
クロを用意しています。
パラメータ以外の文字列を指定した場合は , その文字列がそのまま渡されます。パラメータの詳細につ
いては , 「1.11 マネージャ部で使用できるマクロ記述」を参照してください。
各ツールのツールオプションについての詳細は , それぞれのツールのマニュアルを参照してください。
18
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.7
エラージャンプの機能
SOFTUNE Workbench のエラージャンプ機能について説明します。
 エラージャンプ機能について
コンパイルエラーなどのエラーが発生したときに , アウトプットウィンドウに表示されたエラーメッ
セージをダブルクリックすることで , 自動的にエラーの発生した行にカーソルを移動させます。この機
能によって , コンパイルエラーなどを効率的に取り除くことができます。
SOFTUNE Workbench のエラージャンプ機能は , アウトプットウィンドウに表示されたエラーメッセージ
に埋め込まれているソースファイル名と行番号情報を解析して , そのファイルを開き , その行に自動的に
ジャンプします。
エラーメッセージのどの部分にソースファイル名が埋め込まれているか , また , どの部分に行番号情報が
埋め込まれているかは , そのエラーを出力したツールによって異なります。エラーメッセージのフォー
マットは , 新しく追加・変更できます。ただし , あらかじめ登録されている Cypress 製言語ツールのエ
ラーメッセージのフォーマットは , SYSTEM として定義されていますので変更できません。
エラーメッセージのフォーマットを新しく追加するのが必要なケースは , ユーザが登録したツールに対し
てエラージャンプを行う場合などです。エラージャンプは , [ 環境 ] - [ エラージャンプの設定 ] メニューで
設定します。
 シンタックスについて
[ シンタックス ] にはエラーメッセージのフォーマットを記述します。
これらを表現するために SOFTUNE Workbench では , 表 1.7-1 に示すようなマクロ記述を使用します。
SOFTUNE Workbench では , %f, %h, %* がどこまで続くのかを解析するために , それらの直後の文字を区
切り記号として使用しています。したがって , [ シンタックス ] で , %f, %h, %* の直後に記述された文字
が現れる直前までを , それぞれ , ファイル名 , ヘルプのキーワードと解釈したり読み飛ばしたりします。
区切り記号に % そのものを使用したい場合は , %% のように記述してください。
%[char] マクロは , 括弧内に指定した文字が続いている間読み飛ばします。
読み飛ばしたい文字に "] " を指定したい場合は , "¥]" と記述してください。連続する空白文字は , 1 つの
空白文字で指定できます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
19
第 1 章 基本機能
表 1.7-1 エラーメッセージ解析のための特殊な文字列一覧
パラメータ
意
味
%f
ソースファイル名として解釈してエディタに通知します。
%l
行番号として解釈してエディタに通知します。
%h
ヘルプファイルを検索するときのキーワードになります。
%*
任意の文字を読み飛ばします。
% [char]
[ ] で囲まれた範囲の文字が続いている間読み飛ばします。
【例】
*** %f (%l) %h: または % [*] %f (%l) %h:
先頭の 4 文字が , "*** " であり , その後にファイル名と括弧で括られた行番号が続き , さらに空白 1 文字
の後にヘルプのキーワードが続きます。以下のようなメッセージが該当します。
*** C:¥Sample¥sample.c (100) E4062C: 文法エラー :/int の近辺です。
20
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.8
エディタの機能
SOFTUNE Workbench に内蔵されている標準エディタの機能について説明します。
 標準エディタ
SOFTUNE Workbench はエディタを内蔵しています。このエディタを標準エディタとよびます。標準エ
ディタは , SOFTUNE Workbench 中にエディットウィンドウとして起動します。エディットウィンドウは
いくつでも同時に開くことができます。
標準エディタでは , 通常のエディット機能に加えて以下のような機能があります。
 C/C++/ アセンブラソースファイルにおけるキーワードのマーク機能
if や for などの予約語を色を変えて表示する機能です。
 エラー行のマーク機能
エラージャンプを実行したときに , その行の色を変更して強調表示する機能です。
 ブックマーク設定機能
任意の行にブックマークを設定しておき , 瞬時にその行にジャンプできます。ブックマークが設定され
ると , その行の色を変更して強調表示できます。
 ルーラ , 行番号表示機能
ルーラは , 桁位置を表示するための目盛りで , エディットウィンドウの最上部に表示します。
行番号は , エディットウィンドウの左端に表示します。
 自動インデント機能
エンターキーの押下により行を挿入した場合 , 挿入された行の先頭にその直前の行と同一のインデント
( 字下げ ) を自動的に行います。スペース , タブのどちらで字下げを行うかも , 直前の行と全く同一にな
ります。
 全角空白 , 改行コード , タブコードの表示機能
全角の空白 , 改行コード , タブコードが入っているファイルを開いたときに , これらのコードを特別な記
号で表示します。
 UNDO 機能
直前に行った編集を取り消して , 編集前の状態に戻すことができます。複数文字または複数行を一度に
編集した場合は , その部分が一度に復元されます。
 タブサイズの設定機能
タブコードが挿入されていたときに , 何桁単位にスキップするかを指定します。デフォルトは 8 です。
 フォント変更機能
エディットウィンドウに表示する文字列のフォントサイズを選択します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
21
第 1 章 基本機能
1.9
外部エディタ登録
SOFTUNE Workbench への外部エディタの登録機能について説明します。
 外部エディタ
SOFTUNE Workbench は標準エディタを内蔵しています。この標準エディタを使用されることを推奨しま
すが , これ以外の使い慣れたエディタを登録して , エディットウィンドウの代わりに使用することもでき
ます。
登録できるエディタには特に制限はありませんが , 注意が必要な場合があります。外部エディタの登録
は , [ 環境 ] - [ エディタの設定 ] メニューで行います。
 注意すべき事項
 エラージャンプ機能
外部エディタ起動時に , カーソル位置を指定する機能がない外部エディタを登録した場合 , エラーの発生
した行にカーソルを移動することはできません。
 コンパイル / アセンブル時のファイルの保存
SOFTUNE Workbench からは , 外部エディタを制御しません。コンパイル / アセンブルの前には , 編集中
のファイルを保存してください。
 オプションの設定について
SOFTUNE Workbench からの外部エディタの起動は , エディタ名の後にオプションを付加して行います。
オプションには , エディタで開くファイル名や , カーソルの初期位置 ( 行番号 ) などの指定を行います。
SOFTUNE Workbench では , オプションに任意のファイル名や行番号を指定することを意味する特殊なパ
ラメータを用意しています ( 表 1.9-1 を参照してください。) 。これらのパラメータ以外の文字列を指定
した場合は , その文字列がそのままエディタに渡されます。
%f ( ファイル名 ) は , 以下のように決定されます。
(1) プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択されている場合は
, そのファイル名
(2) (1) で有効なファイル名が取得できない場合は , 内蔵エディタでフォーカスのあるファイル名
%x ( プロジェクトパス ) は , 以下のように決定されます。
(1) プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択されている場合は
, そのファイルが登録されているプロジェクトのパス
(2) (1) で取得できない場合は , アクティブプロジェクトのパス
エディタにより空白を含むファイル名の指定方法が異なります。
エディタの仕様書を参照してください。
22
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
例)
MIFES
"%f+%l"
WZ Editor
"%f" /j%l
表 1.9-1 エラーメッセージ解析のための特殊な文字一覧
パラメータ
意
味
%%
% そのものを指定することを意味します。
%f
ファイル名を指定することを意味します。
%l
行番号を指定することを意味します。
%x
プロジェクトパスを指定することを意味します。
 オプションの設定例
表 1.9-2 外部エディタのオプション設定例
エディタ名
引数
WZ Editor V4.0
%f /j%l
MIFES V1.0
%f+%l
UltraEdit32 ( 英語版 )
%f/%l/1
TextPad32
%f (%l)
PowerEDITOR
%f -g%l
Codewright32 (PowerEDITOR 英語版 ) %f -g%l
秀丸 for Win3.1/95
/j%l:1%f
ViVi
/line=%l %f
<注意事項>
• 秀丸のエラージャンプ実行について
外部エディタとして秀丸を使用し , エラージャンプを実行する場合は , 秀丸の設定メニュー [ その他 ] [ 動作環境 ] - [ 排他制御 ] メニューの「秀丸で同じファイルを開く場合」指定で , 「同じファイルを 2 つ
開くことを禁止する」を設定してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
23
第 1 章 基本機能
1.10
外部ツール登録
SOFTUNE Workbench への外部ツールの登録機能について説明します。
 外部ツールについて
SOFTUNE Workbench には標準で添付されていないツールを , 外部ツールとして登録し , SOFTUNE
Workbench から呼び出して使用できます。ソースファイルのバージョン管理ツール連携する場合にもこ
の機能を使用します。
外部ツールとして登録したツールが , コンソールアプリケーションで実行結果を標準出力および標準エ
ラー出力に出力するようになっている場合は, その出力結果をSOFTUNE Workbenchのアウトプットウィ
ンドウに出力するように指定できます。
また , 登録したツールを起動するときに , その都度追加パラメータを記述できるように設定できます。
外部ツールの登録は , [ 環境 ] - [ ツールの設定 ] メニューで行います。
また , 登録したツールは , [ 環境 ] - [ ツールの起動 ] メニューでタイトルを選択します。
 オプションの設定について
SOFTUNE Workbench からの外部ツールの起動は , 外部ツール名の後にオプションを付加して行います。
オプションには , ファイル名や , 起動するツールに特有のオプションなどを指定します。SOFTUNE
Workbenchでは, オプションに任意のファイル名やツール特有のオプションを指定することを意味する特
殊なパラメータを用意しています。
これらのパラメータ以外の文字列を指定した場合は , その文字列がそのまま外部ツールに渡されます。
パラメータの詳細については , 「1.11 マネージャ部で使用できるマクロ記述」を参照してください。
<注意事項>
[ アウトプットウィンドウを使用する ] にチェックする場合 , 以下のことに注意してください。
• ツール起動後は , そのツールが終了するまで , ほかのツールおよびコンパイル / アセンブル は起動できま
せん。
• ツール実行中に , ユーザの入力待ちになるようなツールは , アウトプットウィンドウは使用できません。
アウトプットウィンドウを使用した場合 , ユーザの入力は行えなくなるのでツールを終了させられなく
なります。ツールを強制的に終了するために , タスクバー上から起動したツールを選択し , Ctrl-C, Ctrl-Z
を入力して終了させてください。
24
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.11
マネージャ部で使用できるマクロ記述
SOFTUNE Workbench のマネージャ部で使用できるマクロの記述について説明します。
 マクロについて
SOFTUNE Workbench では , 任意のファイル名やツール特有のオプションを指定することを意味する特殊
なパラメータを用意しています。
これらのパラメータをツールのオプションなどに用いることによって , ツールを起動するたびにオプ
ションを指定し直すといったことがなくなります。
マクロは記述する場所によって , 指定可能な種類やマクロの展開が多少異なります。各機能によって使
用できるマクロは後述の項目を参照してください。なお , 「エラージャンプ」, 「外部エディタ」で指定
可能なマクロについては ,「1.7 エラージャンプの機能」, 「1.9 外部エディタ登録」を参照してください。
 マクロ一覧
以下にある表が SOFTUNE Workbench で指定可能なマクロの一覧です。各機能によって指定可能なマク
ロは以下のとおりです。
• 外部ツール
:表 1.11-1 , 表 1.11-2
• カスタマイズビルド :表 1.11-1 , 表 1.11-2
• ツールオプション
:表 1.11-2
表 1.11-1 のオプションのディレクトリでは , 最後にディレクトリ記号 ¥ が付加されますが , 表 1.11-2 のマ
クロのディレクトリでは付加されません。
また , % (FILE) , % (LOADMODULEFILE) , % (PRJFILE) , % (WSPFILE) は 表 1.11-3 のサブパラメータが
指定できます。サブパラメータは % (PRJFILE [PATH] ) というように指定します。
相対パスはカレントとなるディレクトリと同じドライブであれば , 相対パスとなります。カレントディ
レクトリは , % (PRJFILE) , % (WSPFILE) がワークスペースディレクトリ , それ以外がプロジェクトディ
レクトリとなります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
25
第 1 章 基本機能
表 1.11-1 指定可能なマクロ一覧 1
パラメータ
意味
%f
ファイルのフルパス名として渡されます。*1
%F
ファイルの主ファイル名として渡されます。*1
%d
ファイルのディレクトリとして渡されます。*1
%e
ファイルの拡張子として渡されます。*1
%a
ロードモジュールファイルのフルパス名として渡されます。
%A
ロードモジュールファイルの主ファイル名として渡されます。*2
%D
ロードモジュールファイルのディレクトリとして渡されます。*2
%E
ロードモジュールファイルの拡張子として渡されます。*2
%x
プロジェクトディレクトリとして渡されます。*2
%X
プロジェクトファイルの主ファイル名として渡されます。*2
%%
% として渡されます。
表 1.11-2 指定可能なマクロ一覧 2
パラメータ
意味
% (FILE)
ファイルのフルパス名として渡されます。*1
% (LOADMODULEFILE)
ロードモジュールファイルのフルパス名として渡されます。*2
% (PRJFILE)
プロジェクトファイルのフルパス名として渡されます。*2
% (WSPFILE)
ワークスペースファイルのフルパス名として渡されます。*3
% (PRJPATH)
プロジェクトディレクトリとして渡されます。*2
% (ABSPATH)
ターゲットファイルディレクトリとして渡されます。*2
% (OBJPATH)
オブジェクトファイルディレクトリとして渡されます。*2
% (LSTPATH)
リストファイルディレクトリとして渡されます。*2
% (PRJCONFIG)
プロジェクト構成名として渡されます。*2 *3
% (ENV [ 環境変数 ] )
[ ] の中の環境変数で指定された環境変数値が渡されます。
% (TEMPFILE)
テンポラリファイルを作成し , そのファイルのフルパス名を渡し
ます。*4
*1: マクロは以下のように決定されます。
• カスタマイズビルドの場合
1. コンパイラ , アセンブラ実行前後は対象となるソースファイル
2. リンカ , ライブラリアン , コンバータ実行前後はターゲットファイル
3. コンフィグレータ実行前後はコンフィグレーションファイル
• ツールオプションの場合
1. 空文字
• その他の場合
1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択されている場合
は , そのファイル
2. 1. で有効なファイル名が取得できない場合は , 内蔵エディタでフォーカスのあるファイル
26
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
3. 有効なファイル名が取得できない場合は , 空文字
*2: マクロは以下のように決定されます。
• カスタマイズビルド , ツールオプションの場合
1. ビルド / メイク / コンパイル / アセンブルを行っているプロジェクトの構成の情報
• その他の場合
1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択されている場合
は , そのファイルが登録されているプロジェクトのアクティブな構成の情報
2. 1. で有効なファイル名が取得できない場合は , アクティブプロジェクトのアクティブな構成の情報
*3: マクロはワークスペース対応以降の Workbench でだけ使用可能です。それ以前の Workbench ではマ
クロが展開されません。
*4: テンポラリファイルの内容はカスタマイズビルドでだけ指定可能です。
表 1.11-3 サブパラメータ一覧 1
サブパラメータ
意味
[PATH]
ファイルのディレクトリ
[RELPATH]
ファイルの相対パス
[NAME]
ファイルの主ファイル名
[EXT]
ファイルの拡張子
[SHORTFULLNAME]
ショートファイルのフルパス名
[SHORTPATH]
ショートファイルのディレクトリ
[SHORTNAME]
ショートファイルの主ファイル名
[FOLDER]
プロジェクトウィンドウの SRC タブでファイルが登録されて
いるフォルダ名 (% (FILE) でだけ指定可能 )*
*: このマクロはワークスペース対応以降の Workbench でだけ使用可能です。それ以前の Workbench では
マクロが展開されません。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
27
第 1 章 基本機能
 マクロの展開例
以下のような設定のワークスペースを開いていた場合 , マクロの展開は以下のようになります。
ワークスペース:
C:\Wsp\Wsp.wsp
アクティブプロジェクト:
アクティブなプロジェクト構成
オブジェクトディレクトリ
C:\Wsp\Sample\Sample.prj
Debug
C:\Wsp\Sample\Debug\Obj\
サブプロジェクト:
アクティブなプロジェクト構成
オブジェクトディレクトリ
ターゲットファイル
C:\Subprj\Subprj.prj
Release
C:\Subprj\Release\Obj\
C:\Subprj\Release\Abs\Subprj.abs
【例 1】外部ツールでのマクロ展開例
プロジェクトウィンドウの SRC タブで Subprj プロジェクトのファイルにフォーカスがある場合
%a
%A
%D
%E
%(FILE[FOLDER])
%(PRJFILE)
:
:
:
:
:
:
C:\Subprj\Release\Abs\Subprj.abs
SUBPRJ.abs
C:\Subprj\Release\Abs\
.abs
Source Files\Common
C:Subprj\Subprj.prj
プロジェクトウィンドウの SRC タブにフォーカスがない場合
%a
%A
%D
%(PRJFILE)
:
:
:
:
C:\Wsp\Sample\Debug\Abs\Sample.abs
Sample.abs
C:\Wsp\Sample\Debug\Abs\
C:\Wsp\Sample\Sample.prj
【例 2】カスタマイズビルドでのマクロ展開例
Subprj プロジェクトの Release 構成をビルドした場合
%(FILE)
%(FILE[PATH])
%(FILE[RELPATH])
%(FILE[NAME])
%(FILE[EXT])
%(FILE[SHORTFULLNAME])
%(FILE[SHORTPATH])
%(FILE[SHORTNAME])
%(PRJFILE[RELPATH])
%(PRJPATH)
%(OBJPATH)
%(PRJCONFIG)
%(ENV[FETOOL])
%(TEMPFILE)
:
:
:
:
:
:
:
:
:
:
:
:
:
:
C:\Subprj\LongNameFile.c
C:\Subprj
.
LongNameFile
.c
C:\Subprj\LongFi~1.c
C:\Subprj
LongFi~1
..\Subprj
C:\Subprj
C:\Subprj\Release\Obj
Relase
C:\Softune
C:\Subprj\Relase\Opt\_fs1056.TMP
【例 3】ツールオプションでのマクロ展開例 Subprj プロジェクトの Release 構成をビルドした場合
%(FILE)
%(PRJFILE[RELPATH])
%(PRJPATH)
%(OBJPATH)
%(PRJCONFIG)
%(ENV[FETOOL])
28
:
:
:
:
:
:
..\Subprj
C:\Subprj
C:\Subprj\Release\Obj
Relase
C:\Softune
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.12
動作環境設定
SOFTUNE Workbench の動作環境設定機能について説明します。
 動作環境設定
SOFTUNE Workbench で使用する環境変数の設定とワークスペースに関する基本的な設定を行います。
動作環境の設定は , [ 環境 ] - [ 開発環境の設定 ] メニューで行います。
 環境変数
主に , SOFTUNE Workbench から起動される言語ツールで参照する環境変数です。環境変数の意味は , 設
定ダイアログの下部に表示されます。ただし , SOFTUNE Workbench に後から追加される ( アドイン ) ツー
ルによって使用される環境変数については表示されません。
SOFTUNE Workbench と言語ツールが同じディレクトリにインストールされている場合は , それぞれの環
境変数の設定は特に変更しなくても使えます。
英語環境で使用される場合は , 環境変数 FELANG を必ず ASCII に設定してください。
 ワークスペースに関する基本的な設定
以下の設定が行えます。
• 起動時に前回のワークスペースを開く
- SOFTUNE Workbench を起動したときに , 自動的に前回開いていたワークスペースを開くようにし
ます。
• コンパイル / アセンブル時にオプションを表示する
- コンパイルオプション , アセンブルオプションをアウトプットウィンドウに表示させます。
• ワークスペースを閉じるときにセーブの問い合わせを行う
- プロジェクトを閉じるときに , ワークスペースをファイルに保存するかどうかの確認をします。
- この設定がないときは , 問い合わせなしにワークスペースを保存します。
• コンパイル / アセンブル時にセーブの問い合わせを行う
- コンパイル / アセンブル時に , 保存されていないソースファイルを保存するかどうかの確認をしま
す。
- この設定を行わないと , ファイルは問い合わせなしにコンパイル / アセンブル / メイク / ビルド時に
保存します。
• メイク / ビルド時に終了メッセージの強調を行う
- コンパイル / アセンブル / メイク / ビルド時の終了メッセージ ( 中断 , 正常 , 警告 , エラー, 致命的エ
ラー , 起動失敗 ) の表示色は , お客様が自由に変更できます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
29
第 1 章 基本機能
<注意事項>
ここで設定される環境変数は , SOFTUNE Workbench 対応の言語ツール用のため , 以前のバージョンの
SOFTUNE で設定されていた環境変数は引き継がれません。特に以前のバージョンで設定されていた [ ユー
ザインクルードディレクトリ ] や [ ライブラリ検索ディレクトリ ] の設定値は , SOFTUNE Workbench では
[ ツールオプションの設定 ] に追加設定してください。
30
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.13
デバッガの種別
SOFTUNE Workbench のデバッガの種類について説明します。
 デバッガの種類
SOFTUNE Workbench では , シミュレータデバッガ・エミュレータデバッガ・モニタデバッガの 3 つのデ
バッガを 1 つに統合しています。使用目的により , 選択して使用できます。
 シミュレータデバッガ
シミュレータデバッガは , MUC の動作 ( 命令実行 , メモリ空間 , I/O ポート , 割込み , リセットなど ) をソ
フトウェアだけでシミュレーションし , プログラムを評価します。
評価システムが完成されていない状態や単体の動作チェックなどの評価に使用します。
 エミュレータデバッガ
エミュレータデバッガは , ホストコンピュータから通信回線 (RS-232C, LAN, USB) を介してエミュレー
タ を制御してプログラムの評価を行うソフトウェアです。
ご使用になる前に , エミュレータの初期化が必要となります。
 モニタデバッガ
モニタデバッガは , 評価システム内にデバッグ用のプログラムを組み込み , ホストコンピュータと通信す
ることにより , 評価システムの評価を行います。評価システム内に RS-232C インタフェース , デバッグ
プログラムの領域が必要となります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
31
第 1 章 基本機能
1.14
メモリ操作機能
メモリ操作機能について説明します。
 メモリ操作機能
• メモリ内容の表示 / 変更
メモリの内容をメモリウィンドウに表示および変更できます。
• 充填
指定したメモリ領域を指定したデータでうめつくします。
• 複写
指定したメモリ領域のデータをそのまま別領域にコピーします。
• 比較
指定した比較元領域のデータと比較先領域のデータを比較します。
• 検索
指定したメモリ領域内からデータを検索します。
詳細は , 『SOFTUNE Workbench 操作マニュアル』の「3.11 メモリウィンドウ」を参照してください。
• C/C++ 言語の変数内容の表示 / 変更
C/C++ ソースファイルの変数名の内容をウォッチウィンドウに表示および変更できます。
• ウォッチポイントの設定
特定のアドレスにウォッチポイントを設定することによって , その内容をウォッチウィンドウに表示
できます。
詳細は , 『SOFTUNE Workbench 操作マニュアル』の「3.13 ウォッチウィンドウ」を参照してください。
32
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.15
レジスタ操作
レジスタ操作について説明します。
 レジスタ操作
[ 表示 ] - [ レジスタ ] メニューを選択するとレジスタウィンドウを表示します。レジスタウィンドウには
, レ ジ ス タ の 内 容 と フ ラ グ の 内 容 が 表 示 さ れ ま す。レ ジ ス タ お よ び フ ラ グ の 内 容 の 変 更 方 法 は ,
『SOFTUNE Workbench 操作マニュアル』の「4.4.4 レジスタ」を参照してください。
レジスタウィンドウに表示されるレジスタ名 , フラグ名は , MCU ごとに異なります。使用される MCU レ
ジスタ名 , フラグ名の一覧は , 『SOFTUNE Workbench 操作マニュアル』の「付録 A レジスタ名一覧」を
参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
33
第 1 章 基本機能
1.16
ラインアセンブル , 逆アセンブル
ラインアセンブル , 逆アセンブルについて説明します。
 ラインアセンブル
行単位のアセンブル ( ラインアセンブル ) は , 逆アセンブルウィンドウで右ボタンをクリックしてショー
トカットメニューを表示し , そこで [ ラインアセンブル ] を選択することで実行します。操作法について
は , 『SOFTUNE Workbench 操作マニュアル』の「4.4.3 逆アセンブル」を参照してください。
メモリマップの範囲外のアドレスには , ラインアセンブルによってコードを設定することはできません。
 逆アセンブル
逆アセンブル表示は , [ 表示 ] - [ 逆アセンブル ] で行います。デフォルトでは , 現在の PC の指すアドレス
からの表示になりますが , 起動時に任意のアドレスから表示するように変更できます。
メモリマップの範囲外のアドレスについては逆アセンブル表示できません。この場合は , ニーモニック
に "???" が表示されます。
34
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.17
シンボリックデバッグ
コマンドのパラメータ ( アドレス ) にソースプログラムで定義したシンボルを使用できます。シン
ボルには以下の 3 種類があります。
• グローバルシンボル
• モジュール内スタティックシンボル ( モジュール内ローカルシンボル )
• 関数内ローカルシンボル
 シンボルの種類
シンボルとはプログラム作成時に定義されたシンボルのことであり , 通常 , 型を持ちます。シンボルはデ
バッグ情報ファイルをロードすることにより使用可能となります。なお , C/C++ 言語のシンボルに対し
ては , 型を認識してコマンドを実行します。シンボルには , 以下の 3 種類あります。
 グローバルシンボル
グローバルシンボルは , プログラム中のどこからでも参照可能なシンボルです。C/C++ 言語では , 関数の
外部で定義した変数や関数のうち , static 宣言のないものです。アセンブラでは , PUBLIC 宣言のあるシン
ボルです。
 モジュール内スタティックシンボル ( モジュール内ローカルシンボル )
モジュール内スタティックシンボルは , それが定義されたモジュール内でだけ参照可能なシンボルです。
C/C++ 言語では , 関数の外部で定義した変数や関数のうち static 宣言のあるものです。アセンブラでは ,
PUBLIC 宣言のないシンボルです。
 関数内ローカルシンボル
関数内ローカルシンボルは C/C++ 言語だけに存在するシンボルで , 関数内スタティックシンボルとオー
ト変数があります。
• 関数内スタティックシンボル
- 関数内で定義した変数のうち , static 宣言があるものです。
• オート変数 ( 自動変数 )
- 関数内で定義した変数のうち , static 宣言がないものと関数の引数です。
 シンボル情報の登録
デバッグ情報ファイルをロードすることにより , それに含まれるシンボル情報がシンボル情報テーブル
に登録されます。このシンボル情報は , モジュールごとに作られます。
モジュールは , C/C++ 言語ではコンパイルするソースファイル単位 , アセンブラではアセンブルするソー
スファイル単位になります。
プログラム実行停止時のプログラムカウンタ (PC) が属しているモジュール ( これをカレントモジュール
とよびます ) のシンボル情報を自動的に選択します。C/C++ 言語で作成されたプログラムでは , プログラ
ムカウンタがどの関数に属しているかの情報も持っています。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
35
第 1 章 基本機能
 行番号情報
行番号情報は , デバッグ情報ファイルがロードされたときに , SOFTUNE Workbench の行番号情報テーブ
ルに登録されます。したがって , それ以降はいつでも使用できます。行番号は以下のように指定します。
[ソースファイル名]$行番号
36
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.17.1
ローカルシンボルの参照
ローカルシンボルの参照とスコープについて説明します。
 スコープ
スコープとは , ローカルシンボルを参照する場合に , どのモジュールおよび関数に属するローカルシンボ
ルを参照するかを示すものです。
SOFTUNE Workbench ではカレントモジュールおよび関数を自動的にスコープし , カレントモジュールの
ローカルシンボルを優先的に参照します。この機能をオートスコープ機能とよび , 現在スコープされて
いるモジュールおよび関数をカレントスコープとよびます。
カレントスコープ外のローカル変数を指定するには , その変数の属しているモジュールおよび関数を , 変
数名の前に指定してください。このような指定を , シンボルパスネームまたはサーチスコープとよびま
す。
 スコープの移動
変数の参照には , 前述したように変数名の指定時に直接サーチスコープを付加して指定する方法と , 参照
したいシンボルの存在する関数をカレントスコープにして指定する方法があります。
コールスタックダイアログを表示して親関数を選択することでカレントスコープを変更できます。操作
方法は , 『SOFTUNE Workbench 操作マニュアル』の「4.6.7 コールスタック」を参照してください。こ
のようにしてカレントスコープを変更しても , PC の値は変わりません。
このようにしてカレントスコープを移動すると , 親関数のローカルシンボルを優先的に検索できるよう
になります。
 シンボルの指定と検索手順
シンボルは以下のように指定します。
[
[モジュール名][\ 関数名]\]シンボル名
C++ では , スコープ解決演算子を用いた以下の記述ができます。
[
[クラス名::][
[\]関数名]\]シンボル名
シンボルは , モジュール名および関数名を付けて指定した場合は , そのシンボルを検索しますが , シンボ
ル名だけ指定した場合は , 以下の順序で検索します。
1) カレントスコープの関数内ローカルシンボル
2) this ポインタでアクセス可能なクラスメンバ (C++ の場合 )
3) カレントスコープのモジュール内スタティックシンボル
4) グローバルシンボル
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
37
第 1 章 基本機能
グローバルシンボルが , カレントスコープのローカルシンボルと同じ名前の場合は , グローバルシンボル
の先頭に "¥" または "::" を指定してください。それによって , グローバルシンボルであることを明示でき
ます。
オート変数は , メモリ上にその変数が存在している場合だけ参照できます。それ以外で指定するとエラー
になります。
38
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 1 章 基本機能
1.17.2
C/C++ 言語の変数の参照
C/C++ 言語の変数の指定方法は , C/C++ 言語のソースプログラム内での記述方法と同じです。
 C/C++ 言語の変数の指定方法
C/C++ 言語の変数の指定方法は , ソースプログラム内での記述方法と同じです。C/C++ 言語変数のアド
レスを指定するには , 変数の先頭にアンパサンド "&" を指定してください。変数の指定例を表 1.17-1 に
示します。
表 1.17-1 変数の指定例
変数の例
指定例
通常変数
int
data;
data
ポインタ
char
*p;
*p
配列
char
a [5] ;
構造体
struct stag {
char c;
int
i;
};
struct stag st;
struct stag *stp;
共用体
union utag {
char c;
int
i;
} uni;
変数アドレス int
参照型変数
クラス
メンバ
ポインタ
data;
int i;
int &ri = i;
class X {
static int i;
} cls;
int X::i;
class X {
short cs;
} clo;
short X::* ps = &X::cs;
X* clp = &clo;
a [1]
st.c
stp-> c
uni.i
&data
ri
cls.i
X::i
clo.*ps
clp->*ps
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
意
味
data の値
p の指している値
a の 2 番目の要素の値
st のメンバ c の値
stp の指す構造体のメンバ c の値
uni のメンバ i の値
data のアドレス
i と同じ
クラス X のメンバ i の値
cls.i と同じ
clo.cs と同じ
clp->cs と同じ
39
第 1 章 基本機能
 C/C++ 言語シンボルでの注意
C/C++ コンパイラは , グローバルシンボルには "_" を前置してシンボル情報を出力します。例えば , main
というシンボルは , _main というシンボル情報が出力されます。しかし , SOFTUNE Workbench では C/C++
言語で記述されたプログラムのデバッグを容易にするために , ソースに記述されたシンボル名でアクセ
スできるようにしています。
このため , 本来 , 異なるシンボル名となる C/C++ で記述されたシンボル名と , アセンブラで記述されたシ
ンボル名が同じなってしまうことがあります。
このような場合には , 通常カレントスコープ内に存在するものが優先されます。その外に存在するもの
を参照する場合には , モジュール名とともに指定してください。
カレントスコープ以外で二重定義になってしまったシンボルは , 最初に検索された方が有効になります。
それ以外のものを参照する場合には , モジュール名とともに指定してください。
40
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第2章
依存機能
各デバッガに依存する機能について説明します。
2.1 シミュレータデバッガ
2.2 エミュレータデバッガ (MB2197)
2.3 エミュレータデバッガ (MB2198)
2.4 エミュレータデバッガ (MB2100-01)
2.5 モニタデバッガ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
41
第 2 章 依存機能
2.1
シミュレータデバッガ
シミュレータデバッガの機能について説明します。
 シミュレータデバッガ
シミュレータデバッガ は , MCU の動作 ( 命令実行 , メモリ空間 , I/O ポート , 割込み , リセットなど ) を
ソフトウェアだけでシミュレーションし , プログラムの評価を行います。
評価システムが完成されていない状態や単体の動作チェックなどの評価に使用します。
シミュレータデバッガには , 以下の 2 種類があります。
• 通常版シミュレータデバッガ (normal)
• 高速版シミュレータデバッガ (fast)
高速版シミュレータデバッガは , 通常版シミュレータデバッガの処理を見直し , シミュレーション実行時
間を大幅に短縮したシミュレータデバッガです。
Pentium4 2.0GHz のパソコンで動作させたとき ,10MIPS の命令処理能力となります。
高速版シミュレータデバッガは , 周辺シミュレーションモジュールを作成するためのシミュレータ用外
部 I/F を用意しています。シミュレータ用外部 I/F については , 『SOFTUNE Workbench 操作マニュアル』
の「付録 G シミュレータ外部 I/F」を参照してください。
 高速版シミュレータデバッガの動作条件
高速版シミュレータデバッガではホスト PC 上の RAM が通常版シミュレータデバッガより多く必要とな
ります。
必要とされる RAM サイズはお客様のプログラムサイズに依存しますので十分な RAM を用意してくださ
い。
必要となる RAM の空き容量の目安としては以下の表を参照してください。
基本使用量
Fs911s.exe( 本製品 )
20MB
ターゲットプログラム CODE サイズ
64KB 当り
6MB
ターゲットプログラム DATA サイズ
64KB 当り
1.5MB
RAM 容量が不足すると , シミュレーション速度が極端に低下します。
ターゲットプログラムサイズ
CODE
XX(KB)
DATA
YY(KB)
必要となる RAM 空き容量 (MB) = 20 + (XX/64)×6 + (YY/64)×1.5
ただし , プログラムの配置によっては上記以上の RAM が必要になる場合があります。できるだけ連続し
た領域で確保してください。
例:CODE,DATA 共に 1MB のプログラムの場合
必要となる RAM 空き容量 (MB) = 20 + (1024/64)×6 + (1024/64)×1.5 = 140MB
42
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 シミュレーション範囲
シミュレータデバッガは , MCU の動作 ( 命令動作 , メモリ空間 , I/O ポート , 割込み , リセット , 低消費電
力モードなど ) をソフトウェアで擬似的にシミュレートします。周辺リソースについては , 実チップの
CPU コア以外の , タイマ , DMAC, シリアル I/O などの周辺 I/O はサポートしていません。周辺 I/O が接続
される I/O 空間も , メモリ空間として扱います。ただし , タイマ割込みなどの割込みや , I/O などのメモリ
へのデータ入力を擬似的に実現する方法を用意しています。この方法は , I/O ポートのシミュレーション
, 割込みのシミュレーションを参照してください。
• 命令シミュレーション
• メモリシミュレーション
• I/O ポートのシミュレーション ( 入力ポート )
• I/O ポートのシミュレーション ( 出力ポート )
• 割込みのシミュレーション
• リセットのシミュレーション
• 低消費電力モードのシミュレーション
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
43
第 2 章 依存機能
2.1.1
命令シミュレーション
命令シミュレーションについて説明します。
 命令シミュレーション
FR ファミリの全命令の動作をシミュレートします。
命令動作に伴うメモリおよびレジスタの内容の変化もシミュレートします。
44
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.2
メモリシミュレーション
メモリシミュレーションについて説明します。
 メモリのシミュレーション
シミュレータデバッガは , ホスト PC のメモリに確保されたメモリ空間をシミュレートします。このため
, 命令のシミュレーションを行う場合には , まずメモリ空間の確保が必要です。そのために以下のどちら
かの操作が必要です。
• [ 環境 ] - [ デバッガのメモリマップ ] メニューまたはコマンドウィンドウの SET MAP コマンドでメモ
リ領域を確保する。
• リンケージエディタが出力したファイル ( ロードモジュールファイル ) を , [ デバッグ ] - [ ターゲット
ファイルのロード ] メニューまたはコマンドウィンドウにて LOAD/OBJECT コマンドでロードする。
 シミュレーションメモリ空間
メモリ空間には [ 環境 ] - [ デバッガのメモリマップ ] メニューにより 1 バイト単位でアクセス属性を指定
できます。[ 環境 ] - [ デバッガのメモリマップ ] メニューにより設定されなかったメモリ空間は , アクセ
ス属性が未定義属性となります。
 メモリエリアのアクセス属性
メモリエリアには , 表 2.1-1 に示したアクセス属性を指定できます。プログラム実行中にアクセス属性に
違反したアクセスが発生した場合は , ガーデッドアクセスブレークが発生します。プログラムのコマン
ドによりメモリエリアをアクセスする場合は, CODE, READ, WRITEの属性にかかわらずアクセスできま
す。ただし , 未定義エリアのメモリをアクセスした場合は , エラーが発生します。
表 2.1-1 アクセス属性の種類
属 性
意 味
CODE
命令実行許可
READ
データリード許可
WRITE
データライト許可
undefined
属性未設定 ( アクセス不可 )
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
45
第 2 章 依存機能
2.1.3
I/O ポートのシミュレーション
I/O ポートのシミュレーションについて説明します。
 I/O ポートのシミュレーション ( 入力ポート )
I/O ポートのシミュレーションには , 入力ポートのシミュレーションと出力ポートのシミュレーションが
あります。入力ポートのシミュレーションには , 以下の 2 つの方法があります。
• 指定されたポートに対してプログラムから読み出されるたびに , 指定されているデータ入力元から
データを入力する方法
• 命令実行サイクル数が指定サイクル数を超えるたびに , ポートにデータを入力する方法
入力ポートの設定は , [ 環境 ] - [ デバッグ環境の設定 ] - [I/O ポート ] メニューまたはコマンドウィンドウ
の SET INPORT コマンドで行います。
入力ポートのポートアドレスは 4096 個まで設定できます。データの入力元には , ファイル , ターミナル
があります。ファイルの最終データを読み込んだあとは , 再び先頭からデータを読み出します。ターミ
ナルを指定した場合は , 設定されたポートがリードアクセスされると入力ターミナルが表示されます。
入力元のファイルは , 一般のエディタで作成可能なテキストファイルまたは直接コードを格納したバイ
ナリファイルが使用できます。テキストファイルは , 入力データを ', ' で区切って入力してください。バ
イナリファイルを用いる場合は , 入力ポートダイアログのバイナリラジオボタンを選択してください。
 I/O ポートのシミュレーション ( 出力ポート )
出力ポートのシミュレーションには , 指定されたポートに対してプログラムからデータが書き込まれる
たびに , 指定されているデータ出力先へデータを書き込むようにする方法があります。
出力ポートの設定は , [ 環境 ] - [ デバッグ環境の設定 ] - [I/O ポート ] メニューまたはコマンドウィンドウ
の SET OUTPORT コマンドで行います。
出力ポートのポートアドレスは 4096 個まで設定できます。データの出力先には , ファイル , ターミナル
( 出力ターミナルウィンドウ ) があります。
出力先のファイルは , 一般のエディタで参照可能なテキストファイルまたは , バイナリファイルです。バ
イナリファイルを出力する場合は , 出力ポートダイアログのバイナリラジオボタンを選択してください。
<注意事項>
高速版シミュレータデバッガでは以下の方法をサポートしておりません。
• 命令実行サイクル数が指定サイクル数を超えるたびにポートにデータを入力する方法
また , I/O ポートを設定するためにはメモリマップの設定が必要です。メモリマップを削除すると I/O ポー
トの設定も削除されます。
46
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.4
割込みのシミュレーション
割込みのシミュレーションについて説明します。
 割込みのシミュレーション
割込み要求に対する MCU 動作をシミュレートします。
割込みを発生させるには , 以下の方法があります。
• プログラム実行中 (実行系コマンド実行中) に指定されたサイクル数だけ命令を実行すると, 指定した
割込み番号に対応する割込みを発生させ , 割込み発生条件を解除する方法。
• 命令実行サイクル数が指定サイクル数を超えるたびに割込みを発生させ続ける方法。
割込みの発生方法は , [ 環境 ] - [ デバッグ環境の設定 ] - [ 割込み ] メニューまたはコマンドウィンドウの
SET INTERRUPT コマンドで設定します。割込み発生条件が成立したときに割込みが割込み許可フラグ
によってマスクされていた場合は , マスク解除後にその割込みを発生させます。プログラム実行中に割
込みが発生するとステータスバーに割込み要因番号が表示されます。
また , 以下の例外処理についても割込み要求に対する MCU 動作をサポートしています。
• 未定義命令の実行
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
47
第 2 章 依存機能
2.1.5
リセットのシミュレーション
リセットのシミュレーションについて説明します。
 リセットのシミュレーション
シミュレータデバッガは , MCU へリセット信号が入ったときの動作を[デバッグ]-[MCU のリセット]
メニュー , または RESET コマンドによりシミュレートします。その際レジスタの初期化を行います。
また MCU 命令動作 (RST ビットへの書込み ) によりリセット処理を行う機能もサポートしています。
RST ビットのあるレジスタは FR/FR80 により以下のように異なります。
FR
:スタンバイ制御レジスタ
FR80 :リセット制御レジスタ
48
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.6
低消費電力モードのシミュレーション
低消費電力モードのシミュレーションについて説明します。
 低消費電力モードのシミュレーション
MCU 命令動作 ( スタンバイ・コントロール・レジスタの SLEEP ビットまたは STOP ビットへの書込み )
により低消費電力モードに入ります。スリープモードまたはストップモードに入るとメッセージ ( スリー
プモードは [sleep] , ストップモードは [stop] ) をステータスバーに表示します。割込み要求が発生するか
, [ デバッグ ] - [ 停止 ] メニューを実行するまでループします。1 回のループごとに , サイクル数を 1 カウ
ント加算します。I/O ポート処理も動作します。コマンドによるスタンバイ・コントロール・レジスタへ
の書込みはできません。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
49
第 2 章 依存機能
2.1.7
STUB 機能
ブレークポイントヒット時にコマンドを自動的に実行する , STUB 機能について説明します。
 STUB 機能とは
指定したブレークポイントにヒットしたとき , コマンドリストに登録された一連のコマンドを自動的に
実行する機能です。この機能により , 簡易的な I/O シミュレーションや外部割込みの発生 , メモリ書換え
などのスポット処理を , 本筋のプログラムの変更なしに行うことが可能です。本機能はシミュレータデ
バッガ時だけ有効です。
๮઎ታⴕ㐿ᆎ
ࡊ
ࡠ
ࠣ
ࡉ࡟࡯ࠢࡐࠗࡦ࠻ࡅ࠶࠻
࡜
ࡓ
ታ ታⴕౣ㐿
ⴕ
ࡉ࡟࡯ࠢ
567$ಣℂ
ࡉ࡟࡯ࠢࡐࠗࡦ࠻ߦ⊓㍳ߒߚ
ࠦࡑࡦ࠼࡝ࠬ࠻߇޽ࠆ߆!
01
;'5
ࡉ࡟࡯ࠢࡐࠗࡦ࠻ߦ⊓㍳ߒߚࠦࡑࡦ
࠼࡝ࠬ࠻ࠍಣℂ
ࠦࡑࡦ࠼ታⴕ
ౣታⴕߔࠆ
01$4'#-ᜰቯ!
;'5
ታⴕ஗ᱛ
01
๮઎ታⴕ⚳ੌ
 設定方法
STUB 機能は以下のコマンドにより設定可能です。
• ダイアログ
1. ブレークポイント設定ダイアログ -[コード]タブ
2. ブレークポイント設定ダイアログ -[データ]タブ
• コマンド
1. SET BREAK
2. SET DATABREAK
50
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.8
ブレーク
シミュレータデバッガでは , 5 種類のブレーク機能を使用できます。各ブレーク機能によりプログ
ラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示します。
 ブレーク機能
本シミュレータデバッガでは , 以下の 5 種類のブレーク機能をサポートしています。
• コードブレーク
• データブレーク
• トレースバッファフルブレーク
• ガーデッドアクセスブレーク
• 強制ブレーク
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
51
第 2 章 依存機能
2.1.8.1
コードブレーク
プログラム実行中に指定したコードアクセスが行われた場合 , シミュレータデバッガがプログラム
実行を中断する機能です。
 コードブレークの流れ
プログラムがブレークポイント ( メモリ位置の命令を実行する直前 ) に到達すると , シミュレータデバッ
ガは以下の処理を行います。
(1) プログラムの実行を中断します ( 命令実行前 ) 。
(2) 到達回数をチェックし , 指定したブレークポイントの到達回数に達していない場合には , プログラム
実行を再開します。到達回数に達していた場合は , (3) に移ります。
(3) 実行が中断されたメモリ位置をステータスバーに表示します。
ブレークポイントは以下のとおり設定できます。
• 通常版シミュレータデバッガの場合:65535 ポイント
• 高速版シミュレータデバッガの場合:67 ポイント
コードブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by breakpoint
 設定方法
コードブレークの制御は以下の方法で行います。
• ダイアログ
- ブレークポイント設定ダイアログ 「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ / 逆アセンブルウィンドウ
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセン
ブルウィンドウ」を参照してください。
• コマンド
- SET BREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を
参照してください。
<注意事項>
高速版シミュレータデバッガでは , ブレークポイントを設定するためにメモリマップの設定が必要です。メ
モリマップを削除すると , ブレークポイントの設定も削除されます。
52
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.8.2
データブレーク
プログラム実行中に指定したデータアクセス ( リード , ライト ) が行われた場合 , シミュレータデ
バッガがプログラム実行を中断する機能です。
 データブレークの流れ
プログラムがブレークポイントに対し書込みまたは読出しを行った場合 , シミュレータデバッガは以下
の処理を行います。
(1) 命令の実行を完了したあとで , プログラムの実行を中断します。
(2) アクセス回数をチェックし, 指定したデータブレークのアクセス回数に達していない場合にはプログ
ラム実行を再開し , アクセス回数に達している場合には (3) に移ります。
(3) アクセス回数に達してプログラム実行が中断された場合は, データブレークポイントのメモリ位置と
, そのメモリ位置に対して書込み ( または読出し ) を行った命令のメモリ位置を , ステータスバーに表
示します。
(4) 次に実行するメモリ位置を表示します。
ブレークポイントは最大 65535 ポイントまで設定可能です。
データブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by databreak at アクセスアドレス
 設定方法
データブレークの制御は以下の方法で行います。
• コマンド
- SET DATABREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.8 SET DATABREAK (type
1)」を参照してください。
• ダイアログ
- ブレークポイント設定ダイアログ 「データ」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
<注意事項>
• C/C++ 言語の関数内の自動変数を指定した場合は , その変数が確保されているアドレスがデータブレー
クに設定されます。
- 指定した自動変数が無効になっても ( 関数を抜けても ) データブレーク指定は有効のままになるため , 思
わぬアクセスでブレークすることがありますのでご注意ください。
• C/C++ 言語の変数へのアクセスでブレークさせる場合 , 変数シンボルの前に & を指定することによって
, 変数アドレスを指定する必要があります。
• 高速版シミュレータデバッガでは , ブレークポイントを設定するためにメモリマップの設定が必要です。
メモリマップを削除すると , ブレークポイントの設定も削除されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
53
第 2 章 依存機能
2.1.8.3
トレースバッファフルブレーク
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
 トレースバッファフルブレークとは
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
トレースバッファフルブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されま
す。
Break at アドレス by trace buffer full
 設定方法
トレースバッファフルブレークの制御は以下の方法で行います。
• コマンド
- SET TRACE/BREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」を
参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
54
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.8.4
ガーデッドアクセスブレーク
アクセス属性に違反してアクセスが行われた場合 , およびガーデッド ( 未定義エリアのアクセス不
可 ) 領域をアクセスした場合にプログラム実行を中断する機能です。
 ガーデッドアクセスブレークとは
アクセス属性に違反してアクセスが行われた場合 , およびガーデッド ( 未定義エリアのアクセス不可 ) 領
域をアクセスした場合にプログラム実行を中断する機能です。
ガーデッドアクセスブレークは以下の場合に機能します。
• コードガーデッド
コード属性を持たない領域に対して命令実行を行った場合
• リードガーデッド
リード属性を持たない領域に対して読出しを行った場合
• ライトガーデッド
ライト属性を持たない領域に対して書込みを行った場合
ガーデッドアクセスでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by guarded access {code/read/write} at アクセスアドレス
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
55
第 2 章 依存機能
2.1.8.5
強制ブレーク
プログラムの実行を強制的に中断する機能です。
 強制ブレークとは
プログラムの実行を強制的に中断する機能です。
強制ブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by command abort request
 発生方法
強制ブレークは以下の方法で発生します。
• メニュー
[デバッグ]-[停止]メニュー
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。
• コマンド
- ABORT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参照してく
ださい。
<注意事項>
MCU が低消費電力モード中およびホールド状態での強制ブレークはできません。プログラム実行中 , [ デ
バッグ ] - [ 停止 ] メニューによって強制ブレークを要求した場合 , 低消費電力モード , ホールド状態であれ
ば [ デバッグ ] - [ 停止 ] メニューは無視されます。どうしてもブレークさせたい場合は , [ デバッグ ] - [ 停止 ]
メニュー入力後 , ユーザシステム側で要因を解除するか , [ デバッグ ] - [MCU のリセット ] メニューを用い
て要因を解除してください。実行中に低消費電力モード , ホールド状態になった場合は , ステータスバーに
状態が表示されます。
56
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.9
実行サイクル数測定
プログラムの実行サイクル数を測定する機能です。
 測定項目
プログラムの実行サイクル数 , ステップ数を測定します。
1. 実行サイクル数
プログラミングマニュアルに記述されている各命令の基本サイクル数を計算したものです。
通常版シミュレータデバッガおよび高速版シミュレータデバッガでは , チップ内部のパイプライン処
理やキャッシュ動作をシミュレートしていませんので , 実際のチップとは大きな誤差が出ることがあ
ります。プログラミングマニュアルの命令一覧表に記載されている補正値 a, b はそれぞれ 1 として計
算しています。
測定可能な最大値は通常版シミュレータデバッガと高速版シミュレータデバッガでそれぞれ以下の
ように異なります。
通常版の場合 : 最大 (2 の 32 乗 -1) すなわち , 4,294,967,295 サイクル
高速版の場合 : 最大 (2 の 64 乗 -1) すなわち , 18,446,744,073,709,551,615 サイクル
2. 実行ステップ数
プログラム実行時のステップ数を測定します。
通常版シミュレータデバッガまたは高速版シミュレータデバッガいずれの場合も最大 (2 の 32 乗 -1)
すなわち , 4,294,967,295 ステップまで測定可能です。
測定はプログラム実行のたびに行われ , 測定結果は以下の値を表示します。
• 直前のプログラム実行におけるサイクル数
• 前回クリアしてからの実行サイクル数の合計
 測定結果の表示
測定結果の表示は以下のどちらかで行います。
1. ダイアログによる表示
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログに表示します。
2. コマンドによる表示
コマンドウィンドウにて SHOW TIMER コマンドを入力します。
 測定結果のクリア
測定結果のクリアは以下のどちらかで行います。
1. ダイアログによる操作
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログにて[クリア]ボタ
ンを押します。
2. コマンドによるクリア
コマンドウィンドウにて CLEAR TIMER コマンドを入力します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
57
第 2 章 依存機能
2.1.10
トレース
プログラム実行中にアドレス , ステータス情報をサンプリングし , トレースバッファに記録できま
す。この機能をトレースとよびます。
 トレース
トレースにより記録したデータからプログラム実行履歴を詳細に解析できます。
トレースバッファはリング状の構造となっているので , トレースバッファがいっぱいになった場合は自
動的にトレースバッファの先頭から上書きされて記録されます。
• トレースのサンプリング
• トレースの設定方法
• トレースデータの表示
• トレースデータの表示形式
• トレースデータの検索
• トレースデータのセーブ
• トレースデータのクリア
 トレースデータ
シミュレータデバッガでは , トレースデータは 1000 フレーム分のサンプリングができます。トレース
データは , 実行した命令のアドレスをサンプリングします。
58
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.10.1
トレースのサンプリング
プログラムの実行開始から実行停止までの間 , プログラムの実行状態をトレース測定します。
 トレースのサンプリング
トレース機能が有効になっていれば実行系コマンド実行中はいつもデータがサンプリングされ , トレー
スバッファに記録されます。
ブレークポイントなどのブレーク要因によりプログラムの実行が中断され , トレースが終了となります。
また , トレースバッファがいっぱいになった場合にプログラムをブレークさせることができます。この
ブレークをトレースバッファフルブレークといいます。
 フレーム番号
サンプリングされたトレースデータにはフレームごとに番号が付けられます。この番号をフレーム番号
とよびます。
トレースバッファ中のどの位置から表示するかの指定は , フレーム番号により行います。
最後にサンプリングされたトレースデータには 0 番が , トリガ発生位置に到達するまでにサンプリング
されたトレースデータには負の番号が付けられます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
59
第 2 章 依存機能
2.1.10.2
トレースの設定方法
トレースを行うには , 以下の (1), (2) の設定をします。その後 , プログラムの実行を行うとトレース
データがサンプリングされます。コマンドウィンドウからも設定可能です。
 トレースの設定方法
(1) トレース機能を有効にします。
- 設定は , トレースウィンドウのショートカットメニュー [ 設定 ] - [ トレース ] で行います。本プロ
グラム起動時は , 有効になっています。
(2) トレースバッファフルブレークの設定を行います。
- トレースバッファがいっぱいになった場合に , ブレークさせることができます。
- 設定は , トレースウィンドウのショートカットメニュー [ 設定 ] - [ トレース ] の設定ダイアログで
行います。本プログラム起動時は , ブレークしない設定になっています。
60
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.10.3
トレースデータの表示
トレースバッファに記録されたデータを表示します。
 トレースデータの表示
トレースバッファ中にどれだけトレースデータが格納されているかは , トレースウィンドウに表示され
ます。また , コマンドウィンドウから SHOW TRACE コマンドを使うこともできます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
61
第 2 章 依存機能
2.1.10.4
トレースデータの表示形式
トレースバッファ内にあるデータの表示形式には , 2 種類があります。
 トレースデータの表示形式
• 命令実行だけ表示
:インストラクションを指定
• ソース行単位で表示:ソースを指定
 命令実行だけ表示
このモードでは , 命令実行を逆アセンブル単位で表示します。
 ソース行単位で表示
ソース行だけを表示します。
62
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.10.5
トレースデータの検索
トレースバッファのどこに見たいデータが格納されているのかを検索できます。
 トレースデータの検索
検索には , アドレス情報を指定でき , トレースウィンドウの検索ボタンをクリックすることでこの機能が
使用できます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
63
第 2 章 依存機能
2.1.10.6
トレースデータのセーブ
トレースデータをファイルに保存できます。
 トレースデータの保存
トレースデータを指定したファイルに保存します。
操作方法は ,『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」,「4.4.8 トレース」
, または『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.9 SHOW TRACE」を参照して
ください。
64
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.10.7
トレースデータのクリア
トレースデータは以下のようにクリアしてください。
 トレースデータのクリア
トレースデータをクリアするときは , トレースウィンドウのショートカットメニュー [ クリア ] を実行
します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
65
第 2 章 依存機能
2.1.11
カバレッジ測定
高速版シミュレータデバッガには , C0 カバレッジ測定機能があります。この機能を利用すると , プ
ログラム全体の何%が実行されたかを知ることができます。
 カバレッジ測定機能
プログラムをテストする場合は , いろいろなテストデータを与えて実行し , 結果が正しいことを確認しま
す。テストがひととおり終わると , そのプログラムは全体がくまなく実行されます。もし , プログラムの
一部分が実行されなかったとしたら , テスト項目が不充分だった可能性があります。
高速版シミュレータデバッガが持っているカバレッジ機能を利用すると , プログラム全体の何%が実行
されたのかを知ることができます。
また , 単に比率だけでなく , 具体的にどの番地がアクセスされなかったのかも詳細に確認できます。
本デバッガでは , カバレッジ測定を行う範囲を設定できます。
C0 カバレッジを行う場合は , コード領域にだけ測定範囲を設定してください。
また , データ領域に測定範囲を設定することにより , 使用されていない変数を探し出すなど , 変数のアク
セス状態を確認できます。
 カバレッジ測定手順
カバレッジ測定の手順は以下のようになります。
• カバレッジ測定範囲の設定 … SET COVERAGE
• カバレッジの測定
… GO, STEP, CALL
• 測定結果の表示
… SHOW COVERAGE
 カバレッジ測定操作
カバレッジ測定の際には , 以下の操作ができます。
• カバレッジデータのロード / セーブ … LOAD/COVERAGE, SAVE/COVERAGE
66
• カバレッジデータのクリア
… CLEAR COVERAGE
• カバレッジ測定範囲の解除
… CANCEL COVERAGE
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.1.11.1
カバレッジ測定手順
カバレッジ測定の手順は以下のようになります。
• カバレッジ測定範囲の設定… SET COVERAGE
• カバレッジの測定
… GO, STEP, CALL
• 測定結果の表示
… SHOW COVERAGE
 カバレッジ測定範囲の設定
SET COVERAGE コマンドで測定範囲を設定します。設定数は最大 32 領域までです。
コマンド修飾子に /AUTOMATIC を指定するとロードされているモジュールのコード領域が自動的に設
定されます。ただし , C/C++ コンパイラのライブラリをリンクしている場合は , ライブラリのコード領域
は設定されません。
(例)
>SET COVERAGE FF000000..FFFFFFFF
 カバレッジの測定
カバレッジ測定の準備ができたら , プログラムを実行させます。
GO, STEP, CALL コマンドによりプログラムを実行すると測定されます。
 カバレッジの測定結果の表示
SHOW COVERAGE コマンドで測定データの表示を行います。以下の表示ができます。
• 全測定領域のカバレッジ率の表示
• ロードモジュールのカバレッジ率の表示
• 16 アドレスをひとかたまりとした概要表示
• 1 アドレスごとのアクセス状態を表示する詳細表示
• ソース行単位のカバレッジ測定結果表示
• 機械命令単位のカバレッジ測定結果表示
- 全測定領域のカバレッジ率の表示 ( コマンド修飾子に /TOTAL を指定 )
>SHOW COVERAGE/TOTAL
total coverage : 82.3%
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
67
第 2 章 依存機能
- ロードモジュールのカバレッジ率の表示 ( コマンド修飾子に /MODULE を指定 )
5*19%18'4#)'/1&7.'
UCORNGCDU㨯㨯㨯㨯㨯㨯㨯࡮㨯࡮㨯㨯㨯㨯
UVCTVWRCUO㨯㨯㨯㨯㨯࡮㨯࡮㨯㨯㨯㨯
UCORNGE㨯㨯㨯㨯㨯㨯࡮㨯࡮㨯㨯㨯㨯࡮
UCORE㨯㨯㨯㨯㨯㨯࡮㨯࡮㨯㨯㨯㨯࡮࡮
ࡠ࡯࠼ࡕࠫࡘ࡯࡞ߣฦࡕࠫࡘ࡯࡞ߩࠞࡃ࡟࠶ࠫ₸ࠍ⴫␜ߒ߹ߔ
- 概要表示 ( コマンド修飾子に /GENERAL を指定 )
5*19%1$'4#)')'0'4#.
*'::
:
:
CFFTGUU #$%&'(#$%&'(
(( '
#$%&'(%
ࠕ࠼࡟ࠬߏߣߩࠕࠢ࠮ࠬ⁁ᴫࠍ⴫␜ߒ߹ߔ‫ޕ‬
㨪(
ࠕࠢ࠮ࠬߥߒ
㧦୘ߩࠕ࠼࡟ࠬౝߩࠕࠢ࠮ࠬߐࠇߚᢙࠍㅴᢙߢ⴫␜
㧦୘ߩࠕ࠼࡟ࠬࠍߔߴߡࠕࠢ࠮ࠬ
- 詳細表示 ( コマンド修飾子に /DETAIL を指定 )
68
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
- ソース行単位で表示 ( コマンド修飾子に /SOURCE を指定 )
- 機械命令単位で表示 ( コマンド修飾子に /INSTRUCTION を指定 )
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
69
第 2 章 依存機能
2.1.12
デバッガの状態を確認するには
シミュレータデバッガにおけるデバッガの情報を確認する方法について説明します。
 デバッガの情報
本シミュレータデバッガでは , デバッガ起動時に以下の情報を確認できます。
• SOFTUNE Workbench のファイル情報
• ハードウェアに関する情報
SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門またはサポート部門ま
でお問合せください。
 確認方法
デバッガの情報の確認は以下の方法で行います。
 コマンド
- SHOW SYSTEM
詳細は『SOFTUNE Workbench コマンドリファレンス』の「1.12 SHOW SYSTEM」を参照してください。
 ダイアログ
- バージョン情報ダイアログ
[ ヘルプ ] - [ バージョン情報 ] メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照してください。
 表示内容
FR Family SOFTUNE Workbench VxxLxx
Copyright (c) 1997-2016 Cypress or its subsidiaries
=======================================================
Cpu information file path:CPU 情報ファイルのパス
Cpu information file version:CPU 情報ファイルのバージョン
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name : SOFTUNE Workbench
File Path:SiC911.dll のパス
Version:SiC911.dll のバージョン
---------------------------SiiEd
File Path:SiiEd3.ocx のパス
Version:SiiEd3.ocx のバージョン
70
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
------------------------------------------------------SiM911
Product name : SOFTUNE Workbench
File Path:SiM911.dll のパス
Version:SiM911.dll のバージョン
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler のバージョン
File Path:fcc911s.exe のパス
- FR Family SOFTUNE Assembler のバージョン
File Path:fasm911s.exe のパス
- FR Family SOFTUNE Linker のバージョン
File Path:flnk911s.exe のパス
- FR Family SOFTUNE Librarian のバージョン
File Path:flib911s.exe のパス
- SOFTUNE FJ-OMF to S-FORMAT Converter のバージョン
File Path:f2ms.exe のパス
- SOFTUNE FJ-OMF to INTEL-HEX Converter のバージョン
File Path:f2is.exe のパス
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter のバージョン
File Path:f2es.exe のパス
- SOFTUNE FJ-OMF to HEX Converter のバージョン
File Path:f2hs.exe のパス
------------------------------------------------------SiOsM
Product name : Softune Workbench
File Path:SiOsM911.dll のパス
Version:SiOsM911.dll のバージョン
------------------------------------------------------FR Series Debugger DLL
Product name : SOFTUNE Workbench
File Path:SiD911.dll のパス
Version:SiD911.dll のバージョン
----------------------------
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
71
第 2 章 依存機能
Debugger type : 現在のデバッガ種別
MCU type : 現在選択しているターゲット MCU
VCpu dll name : 現在使用している VCpu dll のパスと名前
VCpu dll version : 使用中の仮想デバッガ部 DLL のバージョン
REALOS version : REALOS のバージョン
------------------------------------------------------SiIODef
Product name : Softune Workbench
File Path : SiIODef.dll のパス
Version : SiIODef.dll のバージョン
=======================================================
Current path:現在使用しているプロジェクトのパス
Language:現在使用している言語
Help file path:ヘルプファイルのパス
72
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2
エミュレータデバッガ (MB2197)
エミュレータデバッガ (MB2197) の機能について説明します。
 エミュレータデバッガ
セットアップウィザードでエミュレータデバッガを選択すると , 以下の 2 種類のエミュレータを指定で
きます。
MB2197
MB2198
以降 MB2197 を選択した場合について説明します。エミュレータデバッガ (MB2197) は , ホストコン
ピュータから通信回線 (RS-232C, LAN) を介してエミュレータを制御してプログラムの評価を行うソフ
トウェアです。
デバッグ対象となる品種は , 以下の DSU ( デバッグサポートユニット ) を持つ必要があります。
• DSU1
• DSU2
• DSU3
ご使用になる前に , エミュレータの初期化が必要です。詳細は ,『SOFTUNE Workbench 操作マニュアル』
の「付録 B モニタプログラムのダウンロード」, 「付録 C LAN インタフェースの設定」を参照してくだ
さい。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
73
第 2 章 依存機能
2.2.1
動作環境の設定
動作環境の設定について説明します。
 動作環境の設定
エミュレータデバッガ (MB2197) では , 動作環境に合わせて以下の項目を設定する必要があります。それ
ぞれの設定項目には起動時のデフォルト値があるため , デフォルト値をそのまま使用する場合は設定を
変更する必要はありません。また一度指定した設定値を次回からのデフォルトにすることもできます。
• MCU 動作モード
• DRAM リフレッシュ制御
• キャッシュフラッシュ制御
• 動作周波数
74
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.1.1
MCU 動作モード
MCU の動作モードには , 以下の 4 種類があります。内部トレースモードは DSU3 チップだけ , 外部
トレースモードは DSU3 チップの対応する品種だけ有効です。フルトレースモードとリアルタイム
モードは , DSU3 チップでは使用できません。
• フルトレースモード
• リアルタイムモード
• 内部トレースモード
• 外部トレースモード
 MCU 動作モードの設定
MCU の動作モードを設定します。動作モードには , フルトレースモード , リアルタイムモード , 内部ト
レースモードおよび外部トレースモードがあります。これらのモードは , [ 環境 ] - [ デバッグ環境の設定 ] [ デバッグ環境 ] メニューまたはコマンドウィンドウの SET RUNMODE コマンドにより設定します。
 フルトレースモード
フルトレースモードでは , トレースデータは欠落することなく , すべての命令実行をトレースできます。
ただし, 11サイクル以内に3回以上の分岐が行われた場合にトレースデータの取得を優先して行い, MCU
へウェイトを入れるため , 実時間で動作しない場合があります。DSU3 チップでは指定できません。
 リアルタイムモード
リアルタイムモードでは , プログラムの実時間での実行が可能です。ただし , 11 サイクル以内に 3 回以
上の分岐が行われた場合にトレースデータの一部が欠落することがあります。DSU3 チップでは指定で
きません。
 内部トレースモード
チップに内蔵されたトレース専用メモリに , トレース情報を格納します。実時間でプログラムを実行で
きますが , DSU3 チップでだけ指定が可能です。
 外部トレースモード
アダプタボード上に装着されたトレース専用メモリに , トレース情報を格納します。実時間でプログラ
ムを実行します。アダプタボードの仕様により使用できない場合があります。ご使用のアダプタボード
の仕様を確認してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
75
第 2 章 依存機能
2.2.1.2
DRAM リフレッシュ制御
DRAM リフレッシュの設定について説明します。
 DRAM リフレッシュ制御
DSU チップには , ブレーク時 ( エミュレーションモード時 ) に自動的に動作周波数が分周されるものがあ
ります。このとき , ユーザターゲットで内蔵の DRAM リフレッシュを用いている場合には , レジスタ
RFCR を再設定する必要があります。
デバッグ環境設定ダイアログの [RFCR] タブで実行時 ( ユーザモード時 ) とブレーク時 ( エミュレーショ
ン時 ) の RFCR レジスタの内容を設定します。モードの切り換え時にここで設定した値を RFCR レジス
タに設定します。
<注意事項>
ブレーク時 ( エミュレーションモード時 ) に自動的に動作周波数が分周されないチップ使用時やユーザター
ゲットで内蔵の DRAM リフレッシュを用いていない場合に , この機能を使用していると RFCR レジスタ書
込み動作により , デバッガ動作が多少遅くなります。
76
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.1.3
キャッシュフラッシュ制御
キャッシュフラッシュの設定について説明します。
 キャッシュフラッシュ制御
キャッシュが内蔵されたチップでは , コマンドによるメモリの書換えや , ソフトウェアブレークポイン
トの設定がキャッシュに反映されません。これらが実行された場合 , キャッシュのフラッシュを行う必
要があります。エミュレータデバッガ (MB2197) では , メモリ書換えやソフトウェアブレークの設定な
どを監視して , 自動的にキャッシュをフラッシュする機能があります。
この機能は , デバッグ環境設定ダイアログの [ エミュレーション ] タブで制御できます。
<注意事項>
キャッシュの自動フラッシュを有効にしておくと , プログラムの実行速度に影響がでることがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
77
第 2 章 依存機能
2.2.1.4
動作周波数
動作周波数の設定について説明します。
 動作周波数
MCU の動作周波数を設定します。DSU3 の場合だけ有効です。1 ~ 200MHz の範囲から設定してくださ
い。この設定により MCU とエミュレータの通信速度を最適にします。
この機能は , デバッグ環境設定ダイアログの [ 動作周波数 ] タブで制御できます。
<注意事項>
• この設定は最大周波数を設定するものであり , 実際の動作周波数は変更されません。
• 実際の動作周波数がこの設定以上で動作した場合 , エミュレータとの通信が正しく行われなくなります。
78
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.2
プログラム実行での注意
プログラム実行コマンドには , いくつかの注意事項があります。
 プログラム実行のリアルタイム性
MCU 動作モードがフルトレースモードの場合 , リアルタイム実行できないことがあります。
なお , MCU 動作モードは , デバッグ環境設定ダイアログの [ エミュレーション ] タブまたはコマンドウィ
ンドウの SET RUNMODE で設定します。
 遅延分岐命令を実行する場合の注意
遅延分岐命令を以下のどちらかで実行すると , 遅延スロットに置かれた命令 ( 遅延分岐命令の直後の命
令 ) を実行し , 遅延分岐命令を実行した直後にブレークします。
• [ デバッグ ] - [ 実行 ] - [ ステップイン ] メニュー
• [ デバッグ ] - [ 実行 ] - [ ステップオーバ ] メニュー
 ソフトウェアブレークで停止時の制限事項
現在のプログラムカウンタ (PC レジスタ ) の位置にソフトウェアブレークが存在する場合に [ デバッグ ] [ 実行 ] - [ 連続実行 ] メニューまたは GO コマンドを行うと , エミュレータデバッガ (MB2197) は内部で
ステップ実行を一度行ってから連続実行を行います。
また , フラグ T をクリアする命令にソフトウェアブレークを設定した場合で , その番地から [ デバッグ ] [ 実行 ] - [ 連続実行 ] メニューまたは GO コマンドを行うと , すべてのソフトウェアブレークは無視され
ます。また , このとき , 割込みもマスクされます。
 TBR レジスタの値
TBR レジスタに , ベクタテーブルが I/O 領域に重なるような値を指定すると , プログラムが暴走しますの
でご注意ください。
 フラグ T をクリアする命令を実行する場合の注意
フラグ T をクリアする命令を以下のどちらかで実行した場合 , 連続実行になります。このとき , すべての
ソフトウェアブレークは無視されます。
• [ デバッグ ] - [ 実行 ] - [ ステップイン ] メニュー
• [ デバッグ ] - [ 実行 ] - [ ステップオーバ ] メニュー
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
79
第 2 章 依存機能
2.2.3
ユーザプログラム実行中に使用できるコマンド
ユーザプログラム実行中に使用できるコマンドについて説明します。
 ユーザプログラム実行中に使用できるコマンド
エミュレータデバッガ (MB2197) では , ユーザプログラム実行中に特定のコマンドが使用できます。
詳細は , 『SOFTUNE Workbench コマンドリファレンスマニュアル』の各コマンドの「■ 対応デバッガ」
を参照してください。
◎はユーザプログラム実行中に使用できることを表しています。
表 2.2-1 にユーザプログラム実行中に使用できるコマンドを示します。
表 2.2-1 ユーザプログラム実行中に使用できるコマンド
機能
限定事項
主コマンド
-
1.3 RESET
メモリ操作 ( リード / ライト )
-
5.1
5.2
5.3
5.4
5.5
5.8
5.9
5.10
5.11
ラインアセンブル , 逆アセンブル
-
6.1 ASSEMBLE
6.2 DISASSEMBLE
MCU のリセット
EXAMINE
ENTER
SET MEMORY
SHOW MEMORY
SEARCH MEMORY
COMPARE
FILL
MOVE
DUMP
<注意事項>
• 表 2.2-1 のコマンドが使用できる条件は , 以下のいずれかによりユーザプログラムを実行した場合に限
ります。
- [ デバッグ ]-[ 実行 ]-[ 連続実行 ] メニュー
- デバッグツールバーの [ 連続実行 ] ボタン
コマンドウィンドウにて GO コマンドを入力した場合は , 表 2.2-1 のコマンドは使用できません。
• ユーザプログラム実行中に使用できないコマンドを入力すると , 以下のエラーメッセージが表示されま
す。
「E4404S: MCU 実行中は使えないコマンドです」
80
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.4
ブレーク
エミュレータデバッガ (MB2197) では , 7 種類のブレーク機能を使用できます。各ブレーク機能に
よりプログラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示します。
 ブレーク機能
エミュレータデバッガ (MB2197) では , 以下の 7 種類のブレーク機能をサポートしています。
• コードブレーク
• コードイベントブレーク
• データイベントブレーク
• トレースバッファフルブレーク
• アライメントエラーブレーク
• 外部トリガブレーク
• 強制ブレーク
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
81
第 2 章 依存機能
2.2.4.1
コードブレーク
指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラム実行を中断する
機能です。指定されたアドレスの命令を実行する前にブレークします。
 コードブレークとは
指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラム実行を中断する機能
です。指定されたアドレスの命令を実行する前にブレークします。コードブレークにはハードウェアと
ソフトウェアの 2 種類があります。
設定可能数はハードウェアが 5 ポイント , ソフトウェアが 4096 ポイントです。
コードブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• ハードウェア
Break at アドレス by hardware breakpoint
• ソフトウェア
Break at アドレス by breakpoint
 設定方法
コードブレークの制御は以下の方法で行います。
• コマンド
- SET BREAK/HARD ( ハードウェア )
- SET BREAK/SOFT ( ソフトウェア )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を
参照してください。
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ / 逆アセンブルウィンドウ
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセン
ブルウィンドウ」を参照してください。
82
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• ハードウェア
ハードウェアブレークには以下の注意点があります。
- 遅延スロットに置かれている命令には , ハードウェアブレークを設定しないでください。設定すると ,
ブレーク後に再実行しても分岐しません。
- ブレークポイントは必ず命令の先頭アドレスを指定範囲に含めるように注意してください。先頭以外
のアドレスを指定すると , ブレークしないことがあります。
- ハードウェアブレークを設定したアドレスから実行するとき , 直前の実行が命令ブレーク以外の要因
で停止した場合には , 命令が実行されずにブレークします。このとき , 再度実行すると , 命令が実行さ
れます。
• ソフトウェア
ソフトウェアブレークには以下の注意点があります。
- ROM のような書込みが正しく行えない領域には設定できません。この場合は , プログラム実行開始時
( 連続実行やステップ実行などを開始するとき ) にベリファイエラーが発生します。
- 必ず命令の先頭アドレスに設定してください。命令の途中にブレークポイントを設定すると , プログ
ラムが暴走することがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
83
第 2 章 依存機能
2.2.4.2
コードイベントブレーク
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , パスカ
ウントのほか , シーケンシャル指定も可能です。
 コードイベントブレークとは
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , パスカウン
トが設定可能です。設定可能数は 2 ポイントで , 2 種類のモードにて使用可能です。
• OR モード ( どちらかがヒットしたらブレーク )
• シーケンシャルモード ( コードイベント 1 → 2 の順にヒットした場合にブレーク )
コードイベントブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• OR モード
Break at アドレス by code event break (No. コードイベント番号 )
• シーケンシャルモード
Break at アドレス by code event break (sequential)
 設定方法
コードイベントブレークの制御は以下の方法で行います。
• コマンド
- SET CODEEVENT
- SET SEQUENCE/ON* (*: シーケンシャルモードだけ )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.19 SET CODEEVENT」を
参照してください。
• ダイアログ
- イベント設定ダイアログ 「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.5 イベント」を参照してください。
84
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
DSU3 チップでは , コードイベントをブレーク要因のほかに , トレース測定の開始要因として使用できます。
このモードをトレースサンプリングモードといい , 以下の 2 種類があります。
a. フルモード:コードイベントをブレーク要因に使用します。
b. トリガモード:コードイベントをトレース測定の開始要因に使用します。
コードイベントをブレーク要因として使用するにはフルモードに設定してください。設定方法は以下のとお
りです。
• コマンド
- SET TRACE/FULL
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」を
参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
85
第 2 章 依存機能
2.2.4.3
データイベントブレーク
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , データ
サイズ , アクセス種別のほか , シーケンシャル指定も可能です。
 データイベントブレークとは
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , データサイ
ズ ( バイト / ハーフワード / ワード ) , アクセス属性 ( リード / ライト ) が設定可能です。設定可能数は 2
ポイントで , 2 種類のモードにて使用可能です。
• OR モード ( どちらかがヒットしたらブレーク )
• シーケンシャルモード ( データイベント 1 → 2 の順にヒットした場合にブレーク )
データイベントブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• OR モード
Break at アドレス by data event break (No. データイベント番号 )
• シーケンシャルモード
Break at アドレス by data event break (sequential)
 設定方法
データイベントブレークの制御は以下の方法で行います。
• コマンド
- SET DATAEVENT
- SET SEQUENCE/ON* (*: シーケンシャルモードだけ )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.24 SET DATAEVENT」を
参照してください。
• ダイアログ
- イベント設定ダイアログ 「データ」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.5 イベント」を参照してください。
86
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
DSU3 チップでは , データイベントをブレーク要因のほかに , トレース測定の開始要因として使用できます。
このモードをトレースサンプリングモードといい , 以下の 2 種類があります。
a. フルモード:データイベントをブレーク要因に使用します。
b. トリガモード:データイベント 1 をトレース測定の開始要因に使用します。
データイベントをブレーク要因として使用するにはフルモードに設定してください。設定方法は以下のとお
りです。
• コマンド
- SET TRACE/FULL
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」を
参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
87
第 2 章 依存機能
2.2.4.4
トレースバッファフルブレーク
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
 トレースバッファフルブレークとは
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
トレースバッファフルブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されま
す。
Break at アドレス by trace buffer full
 設定方法
トレースバッファフルブレークの制御は以下の方法で行います。
• コマンド
- SET TRACE/BREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」を
参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
88
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.4.5
アライメントエラーブレーク
奇数番地への命令アクセス , バウンダリ境界を越えたワード / ハーフワードアクセスが発生した場
合に , プログラムの実行を中断させる機能です。
 アライメントエラーブレークとは
奇数番地への命令アクセス , バウンダリ境界を越えたワード / ハーフワードアクセスが発生した場合 , プ
ログラムの実行を中断させる機能です。アライメントエラーブレークの有効 / 無効の指定は命令アクセ
スとデータアクセスのそれぞれに対して設定可能です。
アライメントエラーブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されま
す。
• 命令アクセス時
Break at アドレス by alignment error break (code)
• データアクセス時
Break at アドレス by alignment error break (data)
 設定方法
アライメントエラーブレークの制御は以下の方法で行います。
• コマンド
- ENABLE ALIGNMENTBREAK
- DISABLE ALIGNMENTBREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.37 ENABLE
ALIGNMENTBREAK」を参照してください。
• ダイアログ
- デバッグ環境設定ダイアログ エミュレーションタブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
89
第 2 章 依存機能
2.2.4.6
外部トリガブレーク
エミュレータが持っている TRIG 端子から外部信号の入力があった場合に , プログラムの実行を中
断させる機能です。
 外部トリガブレークとは
エミュレータが持っている TRIG 端子から外部信号の入力があった場合に , プログラムの実行を中断させ
る機能です。
外部トリガブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by external trigger break
 設定方法
外部トリガブレークの制御は以下の方法で行います。
• コマンド
- SET TRIGGER
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.35 SET TRIGGER」を参照
してください。
• ダイアログ
- デバッグ環境設定ダイアログ エミュレーションタブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
90
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.4.7
強制ブレーク
プログラムの実行を強制的に中断する機能です。
 強制ブレークとは
プログラムの実行を強制的に中断する機能です。
強制ブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by command abort request
 発生方法
強制ブレークは以下の方法で発生します。
• メニュー
[デバッグ]-[停止]メニュー
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。
• コマンド
- ABORT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参照してく
ださい。
<注意事項>
MCU が低消費電力モード中およびホールド状態での強制ブレークはできません。プログラム実行中 , [ デ
バッグ ] - [ 停止 ] メニューによって強制ブレークを要求した場合 , 低消費電力モード , ホールド状態であれ
ば [ デバッグ ] - [ 停止 ] メニューは無視されます。どうしてもブレークさせたい場合は , [ デバッグ ] - [ 停止 ]
メニュー入力後 , ユーザシステム側で要因を解除するか , [ デバッグ ] - [MCU のリセット ] メニューを用い
て要因を解除してください。実行中に低消費電力モード , ホールド状態になった場合は , ステータスバーに
状態が表示されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
91
第 2 章 依存機能
2.2.5
実行サイクル数測定
プログラムの実行サイクル数を測定する機能です。
 測定項目
プログラムの実行サイクル数を測定します。
最大 (2 の 48 乗 -1) すなわち , 281,474,976,710,655 サイクルまで測定可能です。
測定はプログラム実行のたびに行われ , 測定結果は以下の値を表示します。
• 直前のプログラム実行におけるサイクル数
• 前回クリアしてからの実行サイクル数の合計
 測定結果の表示
測定結果の表示は以下のどちらかで行います。
1. ダイアログによる表示
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログに表示します。
2. コマンドによる表示
コマンドウィンドウにて SHOW TIMER コマンドを入力します。
 測定結果のクリア
測定結果のクリアは以下のどちらかで行います。
1. ダイアログによる操作
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログにて[クリア]ボタ
ンを押します。
2. コマンドによるクリア
コマンドウィンドウにて CLEAR TIMER コマンドを入力します。
 誤差
実行サイクル数には -17 ~ +1 クロック程度の誤差を含みます。リアルタイムモードまたはフルトレース
モード時には , さらに (※1) クロック程度の誤差を含みます。時間測定を行う場合には内部トレースモー
ドまたは外部トレースモードをご使用ください。
※1: オートウェイト 1 の場合
+1250
オートウェイト 3 の場合
+2500
オートウェイト 7 の場合
+5000
オートウェイト 15 の場合 +10000
<注意事項>
実行サイクル数は 1 回の実行につき数十サイクル分多く計測されます。実行サイクルを計測する場合には ,
誤差の影響を少なくするために多くの命令を連続実行するようにしてください。
92
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.6
トレース
プログラム実行中にアドレス , ステータス情報をサンプリングし , トレースバッファに記録できま
す。この機能をトレースとよびます。
 トレース
トレースにより記録したデータからプログラム実行履歴を詳細に解析できます。
トレースバッファはリング状の構造となっているので , トレースバッファがいっぱいになった場合は自
動的にトレースバッファの先頭から上書きされて記録されます。
• トレースデータ
• トレースのサンプリング
• トレースの設定方法
• トレースデータの表示
• トレースデータの表示形式
• トレースデータの検索
• トレースデータのセーブ
• トレースデータのクリア
• トレースの注意点
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
93
第 2 章 依存機能
2.2.6.1
トレースデータ
トレースでサンプリングして記録したデータをトレースデータとよびます。
 トレースデータ
以下のサイズのサンプリングができます。
• フルトレースモード : 65536 バイト
• リアルタイムモード : 65536 バイト
• 内部トレースモード : 128 フレームまたは , 64 フレーム ( 使用するエバチップに
よりフレーム数が異なります )
• 外部トレースモード : 65536 フレーム
以下のデータがサンプリングされます。
• アドレス (32 ビット )
• データ (32 ビット )
• ステータス情報
- アクセスデータサイズ : ワード / ハーフワード / バイト
- データの種類
: データアクセス / 命令実行
<注意事項>
トレースデータは 1 フレームあたり数バイトを使用します。
94
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.6.2
トレースのサンプリング
プログラムの実行開始から実行停止までの間 , プログラムの実行状態をトレース測定します。
DSU3 チップのエミュレータデバッガ (MB2197) では , コードイベント 1 番 , 2 番およびデータイベ
ント 1 番をトレース測定開始の要因 ( トリガ ) として , プログラムの実行停止までをトレース測定
できます。
 トレースのサンプリング
トレース機能が有効になっていれば実行系コマンド実行中はいつもデータがサンプリングされ , トレー
スバッファに記録されます。
DSU3 チップのエミュレータデバッガ (MB2197) では , このほかに , 次のプログラム実行途中にトレース
測定を開始する機能や , 領域を指定してデータアクセスをトレース測定する機能があります。
• トレースサンプリングモードをトリガモードに切り換えると , コードイベント 1 番 ,
2 番またはデータイベント 1 番のヒットでトレース測定を開始します。
• MCU動作モードが内部トレースモードまたは外部トレースモードのとき, 指定したデータトレース測
定領域へのデータアクセスだけデータをサンプリングします。
ブレークポイントなどのブレーク要因によりプログラムの実行が中断され , トレースが終了となります。
また , トレースバッファがいっぱいになった場合にプログラムをブレークさせられます。このブレーク
をトレースバッファフルブレークとよびます。
 フレーム番号
サンプリングされたトレースデータにはフレームごとに番号が付けられます。この番号をフレーム番号
とよびます。
トレースバッファ中のどの位置から表示するかは , フレーム番号により指定します。
最後にサンプリングされたトレースデータには 0 番が , トリガ発生位置に到達するまでにサンプリング
されたトレースデータには負の番号が付けられます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
95
第 2 章 依存機能
2.2.6.3
トレースの設定方法
トレースを行うには , 以下の (1) ~ (3) の設定をします。その後 , プログラムの実行を行うとトレー
スデータがサンプリングされます。コマンドウィンドウからも設定可能です。DSU3 チップでは ,
データアクセスのトレース測定領域が指定できます。
 トレースの設定方法
(1) トレース機能を有効にします。
- 設定は , トレースウィンドウのショートカットメニュー [ 設定 ] - [ トレース ] で行います。本プロ
グラム起動時は , 有効になっています。
(2) MCU 動作モードの設定を行います 。
- 設定はデバッグ環境設定ダイアログで行います。
- リアルタイムモードでは , 実時間で動作しますがトレース情報が欠落する可能性が高く , フルト
レースモードでは実時間で動作しませんがトレース情報が欠落する可能性が低くなります。分岐命
令が多い場合には , フルトレースモードを指定することをお勧めします。
- DSU3 チップでは , 内部トレースモードまたは外部トレースモードを指定できます。この 2 モード
では , 実時間動作させながらトレース情報を欠落させずに測定できます。
(3) トレースバッファフルブレークの設定を行います。
- トレースバッファがいっぱいになった場合に , ブレークさせられます。
- 設定は , トレースウィンドウのショートカットメニュー [ 設定 ] - [ トレース ] の設定ダイアログで
行います。本プログラム起動時は , ブレークしない設定になっています。
- さらに , DSU3 チップを使用している場合 , トレース測定を行うデータアクセス領域を指定できま
す。
96
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.6.4
トレースデータの表示
トレースバッファに記録されたデータを表示します。
 トレースデータの表示
トレースバッファ中にどれだけトレースデータが格納されているかは , トレースウィンドウに表示され
ます。また , コマンドウィンドウから SHOW TRACE コマンドを使うこともできます。
DSU3 チップを使用する場合 , トレースデータとして分岐情報とデータアクセス情報を表示します。分岐命
令間に実行された命令を表示したいときには , トレース詳細ダイアログをオープンする必要があります。
ま
た , コマンドウィンドウから SHOW DETAILTRACE コマンドを使うこともできます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
97
第 2 章 依存機能
2.2.6.5
トレースデータの表示形式
トレースバッファの表示形式には , 1 種類があります。
 トレースデータの表示形式
• 命令実行だけ表示
: インストラクションを指定
 命令実行だけ表示
このモードでは , 命令実行を逆アセンブル単位で表示します。
98
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.6.6
トレースデータの検索
トレースバッファのどこに見たいデータが格納されているのかを検索できます。
 トレースデータの検索
検索には , アドレス , データ , アクセス情報を指定でき , アドレス , データにはマスク指定ができます。
ト
レースウィンドウの検索ボタンをクリックすることでこの機能が使用できます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
99
第 2 章 依存機能
2.2.6.7
トレースデータのセーブ
トレースデータをファイルに保存できます。
 トレースデータの保存
トレースデータを指定したファイルに保存します。
操作方法は ,『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」,「4.4.8 トレース」
, または『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.9 SHOW TRACE」を参照して
ください。
100
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.6.8
トレースデータのクリア
トレースデータは以下のようにクリアしてください。
 トレースデータのクリア
トレースデータをクリアするときは , トレースウィンドウのショートカットメニュー [ クリア ] を実行
します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
101
第 2 章 依存機能
2.2.6.9
トレースの注意点
トレースデータの表示および検索に関する注意点を説明します。
 トレース機能の注意点
エミュレータデバッガ使用時では , 以下の事項によってトレースを実現しています。
• 分岐命令フェッチ時にアドレス情報を出力する。
このため , トレースデータの表示および検索に関して , 以下のような注意点があります。
• プログラム実行直後について , 分岐命令を実行するまでアドレス情報が出力されないため , 実行直後
側のトレースデータが確立しないことがあります。
• 逆アセンブル表示は , メモリから読み出して処理を行っています。このため , コードフェッチ後に命
令が書き換わっている場合には , 正しく表示されません。
• 検索開始フレーム番号について , 命令の先頭を指定しないと 2 バイト長を超える命令 (LDI:32, LDI:20
命令 ) が正しく表示されないことがあります。
• リアルタイムモードでは , 実時間で動作するため以下の条件のときトレースデータが一部欠落するこ
とがあります ( トレース欠落情報は出力されます ) 。
- 11 サイクル以内に 3 回以上分岐が発生したとき
- データトレースが 3 回以上連続して発生したとき
• トレースオーバフロー時において , 実行開始直前のトレースデータが上書きされるため , 最初の分岐
情報が見つかるまでアドレス表示ができません。
• 次のブレークポイントの組が順に連続するアドレス ( データイベントについては , 要因となるコード
のアドレス ) に設定されている状態でブレークした場合に , ブレーク直前のトレースデータが正常に
表示されません。
- ソフトウェアブレークと I 群のブレーク
- I 群のブレークと I 群のブレーク
<参考>
ここでいう I 群のブレークとは以下のブレークです。
• ハードウェアブレーク
• コードイベントブレーク
• データイベントブレーク
これは , 実際のブレーク要因となるアドレスの次のアドレスについて , プリフェッチされただけでブレーク
要因として検出されるためです。
• トレースのデータ欠落フレームは , 有効バスサイクル表示または命令表示のときに次のように表示さ
れます。
*** Address Lost Error ***
( コードフェッチ時のアドレスをサンプリングできなかったフレーム )
102
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
• 1 命令ごとのステップ実行では , 1 命令実行するたびにトレースデータが正しくサンプリングされない場合
があるため , *** Address Lost Error *** と表示されることがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
103
第 2 章 依存機能
2.2.7
アクセス禁止領域
アクセス禁止領域について説明します。
 アクセス禁止領域
アクセス禁止領域とは , 指定した領域に対しデバッガがメモリアクセスを行った場合 ( コマンド , ウィン
ドウ操作 *) にそのメモリアクセスを抑止する機能です。ただし , プログラムからのメモリアクセスは抑
止されません。
アクセス禁止領域の設定は , 以下のコマンドで行います。
SET MAP/INACCESSIBLE
: アクセス禁止領域の設定
SHOW MAP/INACCESSIBLE
: アクセス禁止領域の表示
CANCEL MAP/INACCESSIBLE : 指定したアクセス禁止領域を削除
ENABLE MAP/INACCESSIBLE : 指定したアクセス禁止領域の有効設定
DISABLE MAP/INACCESSIBLE : 指定したアクセス禁止領域の無効設定
*: メモリ操作コマンド
- アセンブル / 逆アセンブルコマンド
- ロード / セーブコマンド
- 組込み関数 (%BIT, %B, %H, %W, %L, %S, %D)
- 式
- トレース
- ベクタ
- メモリウィンドウ
- ソースウィンドウ
- 逆アセンブルウィンドウ
- ウォッチウィンドウ
- ローカルウィンドウ
- シンボルウィンドウ
 アクセス禁止領域を含む領域のメモリアクセス
アクセスする範囲内にアクセス禁止領域が含まれる場合 , アクセス禁止領域までメモリアクセスを行い ,
アクセス禁止領域に到達したとき点でエラーを出力し , メモリアクセスを中断します。
104
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.2.8
デバッガの状態を確認するには
エミュレータデバッガ (MB2197) におけるデバッガの情報を確認する方法について説明します。
 デバッガの情報
エミュレータデバッガ (MB2197) では , デバッガ起動時に以下の情報を確認できます。
• SOFTUNE Workbench のファイル情報
• ハードウェアに関する情報
SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門またはサポート部門ま
でお問合せください。
 確認方法
デバッガの情報の確認は以下の方法で行います。
 コマンド
- SHOW SYSTEM
詳細は『SOFTUNE Workbench コマンドリファレンス』の「1.12 SHOW SYSTEM」を参照してください。
 ダイアログ
- バージョン情報ダイアログ
[ ヘルプ ] - [ バージョン情報 ] メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照してください。
 表示内容
FR Family SOFTUNE Workbench VxxLxx
Copyright (c) 1997-2016 Cypress or its subsidiaries
=======================================================
Cpu information file path:CPU 情報ファイルのパス
Cpu information file version:CPU 情報ファイルのバージョン
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name : SOFTUNE Workbench
File Path:SiC911.dll のパス
Version:SiC911.dll のバージョン
---------------------------SiiEd
File Path:SiiEd3.ocx のパス
Version:SiiEd3.ocx のバージョン
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
105
第 2 章 依存機能
------------------------------------------------------SiM911
Product name : SOFTUNE Workbench
File Path:SiM911.dll のパス
Version:SiM911.dll のバージョン
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler のバージョン
File Path:fcc911s.exe のパス
- FR Family SOFTUNE Assembler のバージョン
File Path:fasm911s.exe のパス
- FR Family SOFTUNE Linker のバージョン
File Path:flnk911s.exe のパス
- FR Family SOFTUNE Librarian のバージョン
File Path:flib911s.exe のパス
- SOFTUNE FJ-OMF to S-FORMAT Converter のバージョン
File Path:f2ms.exe のパス
- SOFTUNE FJ-OMF to INTEL-HEX Converter のバージョン
File Path:f2is.exe のパス
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter のバージョン
File Path:f2es.exe のパス
- SOFTUNE FJ-OMF to HEX Converter のバージョン
File Path:f2hs.exe のパス
------------------------------------------------------SiOsM
Product name : Softune Workbench
File Path:SiOsM911.dll のパス
Version:SiOsM911.dll のバージョン
------------------------------------------------------FR Series Debugger DLL
Product name : SOFTUNE Workbench
File Path:SiD911.dll のパス
Version:SiD911.dll のバージョン
----------------------------
106
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
Debugger type
: 現在のデバッガ種別
MCU type
: 現在選択しているターゲット MCU
VCpu dll name
: 現在使用している VCpu dll のパスと名前
VCpu dll version
: 使用中の仮想デバッガ部 DLL のバージョン
DSU type
: 現在使用している DSU 種別
Monitor version
: モニタ ( 依存 ) のバージョン
Communication device : デバイス種別
Baud rate
: 通信ボーレート
Host name
: LAN ホスト名
REALOS version
: REALOS のバージョン
------------------------------------------------------SiIODef
Product name : Softune Workbench
File Path : SiIODef.dll のパス
Version : SiIODef.dll のバージョン
=======================================================
Current path:現在使用しているプロジェクトのパス
Language:現在使用している言語
Help file path:ヘルプファイルのパス
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
107
第 2 章 依存機能
2.3
エミュレータデバッガ (MB2198)
エミュレータデバッガ (MB2198) の機能について説明します。
 エミュレータデバッガ
セットアップウィザードでエミュレータデバッガを選択すると , 以下のエミュレータ を指定できます。
MB2197
MB2198
以降 MB2198 を選択した場合について説明します。エミュレータデバッガ (MB2198) は , ホストコン
ピュータから通信回線 (RS-232C, LAN, USB) を介してエミュレータを制御してプログラムの評価を行う
ソフトウェアです。
デバッグ対象となる品種は , 次の DSU ( デバッグサポートユニット ) を持つ必要があります。
• DSU3
• DSU4
ご使用になる前に , エミュレータの初期化が必要です。詳細は ,『SOFTUNE Workbench 操作マニュアル』
の「付録 B モニタプログラムのダウンロード」, 「付録 C LAN インタフェースの設定」を参照してくだ
さい。
 FR80S でのデバッグ機能
FR80S において外部トレース機能を有する環境をご使用の場合 , 下記のとおり FR60Lite と同等のデバッ
グ機能を使用できます。各機能の詳細については本マニュアルの各機能の説明を参照してください。
表 2.3-1 FR80S のデバッグ機能
FR80S ( 外部トレース機能有 ) FR60Lite
コードブレーク *
○
○
データブレーク
○
○
データ監視ブレーク ×
○
シーケンサ
○ ( ライトアクセスだけ )
○
トレーストリガ
○ ( ライトアクセスだけ )
○
パフォーマンス
○ ( ライトアクセスだけ )
○
リアルタイムメモリ ○
○
パワーオンデバッグ ×
○
RAM チェッカ
○
○ ( ライトアクセスだけ )
* : 以下の 3 種類を含みます。
• ハードウェア
• ハードウェア / カウント
• ソフトウェア
108
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
FR80S 使用時のデバッグ機能には以下の制限があります。
• 表 2.3-1 に示したデバッグ機能は内蔵 RAM 領域に設定した場合だけ有効となります。
ただし , コードブレークとデータブレークは除きます。
• トレースデータは , MCU 動作モードが「外部トレースモード」の場合に , 内蔵 RAM へのライトアクセ
スのデータだけトレースバッファに格納されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
109
第 2 章 依存機能
2.3.1
動作環境の設定
動作環境の設定について説明します。
 動作環境の設定
エミュレータデバッガ (MB2198) では , 動作環境に合わせて 以下の項目を設定する必要があります。そ
れぞれの設定項目には起動時のデフォルト値があるため , デフォルト値をそのまま使用する場合は設定
を変更する必要はありません。また一度指定した設定値を次回からのデフォルトにすることもできます。
• モニタプログラム自動ロード
• MCU 動作モード
• キャッシュフラッシュ制御
• 動作周波数
• 外部メモリエミュレーション
• デバッグモード
110
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.1.1
モニタプログラム自動ロード
エミュレータデバッガ (MB2198) には , エミュレータ開始時にモニタプログラムの自動アップデー
ト機能があります。
 モニタプログラム自動ロード
エミュレータデバッガ (MB2198) では , デバッグの開始時に , エミュレータ内部の情報を参照して適切な
モニタプログラムやコンフィギュレーションバイナリデータを自動的にエミュレータへロードできま
す。
アップデート用に比較されるモニタプログラムやコンフィギュレーションバイナリデータは, Workbench
をインストールしたディレクトリ下の Lib¥911 にあリます。
モニタプログラム自動ロード機能の許可 / 抑止は , [ 環境 ] - [ デバッグ環境の設定 ] [ セットアップウィザード ] メニューで指定してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
111
第 2 章 依存機能
2.3.1.2
MCU 動作モード
MCU の動作モードには , 以下の 4 種類があります。フルトレースモードとリアルタイムモードは ,
DSU3 チップでは使用できません。
• フルトレースモード
• リアルタイムモード
• 内部トレースモード
• 外部トレースモード
 MCU 動作モードの設定
MCU の動作モードを設定します。動作モードには , フルトレースモード , リアルタイムモード , 内部ト
レースモードおよび外部トレースモードがあります。これらのモードは , デバッグ環境設定ダイアログ
またはコマンドウィンドウの SET RUNMODE コマンドにより設定します。
 フルトレースモード
フルトレースモードでは , トレースデータは欠落することなく , すべての命令実行をトレースできます。
ただし, 11サイクル以内に3回以上の分岐が行われた場合にトレースデータの取得を優先して行い, MCU
へウェイトを入れるため , 実時間で動作しない場合があります。DSU3 チップでは指定できません。
 リアルタイムモード
リアルタイムモードでは , プログラムの実時間での実行が可能です。ただし , 11 サイクル以内に 3 回以
上の分岐が行われた場合にトレースデータの一部が欠落することがあります。
DSU3 チップでは指定できません。
また , サイクル数の測定で , 誤差が生じる場合があります。サイクル数を測定する場合には , 内部トレー
スモードまたは , 外部トレースモードをご使用ください。
 内部トレースモード
チップに内蔵されたトレース専用メモリに , トレース情報を格納します。実時間でプログラムを実行し
ますが , その機能が搭載されたチップでだけ指定が可能です。
 外部トレースモード
アダプタボード上に装着されたトレース専用メモリに , トレース情報を格納します。実時間でプログラ
ムを実行します。アダプタボードの仕様により使用できない場合があります。ご使用のアダプタボード
の仕様を確認してください。
112
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.1.3
キャッシュフラッシュ制御
キャッシュフラッシュの設定について説明します。
 キャッシュフラッシュ制御
キャッシュが内蔵された品種では , コマンドによるメモリの書換えや , ソフトウェアブレークポイントの
設定がキャッシュに反映されません。これらが実行された場合 , キャッシュのフラッシュを行う必要が
あります。本デバッガでは , メモリ書換えやソフトウェアブレークの設定などを監視して , 自動的に
キャッシュをフラッシュする機能があります。
この機能は , デバッグ環境設定ダイアログの [ エミュレーション ] タブで制御できます。
<注意事項>
キャッシュの自動フラッシュを有効にしておくと , プログラムの実行速度に影響がでることがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
113
第 2 章 依存機能
2.3.1.4
動作周波数
動作周波数の設定について説明します。
 動作周波数
MCU の動作周波数を設定します。動作周波数は DSU により最適な値が異なります。DSU3 では , 1 ~
200MHz, DSU4 では 1 ~ 266MHz の範囲から設定してください。この設定により MCU とエミュレータの
通信速度を最適にします。
この機能は , デバッグ環境設定ダイアログの [ 動作周波数 ] タブで制御できます。
<注意事項>
• この設定は最大周波数を設定するものであり , 実際の動作周波数は変更されません。
• 実際の動作周波数がこの設定以上で動作した場合 , エミュレータとの通信が正しく行われなくなります。
114
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.1.5
外部メモリエミュレーション
外部メモリのエミュレーション機能について説明します。
 外部メモリエミュレーション
DSU4 チップには , アダプタユニットに実装した RAM をユーザシステム上のメモリの代わりに使用する
ことができる品種があります。この機能を外部メモリエミュレーションといいます。
FR ファミリでは , チップの外部にあるメモリにアクセスするためにチップセレクトという端子を指定す
る必要があります。このため , 外部メモリエミュレーション機能を使用するときには , チップセレクト番
号を指定してください。
この機能は , デバッグ環境設定ダイアログの [ 外部メモリエミュレーション ] タブで制御できます。
代行するメモリとして , ROM または RAM を指定できます。
外部メモリエミュレーション用の RAM の詳細な仕様や設定方法については , ご使用になるアダプタユ
ニットのハードウェアマニュアルを参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
115
第 2 章 依存機能
2.3.1.6
デバッグモード
デバッグモードには , 以下の 2 種類があります。選択可能なデバッグモードはエミュレータまたは
その接続形態によって変わります。
• RealTimeMemory モード
• RAM Checker モード
 デバッグモードの設定
デバッグモードを設定します。デバッグモードには , RealTimeMemory, RAM Checker モードがあり , エ
ミュレータまたはその接続形態によって選択可能なモードが変わってきます。これらのモードは ,[環
境]-[デバッグ環境の設定]-[デバッグ機能の選択]メニューまたはコマンドウィンドウの SET MODE
コマンドにより設定します。
 RealTimeMemory モード
リアルタイムモニタ機能を有効にします。
プログラム実行中に MCU を一度ブレークさせることなく , 256
バイト ×2 領域分の内容をリアルタイムメモリウィンドウに表示できるようになります。
 RAM Checker モード
RAM チェッカ機能を有効にします。監視アドレスのアクセス履歴をログファイルに記録できるようにな
ります。
<注意事項>
• デバッグモードの選択ができない環境では , RealTimeMemory モードが使用されます。
• リアルタイムモニタ機能は , 外部トレース機能が使用可能な環境でだけ使用できます。外部トレース機能
はアダプタボードの仕様により使用できない場合があります。詳細はご使用のアダプタボードの仕様を
確認してください。
• RAM チェッカ機能は , FR60Lite または FR80S で , 外部トレース機能が使用可能な環境でだけ使用でき
ます。外部トレース機能はアダプタボードの仕様により使用できない場合があります。詳細はご使用の
アダプタボードの仕様を確認してください。
116
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.2
プログラム実行での注意
プログラム実行コマンドには , いくつかの注意事項があります。
 プログラム実行のリアルタイム性
MCU 動作モードがフルトレースモードの場合 , リアルタイム実行できない場合があります。
なお , MCU 動作モードは , デバッグ環境設定ダイアログの [ エミュレーション ] タブまたはコマンドウィ
ンドウの SET RUNMODE で設定します。
 遅延分岐命令を実行する場合の注意
遅延分岐命令を以下のどちらかで実行すると , 遅延スロットに置かれた命令 ( 遅延分岐命令の直後の命
令 ) を実行し , 遅延分岐命令を実行した直後にブレークします。
• [ デバッグ ] - [ 実行 ] - [ ステップイン ] メニュー
• [ デバッグ ] - [ 実行 ] - [ ステップオーバ ] メニュー
 ソフトウェアブレークで停止時の制限事項
現在のプログラムカウンタ (PC レジスタ ) の位置にソフトウェアブレークが存在する場合に [ デバッグ ]
- [ 実行 ] - [ 連続実行 ] メニューまたは GO コマンドを行うと , 本エミュレータデバッガは内部でステップ
実行を一度行ってから連続実行を行います。
また , フラグ T をクリアする命令にソフトウェアブレークを設定した場合で , その番地から [ デバッグ ]
- [ 実行 ] - [ 連続実行 ] メニューまたは GO コマンドを行うと , すべてのソフトウェアブレークは無視され
ます。また , このとき , 割込みもマスクされます。
 TBR レジスタの値
TBR レジスタに , ベクタテーブルが I/O 領域に重なるような値を指定すると , プログラムが暴走しますの
でご注意ください。
 フラグ T をクリアする命令を実行する場合の注意
フラグ T をクリアする命令を以下のどちらかで実行した場合 , 連続実行になります。このとき , すべての
ソフトウェアブレークは無視されます。
• [ デバッグ ] - [ 実行 ] - [ ステップイン ] メニュー
• [ デバッグ ] - [ 実行 ] - [ ステップオーバ ] メニュー
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
117
第 2 章 依存機能
2.3.3
ユーザプログラム実行中に使用できるコマンド
ユーザプログラム実行中に使用できるコマンドについて説明します。
 ユーザプログラム実行中に使用できるコマンド
エミュレータデバッガ (MB2198) では , ユーザプログラム実行中に特定のコマンドが使用できます。
詳細は , 『SOFTUNE Workbench コマンドリファレンスマニュアル』の各コマンドの「■ 対応デバッガ」
を参照してください。
◎はユーザプログラム実行中に使用できることを表しています。
表 2.3-2 にユーザプログラム実行中に使用できるコマンドを示します。
表 2.3-2 ユーザプログラム実行中に使用できるコマンド
機能
限定事項
-
MCU のリセット
主コマンド
1.3 RESET
メモリ操作 ( リード / ライト ) 1. リアルタイムモニタ領域はリードだけ
可能
2. リアルタイムモニタリングモードの場合は ,
リアルタイム領域以外はリード / ライト
不可
3. DSU3 評価チップの場合は不可
5.1
5.2
5.3
5.4
5.5
5.8
5.9
5.10
5.11
EXAMINE
ENTER
SET MEMORY
SHOW MEMORY
SEARCH MEMORY
COMPARE
FILL
MOVE
DUMP
ラインアセンブル ,
逆アセンブル
1. リアルタイムモニタ領域は逆アセンブル
だけ可能
2. DSU3 評価チップの場合は不可
6.1 ASSEMBLE
6.2 DISASSEMBLE
ブレークポイントの設定
デバッグ環境ダイアログの実行タブで「実行
中のブレークポイント設定」を有効にした場
合だけ可能 (*)
3.1
3.4
3.6
3.7
3.8
3.10
3.12
3.13
3.14
SET BREAK (type 1)
SET BREAK (type 4)
CANCEL BREAK
ENABLE BREAK
DISABLE BREAK
SET DATABREAK (type 2)
CANCEL DATABREAK
ENABLE DATABREAK
DISABLE DATABREAK
*: 詳しくは「2.3.4 ブレーク」を参照してください。
<注意事項>
• 表 2.3-2 のコマンドが使用できる条件は , 以下のいずれかによりユーザプログラムを実行した場合に限
ります。
- [ デバッグ ]-[ 実行 ]-[ 連続実行 ] メニュー
- デバッグツールバーの [ 連続実行 ] ボタン
コマンドウィンドウにて GO コマンドを入力した場合は , 表 2.3-2 のコマンドは使用できません。
• ユーザプログラム実行中に使用できないコマンドを入力すると , 以下のエラーメッセージが表示されま
す。
「E4404S: MCU 実行中は使えないコマンドです」
118
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4
ブレーク
エミュレータデバッガ (MB2198) では , 9 種類のブレーク機能を使用できます。各ブレーク機能に
よりプログラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示します。
 ブレーク機能
エミュレータデバッガ (MB2198) では , 9 種類のブレーク機能をサポートしています。
• コードブレーク
• データブレーク
• コードイベントブレーク
• データイベントブレーク
• トレースバッファフルブレーク
• アライメントエラーブレーク
• 外部トリガブレーク
• 強制ブレーク
• データ監視ブレーク
以下のように DSU, アダプタボード , チップにより使用可能なブレーク機能が異なります。
表 2.3-3 使用可能なブレーク機能
DSU
アダプタ
FR60Lite
FR80S
コードブレーク ( ソフトウェア )
○
○
○
○
コードブレーク ( ハードウェア )
○
○
○
○
コードブレーク ( ハードウェア / カウント )
×
×
○
○
データブレーク
×
×
コードイベントブレーク
○
○
○
× (*)
○
×
データイベントブレーク
○
○
× (*)
×
トレースバッファフルブレーク
○
○
○
○
アライメントエラーブレーク
○
○
○
○
外部トリガブレーク
○
○
○
○
強制ブレーク
○
×
○
データ監視ブレーク ( ハードウェア )
○
×
○
○
×
データ監視ブレーク ( ソフトウェア )
○
○
○
○
*: この機能は FR60Lite では「コードブレーク ( ハードウェア / カウント ) 」, 「シーケンサ (3 レベル + リスタート ) 」,
「トレーストリガ」にて機能強化されているため , サポートしていません。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
119
第 2 章 依存機能
2.3.4.1
コードブレーク
指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラム実行を中断する
機能です。指定されたアドレスの命令を実行する前にブレークします。
 コードブレークとは
指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラム実行を中断する機能
です。指定されたアドレスの命令を実行する前にブレークします。ハードウェアにはパスカウントを設
定可能なハードウェア / カウントがあります。
最大設定数は下記のとおりです。
ハードウェア
:5 ポイント
ハードウェア / カウント:2 ポイント
ソフトウェア
:4096 ポイント
コードブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• ハードウェア , ハードウェア / カウント
Break at アドレス by hardware breakpoint
• ソフトウェア
Break at アドレス by breakpoint
 設定方法
コードブレークの制御は以下の方法で行います。
• コマンド
- SET BREAK/HARD ( ハードウェア )
- SET BREAK/SOFT ( ソフトウェア )
- SET BREAK/COUNT ( ハードウェア / カウント )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を
参照してください。
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ / 逆アセンブルウィンドウ
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセン
ブルウィンドウ」を参照してください。
ハードウェア , ハードウェア / カウントは , データ監視条件を設定し , データ監視ブレークとして使用す
ることも可能です。データ監視条件に関しては「2.3.4.9 データ監視ブレーク」を参照してください。
120
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• ハードウェア
ハードウェアブレークには以下の注意点があります。
- 遅延スロットに置かれている命令には , ハードウェアブレークを設定しないでください。設定すると ,
ブレーク後に再実行しても分岐しません。
- ブレークポイントは必ず命令の先頭アドレスを指定範囲に含めるように注意してください。先頭以外
のアドレスを指定すると , ブレークしないことがあります。
- ハードウェアブレークを設定したアドレスから実行するとき , 直前の実行が命令ブレーク以外の要因
で停止した場合には , 命令が実行されずにブレークします。このとき , 再度実行すると , 命令が実行さ
れます。
• ソフトウェア
ソフトウェアブレークには以下の注意点があります。
- ROM のような書込みが正しく行えない領域には設定できません。この場合は , プログラム実行開始時
( 連続実行やステップ実行などを開始するとき ) にベリファイエラーが発生します。
- 必ず命令の先頭アドレスに設定してください。命令の途中にブレークポイントを設定すると , プログ
ラムが暴走することがあります。
• ハードウェア / カウント
ハードウェア / カウントブレークには以下の注意点があります。
- FR60Lite または FR80S 以外では使用できません。詳細は「2.3.4 ブレーク」を参照してください。
- パスカウントはブレークアドレスの命令をフェッチしただけで増加します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
121
第 2 章 依存機能
2.3.4.2
データブレーク
指定アドレスに対しデータアクセス ( リード , ライト ) が行われた場合 , プログラム実行を中断する
機能です。
 データブレークとは
指定アドレスに対しデータアクセス ( リード , ライト ) が行われた場合 , プログラム実行を中断する機能
です。最大 2 ポイント設定可能です。
データブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by databreak at アクセスアドレス
 設定方法
データブレークの制御は以下の方法で行います。
• コマンド
- SET DATABREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.9 SET DATABREAK (type
2)」を参照してください。
• ダイアログ
- ブレークポイント設定ダイアログ 「データ」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
データブレークは , データ監視条件を設定し , データ監視ブレークとして使用することも可能です。デー
タ監視条件に関しては「2.3.4.9 データ監視ブレーク」を参照してください。
<注意事項>
データブレークには以下の注意点があります。
FR60Lite または FR80S 以外では使用できません。詳細は「2.3.4 ブレーク」を参照してください。
122
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4.3
コードイベントブレーク
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , パスカ
ウントのほか , シーケンシャル指定も可能です。
 コードイベントブレークとは
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , パスカウン
トが設定可能です。設定可能数は 2 ポイントで , 2 種類のモードにて使用可能です。
• OR モード ( どちらかがヒットしたらブレーク )
• シーケンシャルモード ( コードイベント 1 → 2 の順にヒットした場合にブレーク )
コードイベントブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• OR モード
Break at アドレス by code event break (No. コードイベント番号 )
• シーケンシャルモード
Break at アドレス by code event break (sequential)
 設定方法
コードイベントブレークの制御は以下の方法で行います。
• コマンド
- SET CODEEVENT
- SET SEQUENCE/ON ( シーケンシャルモードだけ )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.19 SET CODEEVENT」を
参照してください。
• ダイアログ
- イベント設定ダイアログ 「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.5 イベント』を参照してください。
OR モードの場合だけ , データ監視条件を設定し , データ監視ブレークとして使用することも可能です。
データ監視条件に関しては「2.3.4.9 データ監視ブレーク」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
123
第 2 章 依存機能
<注意事項>
• DSU3 チップでは , コードイベントをブレーク要因のほかに , トレース測定の開始要因として使用できま
す。このモードをトレースサンプリングモードといい , 以下の 2 種類があります。
- フルモード:コードイベントをブレーク要因に使用します。
- トリガモード:コードイベントをトレース測定の開始要因に使用します。
コードイベントをブレーク要因として使用するにはフルモードに設定してください。設定方法は以下の
とおりです。
• コマンド
- SET TRACE/FULL
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」
を参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
• FR60Lite 使用時はこの機能は使用できません。詳細は「2.3.4 ブレーク」を参照してください。
124
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4.4
データイベントブレーク
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , データ
サイズ , アクセス種別のほか , シーケンシャル指定も可能です。
 データイベントブレークとは
エバチップに内蔵されたブレークポイントを利用したブレーク機能です。アドレスマスク , データサイ
ズ ( バイト / ハーフワード / ワード ) , アクセス属性 ( リード / ライト ) が設定可能です。設定可能数は 2
ポイントで , 2 種類のモードにて使用可能です。
• OR モード ( どちらかがヒットしたらブレーク )
• シーケンシャルモード ( データイベント 1 → 2 の順にヒットした場合にブレーク )
データイベントブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
• OR モード
Break at アドレス by data event break (No. データイベント番号 )
• シーケンシャルモード
Break at アドレス by data event break (sequential)
 設定方法
データイベントブレークの制御は以下の方法で行います。
• コマンド
- SET DATAEVENT
- SET SEQUENCE/ON ( シーケンシャルモードだけ )
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.24 SET DATAEVENT」を
参照してください。
• ダイアログ
- イベント設定ダイアログ 「データ」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.5 イベント」を参照してください。
OR モードの場合だけ , データ監視条件を設定し , データ監視ブレークとして使用することも可能です。
データ監視条件に関しては「2.3.4.9 データ監視ブレーク」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
125
第 2 章 依存機能
<注意事項>
• DSU3 チップでは , データイベントをブレーク要因のほかに , トレース測定の開始要因として使用できま
す。このモードをトレースサンプリングモードといい , 以下の 2 種類があります。
- フルモード : データイベントをブレーク要因に使用します。
- トリガモード : データイベント 1 をトレース測定の開始要因に使用します。
データイベントをブレーク要因として使用するにはフルモードに設定してください。設定方法は以下の
とおりです。
• コマンド
- SET TRACE/FULL
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」
を参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
• FR60Lite 使用時はこの機能は使用できません。詳しくは「2.3.4 ブレーク」を参照してください。
126
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4.5
トレースバッファフルブレーク
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
 トレースバッファフルブレークとは
トレースバッファがいっぱいになった場合にプログラム実行を中断する機能です。
トレースバッファフルブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されま
す。
Break at アドレス by trace buffer full
 設定方法
トレースバッファフルブレークの制御は以下の方法で行います。
• コマンド
- SET TRACE/BREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」を
参照してください。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
127
第 2 章 依存機能
2.3.4.6
アライメントエラーブレーク
奇数番地への命令アクセス , バウンダリ境界を越えたワード / ハーフワードアクセスが発生した場
合に , プログラムの実行を中断させる機能です。
 アライメントエラーブレークとは
奇数番地への命令アクセス , バウンダリ境界を越えたワード / ハーフワードアクセスが発生した場合 , プ
ログラムの実行を中断させる機能です。アライメントエラーブレークの有効 / 無効の指定は命令アクセ
スとデータアクセスのそれぞれに対して設定可能です。
アライメントエラーブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されま
す。
• 命令アクセス時
Break at アドレス by alignment error break (code)
• データアクセス時
Break at アドレス by alignment error break (data)
 設定方法
アライメントエラーブレークの制御は以下の方法で行います。
• コマンド
- ENABLE ALIGNMENTBREAK
- DISABLE ALIGNMENTBREAK
詳 細 は『SOFTUNE
Workbench
コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「3.37
ENABLE
ALIGNMENTBREAK」を参照してください。
• ダイアログ
- デバッグ環境設定ダイアログ エミュレーションタブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
128
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4.7
外部トリガブレーク
エミュレータが持っている TRIG 端子から外部信号の入力があった場合に , プログラムの実行を中
断させる機能です。
 外部トリガブレークとは
エミュレータが持っている TRIG 端子から外部信号の入力があった場合に , プログラムの実行を中断させ
る機能です。
外部トリガブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by external trigger break
 設定方法
外部トリガブレークの制御は以下の方法で行います。
• コマンド
- SET TRIGGER
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.35 SET TRIGGER」を参照
してください。
• ダイアログ
- デバッグ環境設定ダイアログ エミュレーションタブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
129
第 2 章 依存機能
2.3.4.8
強制ブレーク
プログラムの実行を強制的に中断する機能です。
 強制ブレークとは
プログラムの実行を強制的に中断する機能です。
強制ブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by command abort request
 発生方法
強制ブレークは次の方法で発生します。
• メニュー
[デバッグ]-[停止]メニュー
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。
• コマンド
- ABORT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参照してく
ださい。
<注意事項>
MCU が低消費電力モード中およびホールド状態での強制ブレークはできません。プログラム実行中 , [ デ
バッグ ] - [ 停止 ] メニューによって強制ブレークを要求した場合 , 低消費電力モード , ホールド状態であれ
ば [ デバッグ ] - [ 停止 ] メニューは無視されます。どうしてもブレークさせたい場合は , [ デバッグ ] - [ 停止 ]
メニュー入力後 , ユーザシステム側で要因を解除するか , [ デバッグ ] - [MCU のリセット ] メニューを用い
て要因を解除してください。実行中に低消費電力モード , ホールド状態になった場合は , ステータスバーに
状態が表示されます。
130
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.4.9
データ監視ブレーク
指定データと一致している間に , プログラムが指定アドレスに達した場合に実行を中断する , 特殊
なブレーク機能です。指定条件はエミュレータの接続状態により異なりますのでご注意ください。
 データ監視ブレークとは
指定データと一致している間に , プログラムが指定アドレスに達した場合に実行を中断する , 特殊なブ
レーク機能です。ソフトウェアとハードウェアの 2 パターンがあります。
データ監視ブレークのブレーク条件を図で表すと下図のようになります。
ࡊࡠࠣ࡜ࡓߩᵹࠇ
࠺࡯࠲㗔ၞ
ᜰቯ๮઎ࠕ࠼࡟ࠬ
࠺࡯࠲৻⥌ߒߡ޿ߥ޿
႐วࡉ࡟࡯ࠢߒߥ޿
࠺࡯࠲৻⥌
ᜰቯ๮઎ࠕ࠼࡟ࠬ
࠺࡯࠲৻⥌ߒߡ޿ࠆ
႐วࡉ࡟࡯ࠢߔࠆ
 設定数
データ監視ブレークの最大定数とブレーク条件は , ハードウェアとソフトウェアで以下のように異なり
ます。
• データ監視ブレーク ( ハードウェア )
ブレーク条件はアドレス , データにて設定します。最大 4 ポイントまで設定可能です。ただし「シー
ケンサ」, 「トレーストリガ」と併用するため , 変動します。
• データ監視ブレーク ( ソフトウェア )
ブレーク条件はアドレスのほかレジスタ + オフセットでの指定も可能です。
「ハードウェアブレーク」
, 「コードイベントブレーク」, 「データイベントブレーク」の付加条件として設定します。ただし指
定する「データ監視条件」はすべて同じ条件になります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
131
第 2 章 依存機能
 設定方法
データ監視ブレークは , 以下のコマンドにより設定できます。
• データ監視ブレーク ( ハードウェア )
• コマンド
- SET BREAK/DATAWATCH
・ ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
「ハードウェア / データ監視」
• データ監視ブレーク ( ソフトウェア )
• コマンド
- SET BREAKCONDITION
- SET BREAK/BREAKCONDITION
・ ダイアログ
- ブレークポイント詳細設定ダイアログ「データ監視条件」
<注意事項>
データ監視 ( ハードウェア )
• FR60Lite 以外ではこの機能は使用できません。詳細は「2.3.4 ブレーク」を参照してください。
• イベントモードがパフォーマンスモードの場合 , 使用できません。詳細は『SOFTUNE Workbench コマ
ンドリファレンスマニュアル』の「1.6 SET MODE」を参照してください。
データ監視 ( ソフトウェア )
• データ監視ブレーク ( ソフトウェア ) 設定時はモニタリング機能は使用できません。
132
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.5
シーケンサによる制御
エミュレータデバッガ (MB2198) は , イベントを制御するシーケンサを持っています。
このシーケンサにより , プログラムのある流れ ( シーケンス ) に着目したブレーク制御ができます。
この機能より発生するブレークのことをシーケンシャルブレークとよびます。
 シーケンサによる制御
エミュレータデバッガ (MB2198) では , 評価用チップの外部トレースバスインタフェースの有無により ,
2 種類のシーケンサがあります。それぞれの仕様を表 2.3-4 および表 2.3-5 に示します。
表 2.3-4 に示したシーケンサは , DSU3 および DSU4 評価用チップのすべてに実装されている , 基本的な
シーケンサです。コードイベント用シーケンサとデータイベント用シーケンサの 2 種類があります。
FR60Lite 使用時は使用できません。
表 2.3-5 には , リアルタイムモニタ バスインタフェースを利用した 3 レベルシーケンサを示しており , 順
にレベル 1 からレベル 2, レベル 3 へ通過しますが , シーケンサのリスタート条件としてイベントを 1 個
指定できます。FR60Lite または FR80S 使用時以外では使用できません。
表 2.3-4 シーケンサの仕様 ( 共通 )
機
能
仕
様
レベル数
2 レベル
1 レベルの条件
イベント 1 条件 ( 条件ごとに 1 ~ 255 回のパスカウントが指定可能 )
リスタート条件
なし
条件成立時の動作
次レベルへ分岐またはシーケンサの終了
その他の機能
コードイベント / データイベントのそれぞれの OR 条件指定が可能
表 2.3-5 シーケンサの仕様 ( リアルタイムモニタ バスインタフェース専用 )
機
能
レベル数
仕
様
3 レベル + リスタート条件あり
1 レベルの条件
イベント 1 条件 ( 条件ごとに 1 ~ 16777215 回のパスカウントが指定可能 )
リスタート条件
イベント 1 条件 (1 ~ 16777215 回のパスカウントが指定可能 )
条件成立時の動作
任意のレベルへ分岐またはシーケンサの終了
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
133
第 2 章 依存機能
リアルタイムモニタ バスインタフェースを用いたシーケンサは , 以下のように動作します。
【例】
> SET SEQUENCE 1, 3, 2, r=4
レベル 1 ~ 3 にそれぞれイベント 1, 3, 2 を , リスタート条件にイベント 4 を指定する。
ࡊࡠࠣ࡜ࡓታⴕ㐿ᆎ
࡟ࡌ࡞
01
ࠗࡌࡦ࠻⊒↢
;'5 ;'5
ࠗࡌࡦ࠻⊒↢
01
࡟ࡌ࡞
01 ࠗࡌࡦ࠻⊒↢
;'5
;'5
ࠗࡌࡦ࠻⊒↢
01
࡟ࡌ࡞
01
ࠗࡌࡦ࠻⊒↢
;'5
ࡉ࡟࡯ࠢ
134
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 シーケンサの設定方法
シーケンサはダイアログまたはコマンドから設定できます。
• ダイアログによる設定
[デバッグ]-[シーケンス]メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.6 シーケンス」を参照してください。
• コマンドによる設定
1. SET EVENT コマンドによりイベントを設定します。
2. SET SEQUENCE コマンドにて設定したイベントをシーケンスとして設定します。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.15 SET EVENT」または「3.31
SET SEQUENCE(type2)」を参照してください。
<注意事項>
シーケンサ ( リアルタイムモニタバスインタフェース専用 ) について
1. 評価チップが FR60Lite または FR80S の場合だけ使用できます。ただし FR80S 使用時は内蔵 RAM 領域
に対してライトアクセス可に設定した場合だけ有効となります。
2. 外部トレースデータの出力タイミングにより,実際のコード実行順序とデータヒット情報の順序が入れ換
わることがあります。そのため , コードイベントとデータイベントの発生が近い場合 , 正常に遷移できな
い場合があります。
3. イベントモードがパフォーマンスモードの場合 , 使用できません。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.6 SET MODE」を参照してく
ださい。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
135
第 2 章 依存機能
2.3.6
実行時間測定
プログラムの実行時間を測定する機能です。
 測定項目
プログラムの実行時間 , 実行サイクル数を測定します。
実行時間の分解能は 25ns で最大 (2 の 64 乗 -1)×25ns まで測定可能です。またサイクル数は最大 (2 の 64 乗
-1) すなわち 18,446,744,073,709,551,615 サイクルまで測定可能です。
測定はプログラム実行のたびに行われ , 測定結果は以下の値を表示します。
• 直前のプログラム実行におけるサイクル数
• 前回クリアしてからの実行サイクル数の合計
 測定結果の表示
測定結果の表示は以下のどちらかで行います。
1. ダイアログによる表示
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログに表示します。
2. コマンドによる表示
コマンドウィンドウにて SHOW TIMER コマンドを入力します。
 測定結果のクリア
測定結果のクリアは以下のどちらかで行います。
1. ダイアログによる操作
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログにて[クリア]ボタ
ンを押します。
2. コマンドによるクリア
コマンドウィンドウにて CLEAR TIMER コマンドを入力します。
 誤差
測定サイクル数には 20 サイクル程度の誤差を含みます。リアルタイムモードまたはフルトレースモード
時には , さらに 最大 (※1) クロック程度の誤差を含みます。時間測定を行う場合には誤差が少ない内部ト
レースモードまたは外部トレースモードをご使用ください。
※1: オートウェイト 1 の場合 +1250
オートウェイト 3 の場合 +2500
オートウェイト 7 の場合 +5000
オートウェイト 15 の場合 +10000
<注意事項>
実行サイクル数は 1 回の実行に数十サイクル分多く計測されます。実行サイクルを計測する場合には , 誤差の
影響を少なくするために 多くの命令を連続実行するようにしてください。
実行時間値についても , 実行サイクル数と同様に多く計測されます。
136
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.7
トレース
エミュレータデバッガ (MB2198) のトレース機能について説明します。
トレースにより記録したデータからプログラム実行履歴を詳細に解析できます。
 トレースバッファ
トレースバッファ内に格納された 1 データ単位をフレームとよびます。
トレースバッファの容量は , 動作モード別に表 2.3-6 に示します。
表 2.3-6 エミュレータデバッガ (MB2198) におけるトレースバッファのフレーム数
DSU3
MCU 動作モード
DSU4
フルトレース
64K バイト
256K バイト
リアルタイム
64K バイト
256K バイト
内部トレース
64 ~ 512 フレーム
64 ~ 512 フレーム
外部トレース
65536 フレーム
65536 フレーム
備考
使用するエバチップ
により異なります
トレースバッファはリング状の構造となっているので , トレースバッファがいっぱいになった場合は自
動的にトレースバッファの先頭から上書きされて記録されます。
 トレースデータ
トレース機能でサンプリングされるデータをトレースデータとよびます。
次のデータがサンプリングされます。
• アドレス (32 ビット )
• データ (32 ビット , データアクセス時だけ )
• ステータス情報
- データの種類:命令実行 / リード / ライト
- アクセスデータサイズ ( データアクセス時だけ ) :ワード / ハーフワード / バイト
• アクセスステータス:リード / ライト / コード
• 直後のフレームとの実行時間の差分 (25ns 単位 )
- 外部トレースバスインタフェースを持つ評価用チップを使用し , 外部トレースモードを指定した場合
だけ使用可能です。
ただし実際には次の情報がトレースバッファに格納されます。
- コード実行
: 分岐前後のアドレス情報だけ
- データアクセス : トレースフィルタ機能で指定されたアドレス範囲へのアクセス
に関する情報だけ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
137
第 2 章 依存機能
<注意事項>
1. 実行時間表示は , 外部トレースバスインタフェースを持つ DSU4 評価用チップでだけ使用できます。ま
た , 実行時間値はアダプタユニット上のトレース用メモリに格納されるため , このメモリにトレースデー
タを同時に格納する外部トレースモードでだけ使用できます。
2. イベントモードがパフォーマンスモードの場合 , 使用できません。詳細は『SOFTUNE Workbench コマ
ンドリファレンスマニュアル』の「1.6 SET MODE」を参照してください。
3. FR80S において MCU 動作モードが「外部トレースモード」の場合 , 内蔵 RAM 領域にライトアクセスさ
れたデータだけトレースバッファに格納されます。
 フレーム番号
サンプリングされたトレースデータにはフレームごとに番号が付けられます。この番号をフレーム番号
とよびます。
トレースバッファ中のどの位置から表示するかの指定は , フレーム番号により行います。シーケンサ終
了のトリガ発生位置のトレースデータには 0 番が , トリガ発生位置に到達するまでにサンプリングされ
たトレースデータには負の番号が付けられます ( 図 2.3-1 を参照してください。) 。
シーケンサ終了のトリガ位置がない場合は , 最後にサンプリングされたトレースデータが 0 となります。
図 2.3-1 トレース時のフレーム番号
࡮
࡮
࡮
࡮
㧔࠻࡝ࠟ⊒↢૏⟎㧕
138
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 トレースフィルタ
限られたトレースバッファを有効に活用するため , コードフェッチのほかにも特定領域へのデータアク
セス情報を取得する機能があり , これをトレースフィルタといいます。
トレースフィルタ機能では , 以下の値を用いてデータアクセス領域を指定できます。
DSU4 ではアクセス属性にコードも指定できます。
• アドレス
• アドレスマスク
• アクセス属性 ( リード , ライト , コード )
 トレーストリガの設定
MCU のバスの動作を監視して , 指定した条件でトレース開始用のトリガを発生させることができます。
この機能をトレーストリガとよびます。
トレーストリガでは , コード (/CODE) データアクセス (/READ/WRITE) を指定できます。
トレーストリガの最大設定数は , コード属性 , データアクセス属性それぞれ 4 個ですが , イベントと共通の
ハードウェアを使用するため , 実際には以下のようになります。
現在のトレーストリガ最大設定数
= 4 - ( 現在のイベント設定数 +現在のデータ監視ブレーク設定数 )
トレーストリガに設定できる条件については , 表 2.3-7 を参照してください。
表 2.3-7 トレーストリガに設定できる条件
条件
内容
アドレス
メモリ位置 ( アドレスビットマスク可能 )
データ
32 ビットデータ ( データビットマスク可能 ) コード時は不可
アクセスサイズ
バイト , ハーフワード , ワード
ステータス
コード / データリード , データライトより選択
トレーストリガの設定は以下のコマンドで行います。
• SET TRACETRIGGER:トレーストリガの設定
• CANCEL TRACETRIGGER:トレーストリガの削除
• SHOW TRACE/STATUS:トレース設定状態の表示
トレースサンプリングの動作を図 2.3-2 に示します。
図 2.3-2 トレースサンプリング制御 ( トレーストリガ )
ࠬ࠲࡯࠻ ౣ㐿
ਛᢿ
ౣ㐿
ਛᢿ
ౣ㐿 ਛᢿ
ωωωωωωω
ࡊࡠࠣ࡜ࡓߩᵹࠇ
࠻࡟࡯ࠬࡃ࠶ࡈࠔ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
139
第 2 章 依存機能
<注意事項>
トレーストリガについて
• この機能は FR60Lite または FR80S 使用時以外では使用できません。ただし FR80S 使用時は内蔵 RAM
領域に対してライトアクセス可に設定した場合だけ有効となります。
• トレーストリガを設定した場合 , トレース開始トリガが発生するまでトレースは取得されません。トレー
ス開始トリガ発生後に実行した分岐命令の飛び先アドレスから逆アセンブルおよびソースがトレース表
示されます。また,トレース終了トリガ発生直前に実行した分岐命令アドレスまでトレース表示されます。
• 外部トレースデータの出力タイミングにより,実際のコード実行順序とデータヒット情報の順序が入れ換
わることがあります。そのため , コードイベントとデータイベントの発生が近い場合 , トレースデータが
正常に表示できない場合があります。
140
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.7.1
トレースデータの表示形式
トレースバッファの表示形式には , 3 種類があります。
 トレースデータの表示形式
• 命令実行だけ表示
:インストラクションを指定
• バスサイクルの表示 :RAW データを指定
• ソース行単位で表示 :ソースを指定
 命令実行だけ表示
このモードでは , 命令実行を逆アセンブル単位で表示します。
 バスサイクルの表示
このモードでは , サンプリングしたすべての命令フェッチサイクル , およびデータアクセスサイクルでの
詳細情報を表示します。
 ソース行単位で表示
ソース行だけを表示します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
141
第 2 章 依存機能
2.3.7.2
トレースデータのセーブ
トレースデータをファイルに保存できます。
 トレースデータの保存
トレースデータを指定したファイルに保存します。
操作方法は ,『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」,「4.4.8 トレース」
, または『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.9 SHOW TRACE」を参照して
ください。
142
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.7.3
トレースの注意点
トレースデータの表示および検索に関する注意点を説明します。
 トレース機能の注意点
エミュレータデバッガ使用時では , 次の事項によってトレースを実現しています。
• 分岐命令フェッチ時にアドレス情報を出力する。
このため , トレースデータの表示および検索に関して , 以下のような注意点があります。
• プログラム実行直後について , 分岐命令を実行するまでアドレス情報が出力されないため , 実行直後
側のトレースデータが確立しないことがあります。
• 逆アセンブル表示は , メモリから読み出して処理を行っています。このため , コードフェッチ後に命
令が書き換わっている場合には , 正しく表示されません。
• 検索開始フレーム番号について , 命令の先頭を指定しないと 2 バイト長を超える命令 (LDI:32, LDI:20
命令 ) が正しく表示されないことがあります。
• リアルタイムモードでは , 実時間で動作するため以下の条件のときトレースデータが一部欠落するこ
とがあります ( トレース欠落情報は出力されます ) 。
- 11 サイクル以内に 3 回以上分岐が発生したとき
- データトレースが 3 回以上連続して発生したとき
• トレースオーバフロー時において , 実行開始直前のトレースデータが上書きされるため , 最初の分岐
情報が見つかるまでアドレス表示ができません。
• 次のブレークポイントの組が順に連続するアドレス ( データイベントについては , 要因となるコード
のアドレス ) に設定されている状態でブレークした場合に , ブレーク直前のトレースデータが正常に
表示されません。
- ソフトウェアブレークと I 群のブレーク
- I 群のブレークと I 群のブレーク
参考:
ここでいう I 群のブレークとは以下のブレークです。
• ハードウェアブレーク
• コードイベントブレーク
• データイベントブレーク
これは , 実際のブレーク要因となるアドレスの次のアドレスについて , プリフェッチされただけでブレーク
要因として検出されるためです。
• トレースのデータ欠落フレームは , 有効バスサイクル表示または命令表示のときに次のように表示さ
れます。
*** Address Lost Error ***
( コードフェッチ時のアドレスをサンプリングできなかったフレーム )
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
143
第 2 章 依存機能
• 1 命令ごとのステップ実行では , 1 命令実行するたびにトレースデータが正しくサンプリングされない場合
があるため , *** Address Lost Error *** と表示されることがあります。
144
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.8
パフォーマンス測定
2 つのイベント発生間の時間測定 , 通過回数を測定できます。リアルタイムに実行しながら繰り返
し測定ができ , 実行後 , データを集計し表示を行います。
この機能によりプログラムのパフォーマンスを測定できます。
パフォーマンス測定を行うには , SET MODE コマンドで設定するイベントモードをパフォーマンス
モードにする必要があります。
 パフォーマンス測定の機能
パフォーマンス測定では 2 つのイベント間の時間測定とイベントの発生回数の測定ができます。65535 回
イベントが発生するまで測定できます。
 時間測定
2 つのイベント間の時間を測定します。
イベントは 1 ~ 4 の 4 ポイント設定できますが , パフォーマンス測定モードにより , 以下のような組合せ
となります。
2 区間の組合せは次の番号に固定となります。
区間
開始イベント番号
終了イベント番号
1
1
2
2
3
4
 回数測定
設定したイベントがそのままパフォーマンス測定ポイントとなり , そのイベントが発生した回数を測定
します。
<注意事項>
1. この機能は FR60Lite または FR80S 使用時以外では使用できません。ただし FR80S 使用時は内蔵 RAM
領域に対してライトアクセス可に設定した場合だけ有効となります。
2. イベントモードがトレースモードの場合 , 使用できません。詳細は『SOFTUNE Workbench コマン
ドリファレンスマニュアル』の 「1.6 SET MODE」を参照してください。
3. 外部トレースデータの出力タイミングにより,実際のコード実行順序とデータヒット情報の順序が入れ換
わることがあります。そのため , コードイベントとデータイベントの発生が近い場合 , パフォーマンス測
定データが正常に取得できない場合があります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
145
第 2 章 依存機能
2.3.8.1
パフォーマンス測定手順
パフォーマンス測定は , 以下の手順により行います。
• イベントモードの設定
• タイマの最小測定単位の設定
• パフォーマンスバッファフルブレークの指定
• イベントの設定
• プログラム実行
• 測定結果の表示
• 測定結果のクリア
 イベントモードの設定
[ 環境 ]-[ デバッグ環境の設定 ]-[ デバッグ環境 ] の [ イベント ] タブまたは , SET MODE コマンドにより
イベントモードをパフォーマンスモードにします。
これにより , パフォーマンス測定が有効になります。
(例)
>SET MODE/PERFORMANCE
>
 タイマの最小測定単位の設定
パフォーマンス測定に使用するタイマの測定単位は 1ns です。また , 測定データの分解能は 25ns になり
ます。
 パフォーマンスバッファフルブレークの指定
パフォーマンス測定データ格納用のバッファがいっぱいになった場合 , プログラムの実行を中断できま
す。この機能をパフォーマンスバッファフルブレークとよびます。パフォーマンスバッファは , 65535 回
イベントが発生するといっぱいになります。
パフォーマンスバッファフルブレークを指定しなかった場合は , パフォーマンス測定は終了しますが , ブ
レークはしません。
(例)
>SET PERFORMANCE/NOBREAK ←ブレークしない指定
>
146
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 イベントの設定
イベント設定 ( パフォーマンス区間設定 ) ダイアログ , または SET EVENT コマンドでイベントを設定し
ます。
時間測定の開始 , 終了ポイントは , イベントにより指定します。
イベントは 1 ~ 4 の 4 ポイント設定できますが , パフォーマンス測定では , 以下の表の組合せとなります。
 時間測定
2 区間の組合せは以下の番号に固定となります。
区間
開始イベント番号
終了イベント番号
1
1
2
2
3
4
 回数測定
設定したイベントがそのままパフォーマンス測定ポイントとなります。
 プログラム実行
GO, CALL コマンドによりプログラム実行すると測定されます。ある区間の時間設定中にブレークした
場合は , その区間の測定中のデータは捨てられます。
 測定結果の表示
SHOW PERFORMANCE コマンドで表示を行います。
 測定結果のクリア
CLEAR PERFORMANCE コマンドにより測定データのクリアができます。
(例)
>CLEAR PERFORMANCE
>
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
147
第 2 章 依存機能
2.3.8.2
パフォーマンス測定データの表示
SHOW PERFORMANCE コマンドで時間測定の表示 , 測定回数の表示を行います。
 時間測定の表示
表示を行うには , 開始イベント番号 , または終了イベント番号を指定します。
ߘߩᤨ㑆ౝߩ᷹ቯ࿁ᢙ
ࠗࡌࡦ࠻⇟ภ
5*192'4(14/#0%'6+/'
ᦨዊታⴕᤨ㑆
ᦨᄢታⴕᤨ㑆
GXGPV OKPVKOG
OCZVKOG
CXTVKOG
ᐔဋታⴕᤨ㑆
✚᷹ቯᤨ㑆
VKOG
μU
EQWPV
VQVCN
⴫␜ߩ਄㒢ᤨ㑆ਅ㒢ᤨ㑆㑆㓒ࠍᜰቯߢ߈߹ߔ‫ޕ‬
ᜰቯߐࠇߚᤨ㑆ߪ5'66+/'45%#.'ࠦࡑࡦ࠼ߢ⸳ቯߔࠆ
࠲ࠗࡑߩᦨዊ᷹ቯන૏߇μUߩ႐วߪμUන૏ߣ
PUߩ႐วߪPUන૏ߣ್ᢿߒ߹ߔ‫ޕ‬
5*192'4(14/#0%'6+/'
VKOG
μU
GXGPV OKPVKOG
OCZVKOG
CXTVKOG
ਅ㒢⴫␜ᤨ㑆
਄㒢⴫␜ᤨ㑆
VQVCN
148
EQWPV
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.9
リアルタイムモニタ
リアルタイムモニタ機能について説明します。
 プログラム実行中のコマンド実行
プログラム実行中にメモリの内容をリアルタイムで更新し , ウィンドウに表示する機能をリアルタイム
モニタ機能といいます。
エミュレータデバッガ (MB2198) では , リアルタイムモニタ用に 256 バイト分の領域を 2 領域表示できる
よう , リアルタイムメモリウィンドウを用意しています。リアルタイムメモリウィンドウではプログラ
ム実行前に実際のメモリからデータを読み出して表示する機能 (コピー機能)や書き変わったデータを赤
色表示する機能があります。
 設定方法
リアルタイム領域の設定は以下の方法で行います。
• コマンド
- SET REALTIMEMEMORYAREA
詳 細 は『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』 の「1.47 SET REALTIME
MEMORYAREA」を参照してください。
• ダイアログ
- デバッグ環境設定ダイアログ「リアルタイム領域」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
<注意事項>
リアルタイムモニタ機能には以下の制限があります。
• 外部トレース機能がない場合は使用できません。
外部トレース機能はアダプタボードの仕様により使用できない場合がありますので , ご使用のアダプタ
ボードの仕様を確認してください。
• FR80S をご使用の場合 , 内蔵 RAM 領域以外には設定できません。
内蔵 RAM 領域以外に設定した場合 , データが更新されません。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
149
第 2 章 依存機能
2.3.10
パワーオンデバッグ
パワーオンデバッグについて説明します。
 パワーオンデバッグ
エミュレータデバッガ (MB2198) では , パワーオンデバッグ機能をサポートしています。ターゲットシス
テムの電源投入直後のシーケンスをデバッグ可能です。
パワーオンデバッグの手順は , 次のようになります。
(1) エミュレータ上部にマウントしたアダプタボード上のディップスイッチを設定
(2) ターゲットボードとエミュレータ本体の電源を投入
(3) Workbench を起動 , デバッグを開始
- デバッグのため , ハードウェアブレークなどを設定
(4) パワーオンデバッグを開始するため , [ デバッグ ] - [ 実行 ] - [ パワーオンデバッグ ] メニューを選択
[ ユーザ電源監視電圧 ] ダイアログから監視電圧の下限値を入力
- ステータスバーに "PON" が表示される。
(5) プログラムを実行する。
(6) プログラム実行中のまま , ターゲットボードの電源を切断後 , 再投入
(7) デバッグ作業を行う。
(8) パワーオンデバッグを終了するため , [ デバッグ ] - [ 実行 ] - [ パワーオンデバッグ ] メニューを選択
<注意事項>
• パワーオンデバッグで電源をオフにするときは , 以下の 2 つの条件を満たす状態で行ってください。
- ユーザ電源が 0.9VCC から 0.5VCC まで低下する時間が 25 s 以上
- CPU 動作周波数が 1MHz 以上
• 評価 MCU の品種により使用できない場合があります。詳しくは営業部門へお問い合わせください。
150
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.3.11
アクセス禁止領域
アクセス禁止領域について説明します。
 アクセス禁止領域
アクセス禁止領域とは , 指定した領域に対しデバッガがメモリアクセスを行った場合 ( コマンド , ウィ
ンドウ操作 *) にそのメモリアクセスを抑止する機能です。ただし , プログラムからのメモリアクセスは
抑止されません。
アクセス禁止領域の設定は , 以下のコマンドで行います。
SET MAP/INACCESSIBLE:
アクセス禁止領域の設定
SHOW MAP/INACCESSIBLE:
アクセス禁止領域の表示
CANCEL MAP/INACCESSIBLE:
指定したアクセス禁止領域を削除
ENABLE MAP/INACCESSIBLE:
指定したアクセス禁止領域の有効設定
DISABLE MAP/INACCESSIBLE:
指定したアクセス禁止領域の無効設定
*: メモリ操作コマンド
- アセンブル / 逆アセンブルコマンド
- ロード / セーブコマンド
- 組込み関数 (%BIT, %B, %H, %W, %L, %S, %D)
- 式
- トレース
- ベクタ
- メモリウィンドウ
- ソースウィンドウ
- 逆アセンブルウィンドウ
- ウォッチウィンドウ
- ローカルウィンドウ
- シンボルウィンドウ
 アクセス禁止領域を含む領域のメモリアクセス
アクセスする範囲内にアクセス禁止領域が含まれる場合 , アクセス禁止領域までメモリアクセスを行い ,
アクセス禁止領域に到達したとき点でエラーを出力し , メモリアクセスを中断します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
151
第 2 章 依存機能
2.3.12
RAM チェッカ
RAM チェッカの機能について説明します。
 概要
RAM チェッカは , SOFTUNE Workbench で監視アドレスに対するアクセス履歴のログを取得し , 付属ツー
ル「RAM Checker Viewer」の使用により , ログファイルをグラフィカル表示させることができます。
SOFTUNE Workbench では , 以下の機能を提供します。
• 監視アドレスを 8 ポイント設定可能
• 監視アドレスのデータアクセス履歴を 1ms 間隔でロギング
• 監視アドレスを 100ms 間隔でモニタリング
 RAM チェッカウィンドウ
監視アドレスに対するロギング / モニタリングを行うために , SOFTUNE Workbench にデバッグウィンド
ウ「RAM チェッカ」を追加しました。
RAM チェッカウィンドウの操作方法は『SOFTUNE Workbench 操作マニュアル』の「3.18 RAM チェッ
カウィンドウ」を参照してください。
 使用条件
RAM チェッカは以下の条件で動作します。
• CPU
: FR60Lite または FR80S
• エミュレータ
: MB2198
• アダプタボード
: 外部トレース機能あり
• 通信デバイス
: USB
• デバッグモードの設定
: RAM Checker モード
<注意事項>
• 以下のどちらかの環境の場合 , RAM チェッカ機能は使用できません。
- エミュレータが MB2197 の場合
- 通信デバイスが RS/LAN の場合
• FR80S 使用時 , 内蔵 RAM 領域にライトアクセスで設定した場合だけ有効となります。
152
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 仕様一覧
表 2.3-8 RAM チェッカ仕様一覧
監視ポイント数
8 ポイント
サイズ
バイト / ハーフワード / ワード
イベント機能
最大 4 ポイント
サンプリング時間
1ms ( 固定 )
更新間隔
100ms ( 固定 )
ログファイル形式
SOFTUNE 形式 or CSV 形式
 SOFTUNE 形式
RAM Checker Viewer で表示する場合 ( 推奨 )
デフォルト拡張子は ".SRL"
 CSV 形式
RAM Checker Viewer 以外で表示する場合
デフォルト拡張子は ".CSV"
<注意事項>
CSV 形式は必要とするデータのサイズが SOFTUNE 形式と比較して約 4 倍になります。
 RAM チェッカを使用するには
RAM チェッカを使用するには , 監視ポイント , ログファイル , ロギング状態を GUI またはコマンドで設
定します。
 GUI
RAM チェッカウィンドウのショートカットメニュー [ 設定 …] により , 監視ポイントを設定します。
RAM チェッカウィンドウのショートカットメニュー[ ファイル指定 …] により , ログファイルを設定
します。
RAM チェッカウィンドウのショートカットメニュー [ ロギング開始 ] をチェックし ,
RAM チェッカのロギング状態を有効にします。
 コマンド
SET RAMCHECK コマンドにより , 監視ポイントを設定します。
SET RAMCHECK コマンドにより , ログファイルを設定します。
ENABLE RAMCHECK コマンドにより , RAM チェッカのロギング状態を有効にします。
これらを設定した状態でプログラムを実行させてから , プログラムを停止させるとログファイルが生成
されます。再度実行するとログファイルは上書きされます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
153
第 2 章 依存機能
<注意事項>
GUI のファイル設定でファイルの上書き制御を有効にすると , 実行のたびにログファイルを上書きせずに別
名で保存します。
RAM チェッカに関する設定の詳細は ,『SOFTUNE Workbench 操作マニュアル』の「3.18 RAM チェッカ
ウィンドウ」および『SOFTUNE
,
Workbench コマンドリファレンスマニュアル』の「4.24 SET RAMCHECK」
~「4.28 DISABLE RAMCHECK」を参照してください。
 ロギング中のメモリアクセスについて
エミュレータデバッガ (MB2198) では , プログラム実行中のメモリの読み書きは ,MCU を一度ブレークさ
せてからアクセスし , 再度実行を行っています。そのため , メモリアクセスを行うと , メモリアクセス時
のログを正しく取得できませんので , ロギング中はメモリアクセスを伴う操作 (SET MEMORY,SHOW
MEMORY コマンドやメモリウィンドウの操作など ) を行わないでください。
<注意事項>
ロギング中は , ステータスバーに Stop モードや Sleep モードなどの MCU 実行状態を表示できません。
 ログファイルについて
ログファイルの保存先のファイルシステムにより , 作成可能なログファイルのサイズに以下のような制
限があります。
FAT
: 2GB まで
FAT32 : 4GB まで
NTFS
: 制限なし
その他 : 制限なし
ファイルシステムが FAT, FAT32 の場合 , ファイルサイズの制限を超えるとファイル名を変更してロギン
グを続けます。
<注意事項>
このとき既にファイルが存在する場合 , ログファイルは上書きされます。
動作例
ファイルサイズの制限を超えた場合 ,
filename.srl → filename#1.srl
としてログファイルが作成されます。
再度ファイルサイズの制限を超えた場合 ,
filename#1.srl → filename#2.srl
154
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
•
•
filename#N-1.srl → filename#N.srl
となります。
<注意事項>
1. ログファイルの保存先は , 内蔵 HDD だけサポートしています。保存先がネットワーク上や外部 HDD, 外
部ディスク (CD,DVD,MO など ) などの場合は , サポート対象外となります。
2. RAM チェッカのログファイルを保存するには , ディスクに 500MB 以上の空きが必要となります。ディ
スク容量が 500MB 未満になるとロギングを中断します。
 RAM Checker Viewer
RAM Checker Viewer は , 時間経過によるデータ値の変化をグラフィカル表示させるツールです。データ
値の表示形式は以下の 3 形式です。
• ビット表示 (Logic Analyzer のイメージ )
• データ値表示 ( 折れ線グラフ )
• ビット / データ値表示 ( ビットとデータ値の同時表示 )
その他の表示情報として , CPU の停止とトリガポイントとデータロストがあります。
CPU の停止は , 低消費電力時の STOP モードやパワーオンデバッグ機能における電源切断状態がログに
記録されます。
トリガポイントは , SOFTUNE Workbench のイベントヒットを使用します。トリガポイントを使用するに
は , SOFTUNE Workbench でイベントの設定が必要です。イベントヒットした場合 , イベントヒットの情
報がログに記録されます。
データロストは以下の 2 種類の要因により発生します。
 ハードウェアによるロスト
エミュレータは 1ms 間隔で RAM のデータアクセス履歴を取得しますが , 1ms 以内に同一アドレスへの
データアクセスが 2 回以上発生する場合には , 最後にアクセスしたデータだけ取得します。
ハードウェアによるロストは複数回データアクセスがあったことを示します。
 ソフトウェアによるロスト
SOFTUNE Workbench は 100ms 間隔でエミュレータからデータを取得しますが , ほかのアプリケーション
などの影響により , 100ms 間隔でデータを取得できない場合があります。
この場合はデータを一部表示できませんが , 無効になっている時間帯をグラフィカル表示します。
<注意事項>
ブレークや実行の停止でロギングを停止した場合 , ログの最後に 1ms ~ 15ms のソフトウェアロストが表
示される場合があります。
これは, 実行停止後のログがロギング停止まで取得されるためであり, 実際のデー
タロストではありません。RAM Checker Viewer に関する詳細は , 『RAM チェッカ Viewer マニュアル』
(FswbRView.pdf) またはヘルプを参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
155
第 2 章 依存機能
2.3.13
デバッガの状態を確認するには
ここでは , エミュレータデバッガ (MB2198) におけるデバッガの情報を確認する方法について説明
します。
 デバッガの情報
エミュレータデバッガ (MB2198) では , デバッガ起動時に下記の情報を確認できます。
• SOFTUNE Workbench のファイル情報
• ハードウェアに関する情報
SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門またはサポート部門ま
でお問合せください。
 確認方法
デバッガの情報の確認は以下の方法で行います。
 コマンド
- SHOW SYSTEM
詳細は『SOFTUNE Workbench コマンドリファレンス』の「1.12 SHOW SYSTEM」を参照してください。
 ダイアログ
- バージョン情報ダイアログ
[ ヘルプ ] - [ バージョン情報 ] メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照してください。
 表示内容
FR Family SOFTUNE Workbench VxxLxx
Copyright (c) 1997-2016 Cypress or its subsidiaries
=======================================================
Cpu information file path:CPU 情報ファイルのパス
Cpu information file version:CPU 情報ファイルのバージョン
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name : SOFTUNE Workbench
File Path:SiC911.dll のパス
Version:SiC911.dll のバージョン
---------------------------SiiEd
File Path:SiiEd3.ocx のパス
156
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
Version:SiiEd3.ocx のバージョン
------------------------------------------------------SiM911
Product name : SOFTUNE Workbench
File Path:SiM911.dll のパス
Version:SiM911.dll のバージョン
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler のバージョン
File Path:fcc911s.exe のパス
- FR Family SOFTUNE Assembler のバージョン
File Path:fasm911s.exe のパス
- FR Family SOFTUNE Linker のバージョン
File Path:flnk911s.exe のパス
- FR Family SOFTUNE Librarian のバージョン
File Path:flib911s.exe のパス
- SOFTUNE FJ-OMF to S-FORMAT Converter のバージョン
File Path:f2ms.exe のパス
- SOFTUNE FJ-OMF to INTEL-HEX Converter のバージョン
File Path:f2is.exe のパス
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter のバージョン
File Path:f2es.exe のパス
- SOFTUNE FJ-OMF to HEX Converter のバージョン
File Path:f2hs.exe のパス
------------------------------------------------------SiOsM
Product name : Softune Workbench
File Path:SiOsM911.dll のパス
Version:SiOsM911.dll のバージョン
------------------------------------------------------FR Series Debugger DLL
Product name : SOFTUNE Workbench
File Path:SiD911.dll のパス
Version:SiD911.dll のバージョン
----------------------------
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
157
第 2 章 依存機能
Debugger type
: 現在のデバッガ種別
MCU type
: 現在選択しているターゲット MCU
VCpu dll name
: 現在使用している VCpu dll のパスと名前
VCpu dll version
: 使用中の仮想デバッガ部 DLL のバージョン
DSU type
: 現在使用している DSU 種別
Common version
: モニタ ( 共通 ) のバージョン
Monitor version
: モニタ ( 依存 ) のバージョン
Configuration board ID
: コンフィギュレーションボードの ID
Configuration board version: コンフィギュレーションボードのバージョン
MCU frequency
: 動作周波数
Communication device
: デバイス種別
Baud rate
: 通信ボーレート (RS 接続時 )
Host name
: LAN ホスト名 (LAN 接続時 )
REALOS version
: REALOS のバージョン
------------------------------------------------------SiIODef
Product name : Softune Workbench
File Path : SiIODef.dll のパス
Version : SiIODef.dll のバージョン
=======================================================
Current path:現在使用しているプロジェクトのパス
Language:現在使用している言語
Help file path:ヘルプファイルのパス
158
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4
エミュレータデバッガ (MB2100-01)
エミュレータデバッガ (MB2100-01) の機能について説明します。
 エミュレータデバッガ (MB2100-01) の特長
エミュレータデバッガ (MB2100-01) には以下の特長があります。
 リアルタイム制御
ユーザプログラム実行中に以下の制御ができます。
- メモリ内容の操作 ( 読出し/書込み/比較/充填/転送 )
- イベントの設定/解除
- トレースモードの設定/解除
 フラッシュサポート
RAM 領域と同様にフラッシュメモリへのダウンロードやメモリウィンドウからの読み書きができます。
 多機能のイベント
イベントを以下の 6 種類の機能で使用できます。
- コードブレーク ( ハードウェア )
- データブレーク
- データ監視ブレーク
- シーケンサ
- トレーストリガ
- パフォーマンストリガ
設定できるポイント数は , 機能や品種によって異なります。
詳細はご使用の品種のハードウェアマニュアルを参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
159
第 2 章 依存機能
2.4.1
デバッグを開始するには
デバッグを開始する方法について説明します。
 デバッグを開始するには
デバッグを開始するには[デバッグ]-[デバッグの開始]メニューを選択します。
新しいプロジェクトによりデバッグを開始する場合は , 初期設定を行うためのセットアップウィザード
を起動します。詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.5 セットアップウィザード」を
参照してください。
 デバッグ開始時の確認項目
デバッグ開始時には初期設定についてチェックを行います。
設定が正しくない場合 , デバッグを開始できません。
• DEBUG I/F
DEBUG I/F が有効かどうかを確認します。
詳細は「2.4.1.1 パワーオンリセット」を参照してください。
• ターゲットの動作環境
ターゲットの動作環境に問題がないかどうかを確認します。
詳細は「2.4.1.2 ターゲットの動作環境」を参照してください。
• セキュリティ
セキュリティ機能が有効かどうかを確認します。
詳細は「2.4.1.3 セキュリティ」を参照してください。
160
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.1.1
パワーオンリセット
パワーオンリセットを発行する方法について説明します。
 パワーオンリセットを発行する方法
エミュレータデバッガ (MB2100-01) を起動するには DEBUG I/F を有効にする必要があります。DEBUG
I/F の詳細はご使用の品種のハードウェアマニュアルを参照してください。
エミュレータデバッガ (MB2100-01) ではパワーオンリセットを推奨します。
デバッグ開始時に図 2.4-1 のダイアログが表示された場合は DEBUG I/F が有効になっていないことを示
します。この場合パワーオンリセットを発行してください。パワーオンリセットの発行方法に関しては
, ご使用の品種のハードウェアマニュアルを参照してください。
図 2.4-1 パワーオンリセットを促すメッセージ
<注意事項>
• デバッガ起動時に設定した通信速度基準周波数が正しくない場合 , 以下の問題が発生します。
- DEBUG I/F が有効になっていることを認識できません。
- パワーオンリセットを発行しても DEBUG I/F を有効にできません。
• パワーオンリセット以外で DEBUG I/F を有効にする方法については , ご使用の品種のハードウェアマ
ニュアルを参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
161
第 2 章 依存機能
2.4.1.2
ターゲットの動作環境
ターゲット動作環境の設定について説明します。
 ターゲットの動作環境
エミュレータデバッガ (MB2100-01) では , ターゲットの動作環境に合わせて以下の項目を設定する必要
があります。
- 通信速度基準周波数
- DEBUG I/F ケーブル長
これらの設定はデバッガの通信速度に影響します。
• 通信速度基準周波数
メインクロック (MCLK) を設定します。
エミュレータ (MB2100-01) とユーザシステムの通信速度はこのメインクロックにより変化します。
• DEBUG I/F ケーブル長
DEBUG I/F ケーブルの長さに適合するケーブル長を指定します。
エミュレータ (MB2100-01) から MCU 方向への許容最大転送速度はこのケーブル長により変化します。
 設定方法
ターゲットの動作環境の設定はセットアップウィザードで行います。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.5 セットアップウィザード」を参照してください。
図 2.4-2 セットアップウィザード ( 通信設定 )
162
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• 入力した通信速度基準周波数が実際に使用している値と異なる場合 , デバッガは起動できません。
• DEBUG I/F の詳細は『エンベデッドエミュレータ MB2100-01-E 取扱説明書』を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
163
第 2 章 依存機能
2.4.1.3
セキュリティ
セキュリティについて説明します。
 セキュリティ
エミュレータデバッガ (MB2100-01) では , ターゲット MCU のセキュリティ機能が有効な場合 , デバッグ
開始時にパスワードを入力する必要があります。
セキュリティ機能に関してはご使用の品種のハードウェアマニュアルを参照してください。
 入力方法
デバッグ開始時に以下のダイアログが表示されたら , あらかじめ設定したパスワードを入力してくださ
い。パスワードはデバッガ起動時に毎回入力する必要があります。
パスワードの詳細はご使用の品種のハードウェアマニュアルの「OCD( オンチップデバッガ )」の章の
「起動許可用パスワード」の説明を参照してください。
図 2.4-3 デバッガ接続パスワード
<注意事項>
• パスワード認証が失敗した場合 , デバッガは起動できません。再度デバッガを起動するにはターゲットの
電源を再度投入してください。
• ユーザシステムがバススリープ状態に入っている場合, バススリープを解除してからOK ボタンを押して
ください。バススリープの詳細はご使用の品種のハードウェアマニュアルを参照してください。
164
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.2
デバッグを終了するには
デバッグを終了する方法について説明します。
 デバッグを終了するには
デバッグを終了するには[デバッグ]-[デバッグの終了]メニューを選択します。
ターゲットの電源は[デバッグの終了]メニューを選択したあとに切断してください。
 デバッガが異常終了した場合
何らかの原因によりデバッガが異常終了した場合 , 以下の問題が発生する可能性があります。再度デバッ
グを開始する場合はそれぞれ対処を行ってください。
• フラッシュメモリ上にソフトウェアブレークのコードが残る
フラッシュメモリ領域にソフトウェアブレークを設定している場合 , 一時的にソフトウェアブレーク
のコードでフラッシュメモリの内容を書き換えます。デバッグを正常に終了した場合は書き換えた内
容を元に戻しますが , 異常終了した場合は元に戻せずソフトウェアブレークのコードが残ることがあ
ります。
デバッガ起動時にはこのソフトウェアブレークの有無を確認し , ソフトウェアブレークが残っている
可能性がある場合には以下のメッセージを表示します。
「A で B に設定したソフトウェアブレークが削除されていない可能性があります。
」
A: デバッガが異常終了した際に表示していたプロジェクト名
B: デバッガが異常終了した日付
このメッセージが表示された場合は , フラッシュメモリへプログラムをダウンロードしなおしてくだ
さい。
• DEBUG I/F がプルアップ状態になる
デバッガが異常終了した場合 , DEBUG I/F はプルアップ状態になります。再度デバッグを開始する場合
は , 必ずエミュレータ (MB2100-01) の電源を再度投入してください。
<注意事項>
ソフトウェアブレークに関する警告メッセージは, メッセージに表示されたプロジェクト名以外のプロジェ
クトを使用した場合にも表示されます。
またソフトウェアブレークポイントを削除後 , その他のデバッグ機能を使用中にデバッガが異常終了した場
合でも , 警告メッセージが表示されることがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
165
第 2 章 依存機能
2.4.3
効率よくデバッグを行うには
効率よくデバッグを行うための設定について説明します。
 動作環境の設定
エミュレータデバッガ (MB2100-01) では , 動作環境や用途に合わせて以下の項目を設定することで効率
のよいデバッグが行えます。
- 高速通信基本周波数
詳細は「2.4.3.1 デバッグ時の通信速度を高速にするには」を参照してください。
- デバッグ機能
詳細は「2.4.3.2 デバッグ機能を切り換えるには」を参照してください。
それぞれの設定項目には起動時のデフォルト値があるため , デフォルト値をそのまま使用する場合は設
定を変更する必要はありません。また一度指定した設定値は次回からのデフォルト値になります。
166
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.3.1
デバッグ時の通信速度を高速にするには
デバッグ時の通信速度を高速にするための設定について説明します。
 高速通信基本周波数
エミュレータデバッガ (MB2100-01) では , 高速通信基本周波数を最適な値に設定すると位相変調モード
が有効となり , ターゲットとアダプタ間において高速通信を行うことができます。
高速通信基本周波数は MCU により最適な値が異なります。詳しくはご使用の品種のハードウェアマニュ
アルを参照してください。
 設定方法
高速通信基本周波数の制御は以下の方法で行います。
• ダイアログ
- デバッグ環境設定ダイアログ「動作周波数」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
• コマンド
- SET FREQUENCY
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.45 SET FREQUENCY」を
参照してください。
<注意事項>
高速通信モード時に周波数の値を変更した場合は MCU のリセットを行う必要があります。リセット後に変
更した周波数の値が反映されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
167
第 2 章 依存機能
2.4.3.2
デバッグ機能を切り換えるには
用途に応じてデバッグ機能を切り換える方法について説明します。
 デバッグ機能
デバッグ機能の中には同時に設定できない排他的な機能があります。排他的な機能では用途に応じて
モードを切り換えて使用する必要があります。
モードには以下の 2 種類があります。
• 実行時間モード
ユーザプログラム実行時間の測定方法を選択します。
- 時間測定モード ( デフォルト )
実行開始からブレークするまでの時間を測定します。
- パフォーマンスモード
設定したイベント 2 点間の通過時間を測定します。
• パスカウントモード
通過した回数をカウントするパスカウント機能の使用方法を選択します。
- シーケンスモード
シーケンサ機能を使用します。
パスカウントブレークは使用できません。
- パスカウントブレークモード ( デフォルト )
ハードウェア/カウントブレークを使用します。
シーケンサ機能は使用できません。
 切換え方法
実行時間モード , パスカウントモードの制御は以下の方法で行います。
• ダイアログ
- デバッグ環境設定ダイアログ「イベント」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
• コマンド
- SET MODE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.7 SET MODE (type 2)」を
参照してください。
168
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.4
プログラムを実行するには
ユーザプログラムを実行する方法について説明します。
 プログラムを実行するには
ユーザプログラムを実行するには以下の手順で行います。
1. プロジェクト ( ワークスペース ) を開きます。
[ファイル]-[ワークスペースを開く]メニューを選択してください。
2. デバッグを開始します。
「2.4.1 デバッグを開始するには」を参照してください。
3. 実行したいプログラムをロードします。
プロジェクトのターゲットファイルをロードする場合は[デバッグ]-[ターゲットファイルのロー
ド]メニューを選択してください。
4. プログラムを実行します。
[デバッグ]-[実行]-[連続実行]メニューを選択してください。
ステップ実行などその他の実行に関しては『SOFTUNE Workbench 操作マニュアル』の「4.6.1 実行」
を参照してください。
 プログラム実行中の制御
エミュレータデバッガ (MB2100-01) では , ユーザプログラム実行中に以下の制御が行えます。
• デバッグ機能の設定/解除
• モニタリング
• パワーオンデバッグ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
169
第 2 章 依存機能
2.4.4.1
デバッグ機能の設定/解除
ユーザプログラム実行中にデバッグ機能の設定または解除ができます。
 ユーザプログラム実行中に使用できるコマンド
エミュレータデバッガ (MB2100-01) ではユーザプログラム実行中に特定のデバッグ機能の設定/解除が
できます。ダイアログまたはコマンドのどちらでも設定/解除が可能です。
表 2.4-1 にはユーザプログラム実行中に使用できる主なコマンドを示します。詳細は『SOFTUNE
Workbench コマンドリファレンスマニュアル』の各コマンドの「■ 対応デバッガ」を参照してください。
表 2.4-1 ユーザプログラム実行中に使用できるコマンド (1 / 2)
機能
170
主なコマンド名 (*1)
MCU のリセット
1.3 RESET
メモリ操作 ( リード/ライト )
5.1 EXAMINE
5.2 ENTER
5.3 SET MEMORY
5.4 SHOW MEMORY
5.5 SEARCH MEMORY
5.8 COMPARE
5.9 FILL
5.10 MOVE
5.11 DUMP
ラインアセンブル , 逆アセンブル
6.1 ASSEMBLE
6.2 DISASSEMBLE
ブレークポイントの設定/削除
3.1 SET BREAK (type1)
3.3 SET BREAK (type3)
3.6 CANCEL BREAK
3.7 ENABLE BREAK
3.8 DISABLE BREAK
3.10 SET DATABREAK (type2)
3.12 CANCEL DATABREAK
3.13 ENABLE DATABREAK
3.14 DISABLE DATABREAK
シーケンサの設定/削除
3.15 SET EVENT
3.17 CANCEL EVENT
3.31 SET SEQUENCE (type2)
3.33 CANCEL SEQUENCE
3.34 ENABLE SEQUENCE
3.35 DISABLE SEQUENCE
トレーストリガの設定/削除
4.28 SET TRACETRIGGER
4.30 CANCEL TRACETRIGGER
4.31 ENABLE TRACETRIGGER
4.32 DISABLE TRACETRIGGER
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
表 2.4-1 ユーザプログラム実行中に使用できるコマンド (2 / 2)
主なコマンド名 (*1)
機能
トレース操作
4.15 SET TRACE (type2)
4.18 CLEAR TRACE
4.20 ENABLE TRACE (type2)
4.22 DISABLE TRACE (type2)
4.23 SEARCH TRACE
4.24 SET DATATRACEAREA
4.26 CANCEL DATATRACEAREA
4.33 SET DELAY
*1: 『SOFTUNE Workbench コマンドリファレンスマニュアル』参照
<注意事項>
ユーザプログラム実行中に使用できないコマンドを入力すると以下のエラーメッセージが表示されます。
「E4404S: MCU 実行中は使えないコマンドです」
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
171
第 2 章 依存機能
2.4.4.2
モニタリング
モニタリング機能について説明します。
 モニタリングとは
ユーザプログラム実行中に特定アドレスの値の変化をリアルタイムに参照できる機能です。
特定アドレスの値のほかに , 指定したウォッチ変数の値の変化も参照できます。
 使用方法
モニタリングの使用手順は以下のとおりです。
• メモリウィンドウで指定したアドレスのメモリ値のモニタリングを行う場合
1. メモリウィンドウを表示します。
- [表示]-[メモリ]メニューを選択します。
モニタリングを行いたいアドレスを指定します。
2. 以下のどちらかによりモニタリングを有効にします。
- メモリウィンドウのショートカットメニュー[モニタリング]を選択します。
- [環境]-[デバッグ環境の設定]-[デバッグ環境設定]メニューを選択し , [モニタリング]タ
ブを表示します。
3. プログラムを実行します。
以上により , プログラム実行中に変化があった箇所は赤色で表示されます。
• ウォッチウィンドウで指定したアドレスまたは変数のメモリ値のモニタリングを行う場合
1. ウォッチウィンドウを表示します。
- [表示]-[ウォッチ]メニューを選択します。
モニタリングを行いたいウォッチ変数を登録します。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.7 ウォッチ」を参照してください。
2. 以下のどちらかによりモニタリングを有効にします。
- メモリウィンドウのショートカットメニュー[モニタリング]を選択します。
- [環境]-[デバッグ環境の設定]-[デバッグ環境設定]メニューを選択し , [モニタリング]タ
ブを表示します。
[モニタリング]タブでメモリウィンドウを選択します。詳細は『SOFTUNE Workbench 操作マ
ニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
3. プログラムを実行します。
以上により , プログラム実行中に変化があった変数は赤色で表示されます。
172
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.4.3
パワーオンデバッグ
パワーオンデバッグ機能について説明します。
 パワーオンデバッグとは
ターゲットシステムの電源投入直後のシーケンスをデバッグするための機能です。
 使用方法
パワーオンデバッグの使用手順は以下のとおりです。
• パワーオンデバッグを行う場合
1. デバッグを開始します。
[デバッグ]-[デバッグの開始]メニューを選択してください。
2. パワーオンデバッグモードを有効にします。
[デバッグ]-[実行]-[パワーオンデバッグ]メニューを選択してください。
パワーオンデバッグモードに移行します。
3. ユーザプログラムを実行します。
無限ループなど何もしないユーザプログラムを連続実行することを推奨します。
プログラムの実行を開始すると , プログラムの実行を中断するかどうかの確認ダイアログが表示
されます。
4. 以下のどちらかを行ってください。
- 外部からチップリセットを発行します。
- ターゲットの電源を再度投入します。
電源復帰後 , リセットベクタからプログラムが実行を始めます。
• パワーオンデバッグモードを解除する場合
ユーザプログラム実行前の場合
[デバッグ]-[実行]-[パワーオンデバッグ]メニューを選択してください。
ユーザプログラム実行後の場合
パワーオンデバッグモード中に表示される中断ダイアログで , 中断ボタンを押してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
173
第 2 章 依存機能
<注意事項>
• パワーオンデバッグ中はその他のデバッグ機能は一切使用できません。
• パワーオンデバッグはセキュリティ機能が有効な場合は使用できません。
• パワーオンデバッグメニューを選択すると , 以下をクリアします。
- パフォーマンス測定結果
- 実行サイクル数測定結果
• ユーザプログラム実行中にチップリセットを発行すると , 以下 ( の状態 ) がクリアされます。
- 実行サイクル数測定結果
- パフォーマンス測定結果
- データ監視ブレークのデータ一致状態
• ターゲットの電源を再度投入すると , 以下 ( の状態 ) がクリアされます。
- パフォーマンス測定結果
- トレースデータ
- データ監視ブレークのデータ一致状態
- シーケンスのヒットカウント
- パスカウントブレークのヒットカウント
174
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.5
フラッシュメモリへアクセスするには
フラッシュメモリへのアクセス方法について説明します。
 フラッシュメモリへのアクセス
エミュレータデバッガ (MB2100-01) では , RAM 領域と同様にフラッシュメモリの内容を直接操作できま
す。
 フラッシュメモリの同期とは
フラッシュメモリにデータを書き込んだ場合 , 一時的にデータを保存します。保存したデータとフラッ
シュメモリの内容を一致させる必要があります。
この一致させる操作のことを【フラッシュメモリの同期】とよびます。
フラッシュメモリの同期には 2 種類があります。
• フラッシュメモリの同期[フラッシュ→デバッガ]
フラッシュメモリの内容を反映させます。
• フラッシュメモリの同期[デバッガ→フラッシュ]
保存したデータをフラッシュメモリに反映させます。
 フラッシュメモリの同期の方法
フラッシュメモリの同期には手動で行う方法と , 自動で行う方法があります。
 フラッシュメモリの同期[フラッシュ→デバッガ]
• 手動で行う場合
[環境]-[フラッシュ領域操作]メニューを選択してください。詳細は『SOFTUNE Workbench 操作
マニュアル』の「4.7.4 フラッシュ領域操作」を参照してください。
• 自動的に行う場合
以下のどれかの操作を行う場合に対象のフラッシュメモリ領域を更新していると , 自動的に同期を行
います。
- 以下のファイルをロードする
ターゲットファイル ( ロードモジュールファイル )
バイナリファイル
- 以下のファイルを ( 名前を付けて ) 保存する
ロードモジュールファイル
バイナリファイル
- 以下のウィンドウを表示する
メモリウィンドウ
逆アセンブルウィンドウ
ソースウィンドウ
トレースウィンドウ
- 以下のダイアログを表示する
ラインアセンブルダイアログ ( 逆アセンブルウィンドウ )
ブレーク設定ダイアログ[ソフトウェア]
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
175
第 2 章 依存機能
 フラッシュメモリの同期[デバッガ→フラッシュ]
• 手動で行う場合
[環境]-[フラッシュ領域操作]メニューを選択してください。詳細は『SOFTUNE Workbench 操作
マニュアル』の「4.7.4 フラッシュ領域操作」を参照してください。
• 自動的に行う場合
以下のどれかの操作を行う場合に対象のフラッシュ メモリ領域を更新していると , 自動的に同期を行
ないます。
- ユーザプログラムを実行した場合
- リセットを発行した場合
- デバッグを終了した場合
- ソフトウェアブレークの使用を禁止に設定した場合
- デバッグ開始時に自動的にターゲットファイルをロードする場合
<注意事項>
デバッガの通信速度が通常の場合 , フラッシュメモリの同期処理に時間が掛かります。
フラッシュメモリの同期処理を短くするにはデバッガの通信速度を高速にしてください。詳細は「2.4.3.1
デバッグ時の通信速度を高速にするには」を参照してください。
1 バイトでも内部バッファを変更していると , フラッシュにデータを反映する際に , 変更対象のセクタ全体
に対して書き込みを行います。
176
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 フラッシュメモリの同期の例
• [フラッシュ→デバッガ]の場合
フラッシュメモリの同期[フラッシュ→デバッガ]を行った場合のイメージは以下のとおりです。
図 2.4-4 フラッシュメモリの同期 [ フラッシュ -> デバッガ ] 時のデバッガと
フラッシュメモリの値の変化
࠺ࡃ࠶ࠟ
ࡈ࡜࠶ࠪࡘࡔࡕ࡝
FF FF FF FF
FF
FF
FF
FF
ࡈ࡜࠶ࠪࡘࡔࡕ࡝ࠍᦠㄟ߻
࡙࡯ࠩࡊࡠࠣ࡜ࡓࠍታⴕ
FF FF FF FF
12
34
56
78
หᦼ[ࡈ࡜࠶ࠪࡘ->࠺ࡃ࠶ࠟ]
ࡈ࡜࠶ࠪࡘࡔࡕ࡝ߩหᦼ[ࡈ࡜࠶ࠪࡘ->࠺ࡃ࠶ࠟ] ߇⊒↢
12 34 56 78
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
177
第 2 章 依存機能
• [デバッガ→フラッシュ]の場合
フラッシュメモリの同期[デバッガ→フラッシュ]を行った場合のイメージは以下のとおりです。
図 2.4-5 フラッシュメモリの同期 [ デバッガ -> フラッシュ ] 時のデバッガと
フラッシュメモリの値の変化
࠺ࡃ࠶ࠟ
ࡈ࡜࠶ࠪࡘࡔࡕ࡝
FF FF FF FF
FF
FF
FF
FF
࡙࡯ࠩߦࠃࠆࡔࡕ࡝
ᦠㄟߺࡠ࡯࠼ߥߤ
12 34 56 78
FF
FF
FF
FF
ታⴕ࡝࠮࠶࠻ߥߤ
ࡈ࡜࠶ࠪࡘࡔࡕ࡝ߩหᦼ[࠺ࡃ࠶ࠟ->ࡈ࡜࠶ࠪࡘ] ߇⊒↢
12
34
56
78
<注意事項>
エミュレータデバッガ (MB2100-01) では FLASH ローダは使用できません。したがって[FLASH メモリ]
メニューは使用できません。
178
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.6
プログラム実行を中断するには [ ブレーク ]
ユーザプログラムの実行を中断する方法について説明します。
 ブレーク機能
ユーザプログラムの実行を中断する機能をブレーク機能とよびます。
エミュレータデバッガ (MB2100-01) では , 8 種類のブレーク機能を使用できます。
• コードブレーク ( ハードウェア )
• コードブレーク ( ソフトウェア )
• データブレーク
• トレーストリガブレーク
• 強制ブレーク
• データ監視ブレーク
• シーケンサ
• ガーデッドアクセスブレーク
各ブレーク機能によりプログラム実行を中断した場合 , ブレークしたアドレスとブレーク要因が表示さ
れます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
179
第 2 章 依存機能
2.4.6.1
コードブレーク ( ハードウェア )
指定したアドレスをハードウェアで監視することでプログラム実行を中断する機能です。
 コードブレーク ( ハードウェア ) とは
指定したアドレスをハードウェアで監視することでプログラムを中断する機能です。指定されたアドレ
スの命令を実行する前にブレークします。
コードブレーク ( ハードウェア ) にはパスカウントを設定可能なハードウェア/カウントがあります。
最大設定数は以下のとおりです。
ハードウェア
: 8 ポイント
ハードウェア/カウント : 2 ポイント
コードブレーク ( ハードウェア ) でブレークした場合 , ステータスバーに以下のメッセージが表示されま
す。
• ハードウェア
Break at アドレス by code event break
• ハードウェア/カウント
Break at アドレス by sequential or pass count break
 設定方法
コードブレークの制御は次の方法で行います。
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ/逆アセンブルウィンドウ
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセン
ブルウィンドウ」を参照してください。
• コマンド
- SET BREAK/HARD
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK(type 1)」を
参照してください。
180
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• 遅延スロットに置かれている命令には , コードブレークを設定しないでください。万が一コードブレーク
を設定し分岐命令を実行した場合 , 以下の現象が起こります。
ハードウェア:遅延スロットに設定したブレークは発生しません。
• ブレークポイントを設定する場合は必ず命令の先頭アドレスを指定してください。
先頭以外のアドレスを指定すると , ブレークしないことがあります。
• コードブレークは以下の機能とポイントを共有するため , コードブレークの最大設定数はこれらの機能
の使用状況によって異なります。
- データブレーク
- データ監視ブレーク
- トレーストリガ
- シーケンサ
• ハードウェアまたはハードウェア/カウントブレークをリセットハンドラの先頭に設定した場合 ,
ブ
レークしません。
• パスカウントモードがパスカウントブレークモードの場合 , ハードウェア/カウントブレークは使用で
きません。詳細は「2.4.3.2 デバッグ機能を切り換えるには」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
181
第 2 章 依存機能
2.4.6.2
コードブレーク ( ソフトウェア )
指定したアドレスをソフトウェアで監視することでプログラム実行を中断する機能です。指定され
たアドレスの命令を実行する前にブレークします。
 コードブレーク ( ソフトウェア ) とは
指定したアドレスをソフトウェアで監視することによりプログラムを中断する機能です。条件は以下の
とおりです。
設定領域
: RAM 領域またはフラッシュメモリ領域
ブレーク条件
: 指定されたアドレスの命令を実行する前
最大設定数
: 4096 ポイント
コードブレーク ( ソフトウェア ) でブレークした場合 , ステータスバーに以下のメッセージが表示されま
す。
Break at アドレス by breakpoint
 使用条件
コードブレーク ( ソフトウェア ) を使用する場合 , 以下の方法でソフトウェアブレークの使用を許可に設
定してください。禁止にした場合はフラッシュメモリ領域だけでなく RAM 領域にも設定できません。
• ダイアログ
- セットアップウィザード
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.5 セットアップウィザード」を参照して
ください。
- デバッグ環境設定ダイアログ「ブレーク」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
 設定方法
コードブレークの制御は以下の方法で行います。
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ/逆アセンブルウィンドウ
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセン
ブルウィンドウ」を参照してください。
• コマンド
- SET BREAK/SOFT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK(type 1)」を
参照してください。
182
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• 遅延スロットに置かれている命令には , コードブレーク ( ソフトウェア ) を設定しないでください。設定
すると不正命令例外が発生します。不正命令例外の詳細はご使用の品種のハードウェアマニュアルを参
照してください。
• フラッシュメモリ領域にコードブレーク(ソフトウェア)を設定する場合, 指定したアドレスのフラッシュ
メモリの内容を一時的に書き換えます。詳細は「2.4.5 フラッシュメモリへアクセスするには」を参照し
てください。
• コードブレーク ( ソフトウェア ) を設定した状態でデバッガが異常終了した場合 , フラッシュメモリの内
容が正常でない可能性があります。詳細は「2.4.2 デバッグを終了するには」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
183
第 2 章 依存機能
2.4.6.3
データブレーク
指定アドレスに対しデータアクセス ( リード , ライト ) が行われた場合 , プログラム実行を中断する
機能です。
 データブレークとは
指定アドレスに対しデータアクセス ( リード , ライト ) が行われた場合 , プログラム実行を中断する機能
です。最大 8 ポイント設定可能です。
データブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by data event break
 設定方法
データブレークの制御は以下の方法で行います。
• ダイアログ
- ブレークポイント設定ダイアログ「データ」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• コマンド
- SET DATABREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.9 SET DATABREAK (type 2)」
を参照してください。
<注意事項>
• データブレークは以下の機能とポイントを共有するため , データブレークの最大設定数はこれらの機能
の使用状況によって異なります。
- コードブレーク
- データ監視ブレーク
- トレーストリガ
- シーケンサ
• データブレークは検出アクセスを伴う命令以降の数ステップの命令を実行してから停止する場合があり
ます。
184
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.6.4
トレーストリガブレーク
トレーストリガにてトレース取得を終了した場合にプログラム実行を中断する機能です。
 トレーストリガブレークとは
トレーストリガにてトレース取得を終了した場合にプログラム実行を中断する機能です。1 ポイントだけ
設定可能です。
トレーストリガブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by trace end break
 設定方法
トレーストリガブレークの制御は以下の方法で行います。
• ダイアログ
- トレース設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
• コマンド
- SET TRACE/BREAK
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.12 SET TRACE (type 2)」
を参照してください。
<注意事項>
トレーストリガブレークは以下の機能とポイントを共有するため, トレーストリガブレークの最大設定数は
これらの機能の使用状況によって異なります。
- コードブレーク
- データブレーク
- データ監視ブレーク
- シーケンサ
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
185
第 2 章 依存機能
2.4.6.5
強制ブレーク
プログラムの実行を強制的に中断する機能です。
 強制ブレークとは
プログラムの実行を強制的に中断する機能です。
強制ブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by command abort request
 発生方法
強制ブレークは以下の方法で発生します。
• メニュー
[デバッグ]-[停止]メニュー
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。
• コマンド
ABORT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参照してくだ
さい。
 プログラムが停止しない場合
以下のどれかの場合 , 強制ブレークを発生させてもユーザプログラムが停止しない場合があります。解
決策は以下のとおりです。
• デバッガの通信速度が低速である
[現象]
デバッガの通信速度が低速の場合 , プログラム停止要求の受付けに時間が掛かる場合があ
ります。
[解決策] 停止要求の受付けが完了するまでしばらくお待ちください。
• 割込みレベルが低い
[現象]
プログラム停止要求の割込みレベルが低い場合 , CPU の割込みレベル (ILM) でマスクされ
てしまいます。
[解決策 1]停止要求の割込みレベルを変更し , 再度停止要求を発行してください。
[解決策 2]プログラムの強制停止要求を発行してください。
• パワーオンデバッグ中である
[現象]
パワーオンデバッグ中であることが考えられます。
[解決策] パワーオンデバッグモードを解除してください。
• MCU がハングアップしている
[現象]
MCU がハングアップしていることが考えられます。
[解決策] リセットを発行してください。
186
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
CPU ポーズ状態において強制ブレークを行った場合 , 各モードを解除したのちブレークします。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「付録 C デバッガ中断メッセージ」
を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
187
第 2 章 依存機能
2.4.6.6
データ監視ブレーク
指定したデータアドレスの値が指定データと一致している間に , プログラムが指定命令アドレスに
達した場合に実行を中断するブレーク機能です。
 データ監視ブレークとは
指定したデータアドレスの値が指定データと一致している間に , プログラムが指定命令アドレスに達し
た場合に実行を中断するブレーク機能です。最大 2 ポイント設定可能です。
データ監視ブレークでブレークした場合 , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by breakpoint (data watch)
データ監視ブレークのブレーク条件は図 2.4-6 のように表せます。
図 2.4-6 データ監視ブレークのブレーク条件
ࡊࡠࠣ࡜ࡓߩᵹࠇ
ᜰቯ๮઎ࠕ࠼࡟ࠬ
࠺࡯࠲㗔ၞ
࠺࡯࠲৻⥌ߒߡ޿ߥ޿
႐วࡉ࡟࡯ࠢߒߥ޿
࠺࡯࠲৻⥌
ᜰቯ๮઎ࠕ࠼࡟ࠬ
࠺࡯࠲৻⥌ߒߡ޿ࠆ
႐วࡉ࡟࡯ࠢߔࠆ
 設定方法
データ監視ブレークの制御は以下の方法で行います。
• データ監視ブレーク
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
「ハードウェア / データ監視」
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• コマンド
- SET BREAK/DATAWATCH
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.3 SET BREAK(type3)」
を参照してください。
188
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
<注意事項>
• データ監視ブレークは以下の機能とポイントを共有するため , データ監視ブレークの最大設定数はこれ
らの機能の使用状況によって異なります。
- コードブレーク
- データブレーク
- トレーストリガ
- シーケンサ
• データ監視ブレークはデータ検出アクセスを伴う命令以降の数ステップの命令を実行したのち , 指定ア
ドレスにヒットしたときに停止する場合があります。命令実行中に指定アドレスにヒットすると , プログ
ラムが停止しない場合があります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
189
第 2 章 依存機能
2.4.6.7
シーケンサ
ユーザが指定したイベントの順番どおりにプログラムが実行された場合にプログラム実行を中断す
る機能です。
 シーケンサによる制御
イベントを 2 つ設定し , レベル 1 からレベル 2 へ順番に通過した場合をシーケンサの終了条件とします。
このシーケンサを 2 レベルシーケンサとよびます。
またそれまでの通過情報をリセットし再度レベル 1 通過を監視するリスタート用のイベントも設定でき
ます。
 シーケンサの動作
例に示すように各レベルにイベントを設定した場合 , シーケンサは図 2.4-7 のように動作します。
【例】
レベル 1
:イベント 1
レベル 2
:イベント 2
リスタート :イベント 3
図 2.4-7 シーケンサの動作例
ࡊࡠࠣ࡜ࡓታⴕ㐿ᆎ
࡟ࡌ࡞1
ࠗࡌࡦ࠻1⊒↢
NO
YES
YES
ࠗࡌࡦ࠻3⊒↢
NO
࡟ࡌ࡞2
ࠗࡌࡦ࠻2⊒↢
NO
YES
ࡉ࡟࡯ࠢ
190
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 シーケンサの仕様
エミュレータデバッガ (MB2100-01) のシーケンサの仕様を表 2.4-2 に示します。
表 2.4-2 シーケンサの仕様
機
能
仕
様
レベル数
2 レベル
リスタート機能
あり (1 つ )
各イベントの条件
( コード/データ )
アドレス
パスカウント :1 ~ 1048575
属性
:リード , ライト
データサイズ :バイト/ハーフワード/ワード
( 属性とデータサイズはデータイベントの場合だけ指定可能 )
条件成立時の動作
レベル 1 :レベル 2 へ遷移
レベル 2 :シーケンサ終了
リスタート:シーケンサ開始
 設定方法
シーケンサの制御設定は以下の方法で行います。
• ダイアログ
- シーケンス設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.6 シーケンス」を参照してください。
• コマンド
1. SET EVENT
2. SET SEQUENCE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.15 SET EVENT」または「3.31
SET SEQUENCE(type2)」を参照してください。
<注意事項>
• パスカウントモードがパスカウントブレークモードの場合 , この機能は使用できません。
詳細は「2.4.3.2 デバッグ機能を切り換えるには」を参照してください。
• 外部トレースデータの出力タイミングにより , 実際のコード実行順序とデータヒット情報の順序が入れ
換わることがあります。そのため , コードイベントとデータイベントの発生が近い場合 , 正常に遷移でき
ない場合があります。
• シーケンサは以下の機能とポイントを共有するため , シーケンサの最大設定数はこれらの機能の使用状
況によって異なります。
- コードブレーク
- データブレーク
- データ監視ブレーク
- トレーストリガ
• シーケンサにデータイベントを設定した場合 ,
データイベントは検出アクセスを伴う命令以降の数ス
テップの命令を実行してから停止する場合があります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
191
第 2 章 依存機能
2.4.6.8
ガーデッドアクセスブレーク
メモリ上の保護領域に対し , アクセス違反が発生した場合 , プログラム実行を中断する機能です。
 ガーデッドアクセスブレークとは
ガーデッドアクセスブレークは , メモリの保護領域にアクセスが行われた場合に起こるプログラム実行
の中断のことです。
プログラム実行中にガーデッドアクセスブレークが起こると , ステータスバーに以下のメッセージを表
示してプログラム実行を中断します。
Break at アドレス by guarded access
 設定方法
ガーデッドアクセスブレークの制御は以下の方法で行います。
• ダイアログ
- デバッグ環境設定ダイアログ「ブレーク」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
• コマンド
- ENABLE BREAK /GUARDEDACCESS
- DISABLE BREAK /GUARDEDACCESS
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.7 ENABLE BREAK」また
は「3.8 DISABLE BREAK」を参照してください。
<注意事項>
ガーデッドアクセスブレークが発生するメモリの保護領域の設定についての詳細は, ご使用のハードウェア
マニュアルを参照してください。
192
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.7
プログラム実行にかかる時間を測定するには
プログラム実行にかかる時間を測定する機能について説明します。
 測定内容
エミュレータデバッガ (MB2100-01) では , ユーザプログラム実行時にかかる時間について , 以下の 2 つの
測定ができます。
• 時間測定
プログラム実行開始から停止までにかかる時間を測定します。
詳細は「2.4.7.1 プログラムの実行サイクル数を測定するには」を参照してください。
• パフォーマンス測定
2 点間をプログラム実行が通過するまでにかかる時間を測定します。
詳細は
「2.4.7.2 2 点間の実行サイクル数を測定するには [ パフォーマンス測定 ]」を参照してください。
 測定単位
時間測定とパフォーマンス測定のどちらにも測定単位は以下の 2 つがあります。
実行サイクル測定 : 実行サイクル数で測定します
また測定した実行サイクル数を基に実時間に換算することもできます。
実測値とは異なりますが , 実時間測定ができない場合の実時間の目安になりま
す。
実時間測定
: 実時間で測定します
特定の品種でだけ使用できます。
測定単位の設定は次の方法で行います。
• ダイアログ
- 測定単位ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.14.2 パフォーマンス ( エミュレータデバッ
ガ[MB2100-01])」または「4.6.8.1 実行時間測定時の測定単位」を参照してください。
• コマンド
- SET TIMERSCALE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.64 SET TIMERSCALE」を
参照してください。
<注意事項>
測定単位の設定は時間測定とパフォーマンス測定で共通の設定になります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
193
第 2 章 依存機能
2.4.7.1
プログラムの実行サイクル数を測定するには
プログラムの実行サイクル数を測定する機能について説明します。
 測定項目
プログラムの実行サイクル数または実時間を測定します。測定はプログラム実行のたびに行われ , 測定結
果は以下の値が表示されます。
- 直前のプログラム実行における実行サイクル数または実時間
最大 288,230,376,151,711,743 (2 の 58 乗 -1) サイクルまで測定可能
- 前回クリアしてからの実行サイクル数または実時間の合計
最大 18,446,744,073,709,551,615 (2 の 64 乗 -1) サイクルまで測定可能
- 実時間測定の分解能
測定単位で設定した実行サイクル換算周波数に依存します。詳細は『SOFTUNE Workbench 操作マ
ニュアル』の「4.4.14.2 パフォーマンス ( エミュレータデバッガ[MB2100-01])」を参照してください。
 測定結果の表示
測定結果の表示は以下のどちらかで行います。
• ダイアログ
- 時間測定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。
• コマンド
- SHOW TIMER
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.27 SHOW TIMER」を参照
してください。
 測定結果のクリア
測定結果のクリアは以下のどちらかで行います。
• ダイアログ
- 時間測定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。
• コマンド
- CLEAR TIMER
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.28 CLEAR TIMER」を参照
してください。
194
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 測定単位の設定
測定単位の設定は以下のどちらかで行います。
• ダイアログ
- 測定単位設定ダイアログ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.8.1 実行時間測定時の測定単位」を参照し
てください。
• コマンド
- SET TIMERSCALE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.64 SET TIMERSCALE」を
参照してください。
 誤差の情報
時間測定ダイアログの[コメント]ボタンを押すと , 測定結果の誤差に関する情報を表示します。
<注意事項>
測定サイクル数は通常 10 サイクル程度の誤差を含みます。ただしバスの状態によりそれ以上になることが
あります。
デバッグ中にチップリセットが発行された場合 , 測定サイクル数はクリアされます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
195
第 2 章 依存機能
2.4.7.2
2 点間の実行サイクル数を測定するには [ パフォーマンス測定 ]
2 点間の実行サイクル数を測定する方法について説明します。
 パフォーマンス測定
エミュレータデバッガ (MB2100-01) では , ユーザプログラム実行中に通過した 2 点間の実行サイクル数
または実時間を測定します。
パフォーマンス測定の特長は以下のとおりです。
• 2 点間を実行するのに掛かる実行サイクル数または実時間を測定します。
• 2 点間の測定を 1 回とし , 最大 65535 回まで測定できます。
• 2 点間を 1 区間とすると , 設定できる区間は 1 区間だけです。
以下にパフォーマンス測定のイメージを示します。
図 2.4-8 パフォーマンス測定のイメージ
ᦨᄢ65535࿁߹ߢ᷹ቯ
ታⴕ㐿ᆎ
ታⴕ⚳ੌ
1
㐿ᆎ
2
65535
⚳ੌ
᷹ቯߒߡ޿ࠆ
᷹ቯߢ߈ߥ޿
 測定項目
パフォーマンス測定項目は以下のとおりです。
測定回数 : 2 点間を通過した回数の累積
平均
: 2 点間を通過した実行サイクル数または実時間の合計を測定回数で
割った平均値
最小
: 2 点間を実行するのに掛かった実行サイクル数または実時間の最小値
最大・最小測定の対応品種の場合だけ有効です。
最大
: 2 点間を実行するのに掛かった実行サイクル数または実時間の最大値
最大・最小測定の対応品種の場合だけ有効です。
- 実時間測定の分解能
測定単位で設定した実行サイクル換算周波数に依存します。詳細は『SOFTUNE Workbench 操作マ
ニュアル』の「4.4.14.2 パフォーマンス ( エミュレータデバッガ[MB2100-01])」を参照してください。
196
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
 測定方法
パフォーマンス測定は以下の手順で行います。
1. 測定区間の設定
2. 測定の実施
3. 測定結果の表示
いずれも GUI ( ウィンドウまたはダイアログ ) で行う方法と , コマンドだけで行う方法の 2 種類がありま
す。どちらの方法でも測定結果に違いはありません。
◇ GUI による測定
1. パフォーマンスウィンドウを表示します。
• [ 表示 ] - [ パフォーマンス ] メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.18 パフォーマンスウィンドウ」を参照し
てください。
2. パフォーマンス測定区間を設定します。
• パフォーマンスウィンドウ上で右クリックし , ポップアップメニューから[設定]メニューを選
択してください。パフォーマンス設定ダイアログが表示されます。
ここで [ 区間指定 ] タブにてパフォーマンス測定を行いたい区間を設定してください。詳細は
『SOFTUNE Workbench 操作マニュアル』の「4.4.14 パフォーマンス」を参照してください。
3. ユーザプログラムを実行します。
4. 測定結果を表示します。
• パフォーマンスウィンドウ上で右クリックし , ポップアップメニューから [ 更新 ] メニューを選
択してください。パフォーマンス測定結果が表示されます。
◇コマンドによる測定
1. パフォーマンスイベントを設定します。
• SET EVENT コマンドを実行してください。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.15 SET EVENT」を参
照してください。
2. パフォーマンス測定区間を設定します。
• SET PERFORMANCE コマンドを実行してください。
詳 細 は『SOFTUNE
Workbench
コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.2
SET
PERFORMANCE(type 2)」を参照してください。
3. ユーザプログラムを実行します。
4. 測定結果を表示します。
• SHOW PERFORMANCE コマンドを実行してください。
詳 細 は『SOFTUNE
Workbench
コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.4
SHOW
PERFORMANCE」を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
197
第 2 章 依存機能
 測定の終了
パフォーマンス測定は以下のどちらかの場合に終了します。
• 測定回数が 65535 回に達したとき
• 測定途中でユーザプログラムが停止したとき
 再測定
パフォーマンスの再測定とは , ユーザプログラム実行中に測定回数をクリアして最初から測定する機能
です。
再測定を行う場合はパフォーマンスウィンドウのショートカットメニューの [ 再測定 ] を選択してくださ
い。
また実行中にパフォーマンス測定区間 ( イベント ) の再設定も可能です。
この場合イベントを設定した時点で測定を再開します。
<注意事項>
• 実行時間モードが時間測定モードの場合 , この機能は使用できません。詳細は「2.4.3.2 デバッグ機能を
切り換えるには」を参照してください。
• 測定区間として設定した 2 つのトリガ ( 開始 , 終了 ) が同時に発生した場合 , パフォーマンス測定は行え
ません。
• パフォーマンス測定中に ( ブレークポイントなどにより ) プログラム実行が停止した場合 , 再実行のたび
に通常 10 サイクル程度の誤差が発生します。バスの状態によってはそれ以上になる場合もあります。
• ユーザプログラム実行中にパフォーマンス測定区間 ( イベント ) を再設定した場合は , それまでの測定結
果をクリアします。
• パフォーマンス測定中にパフォーマンスウィンドウの [ 更新 ] を行った場合 , 測定回数だけ表示されます。
• パフォーマンス測定が継続中かどうかは組込み変数 %GET_PERFORMANCESTATE にて確認できます。
詳 細 は『SOFTUNE
Workbench
コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「13.25
%GET_PERFORMANCESTATE」を参照してください。
198
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8
プログラムの実行履歴を参照するには [ トレース ]
トレース機能について説明します。
 トレースとは
プログラムの実行履歴を記録する機能をトレースとよびます。
トレースデータには以下の情報が含まれ , プログラムの実行履歴の解析に利用できます。
• プログラムを実行した履歴
: 分岐前後のアドレスだけ記録します
• プログラム実行中にアクセスしたデータ: 指定した属性だけ記録します
 トレース機能
エミュレータデバッガ (MB2100-01) のトレース機能には以下のものがあります。
• トレーストリガ:ヒットした時点でトレースデータの取得を停止します
• トレースフィルタ:一部の属性のデータだけ取得します
• 強制開始:トレーストリガにヒットしトレース取得を停止している状態で , ユーザプログラムの
実行を停止せずにトレース取得を強制的に開始します
• 強制終了:トレース取得中に , ユーザプログラムの実行を停止せずにトレース取得を強制的に終
了します
 トレースデータの取得
トレースデータの取得開始/終了は以下のタイミングで行われます。
◇取得開始
• ユーザプログラムを実行した場合
• ユーザプログラム実行時に [ 強制開始 ] メニューを選択した場合
◇取得終了
• ユーザプログラムを停止した場合
• トレーストリガにヒットした場合
• トレースデータ取得中に [ 強制終了 ] メニューを選択した場合
 トレースバッファ
記録したデータを格納する場所をトレースバッファとよびます。
またトレースバッファ内に格納された 1 データ単位をフレームとよびます。
トレースバッファの容量は最大 1024 フレームです。
トレースバッファはリング状の構造となっているので , トレースバッファがいっぱいになった場合は自
動的にトレースバッファの先頭から上書きします。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
199
第 2 章 依存機能
トレースバッファには図 2.4-9 のようにデータが格納されます。
図 2.4-9 トレースデータの取得
٠ࡊࡠࠣ࡜ࡓታⴕ߇ࡉ࡟࡯ࠢߒߚ႐ว
ታⴕ㐿ᆎ
ታⴕ஗ᱛ
ω
ታⴕ㐿ᆎ
ታⴕ஗ᱛ
ω
ω
ω
ࡊࡠࠣ࡜ࡓߩᵹࠇ
࠻࡟࡯ࠬࡃ࠶ࡈࠔ
| ---------------ᦨᄢ 1024 ࡈ࡟࡯ࡓ---------------|
٠࠻࡟࡯ࠬ࠻࡝ࠟߦࡅ࠶࠻ߒࡉ࡟࡯ࠢߒߚ႐ว
ታⴕ㐿ᆎ
࠻࡟࡯ࠬ࠻࡝ࠟ
ࡉ࡟࡯ࠢ
ታⴕ㐿ᆎ
ታⴕ஗ᱛ
ω
ω
ω
ω
ࡊࡠࠣ࡜ࡓߩᵹࠇ
࠻࡟࡯ࠬࡃ࠶ࡈࠔ
| ---------------ᦨᄢ 1024 ࡈ࡟࡯ࡓ---------------|
٠࠻࡟࡯ࠬ࠻࡝ࠟߦࡅ࠶࠻ߒࡉ࡟࡯ࠢߒߥ޿႐ว
ታⴕ㐿ᆎ
࠻࡟࡯ࠬ࠻࡝ࠟ
ω
ω
ᒝ೙㐿ᆎ
ω
ᒝ೙஗ᱛ
ω
ࡊࡠࠣ࡜ࡓߩᵹࠇ
࠻࡟࡯ࠬࡃ࠶ࡈࠔ
| ---------------ᦨᄢ 1024 ࡈ࡟࡯ࡓ---------------|
<注意事項>
強制開始を行うと , それまでのトレースデータはクリアされます。
200
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8.1
トレースデータを表示するには
トレースデータを表示する方法について説明します。
 トレースデータの表示形式について
トレースデータの表示形式には以下の 3 種類があります。
RAW データ
: トレースデータを解析せずに表示します
インストラクション : トレースデータを命令実行順に表示します
: トレースデータをソース行単位で表示します
ソース
 トレースデータの表示位置について
トレースデータにはフレームごとに番号が付けられます。この番号をフレーム番号とよびます。
トレースバッファ内のどの位置から表示するかの指定は , フレーム番号により行います。
図 2.4-10 トレース時のフレーム番号
࠻࡟࡯ࠬ࠻࡝ࠟ⊒↢
ࡊࡠࠣ࡜ࡓߩ
ᵹࠇ
ࡈ࡟࡯ࡓ⇟ภ
通常は最後にサンプリングされたトレースデータがフレーム番号 0 となります。
ただしシーケンサを設定していた場合 , 以下のとおりフレーム番号が付きます。
• 終了トリガ発生位置のトレースデータ:フレーム番号 0
• トリガ発生位置に到達するまでにサンプリングされたトレースデータ:負のフレーム番号
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
201
第 2 章 依存機能
 トレースデータの表示方法
トレースデータはトレースウィンドウまたはコマンドウィンドウに表示されます。
表示方法は以下のとおりです。どちらの方法でも違いはありません。
◇トレースウィンドウへの表示
1. トレースウィンドウを表示します。
• [ 表示 ] - [ トレース ] メニューを選択します。
2. トレースウィンドウの表示モードを選択します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [RAW データ ] [ インストラ
クション ] [ ソース ] メニューのどれかを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」を参照してくだ
さい。
3. ( 既にトレースウィンドウを表示していた場合は ) トレースデータを更新します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [ 更新 ] メニューを選択して
ください。トレースウィンドウのトレースデータが更新されます。
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」を参照してくだ
さい。
◇コマンドウィンドウへの表示
1. 表示モードごとにトレースデータを表示します。
RAW データの場合
:SHOW TRACE
インストラクションの場合 :SHOW DETAILTRACE
ソースの場合
:SHOW DETAILTRACE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.16 SHOW TRACE (type 1)」
または「4.27 SHOW DETAILTRACE」を参照してください。
<注意事項>
逆アセンブルを行った時の表示は , メモリから読み出して処理を行っています。このためコードフェッチ後
に命令が書き換わっている場合には , 正しく表示されません。
202
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8.1.1
トレースデータの表示例 (RAW データ )
トレースデータを RAW データ表示した場合の表示内容について説明します。
 RAW データ表示
RAW データ表示では , エミュレータから出力されるフレームを解析せずそのまま表示されます。
図 2.4-11 は RAW データ表示の例です。
図 2.4-11 RAW データ表示
チップリセットが発生した場合 , 図 2.4-12 のように "frame no" の隣に "***Chip Reset***" と表示します。
このフレームはチップリセットを検出したことで発見したフレームではなく , 加工して出力されるフ
レームです。
図 2.4-12 RAW データ表示 ( チップリセット発生時 )
ローレベルリセットが発生した場合 , 図 2.4-13 のように「b-cause」に "LReset" と表示します。この際「baddr」にはリセット発生アドレスが表示されます。
図 2.4-13 RAW データ表示 ( ローレベルリセット発生時 )
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
203
第 2 章 依存機能
frame no.
フレーム番号を 10 進数で表示します。
b-addr
分岐アドレス , ローレベルリセット発生アドレス (16 進数 ) またはスタンバイ状態を表示します。
• 分岐アドレスの場合
分岐先アドレスが 110C6 の場合:"-> 000110C6"
分岐元アドレスが 110A8 の場合:"000110A8 ->"
• ローレベルリセット発生アドレスの場合
発生アドレスが 11002 の場合:"00011002"
• スタンバイ状態の場合
CPU sleep :CPU スリープ
bus sleep :バススリープ
timer
:タイマ
stop
:ストップ
b-cause
分岐要因またはローレベルリセット発生情報を表示します。
Branch
:分岐命令実行
Trap
:例外・トラップ
INT
:割込み
RETI
:RETI 命令実行
CALL
:CALL/CALL:D 命令実行
RET
:RET/RET:D 命令実行
Break
:ブレーク
Go
:ユーザプログラム実行開始
LReset
:ローレベルリセット発生
a-addr
データアクセスされたアドレス (16 進数 ) を表示します。
a-stat
アクセスステータス (read/write) を表示します。
a-size
アクセスサイズを表示します。
204
byte
:バイト
half
:ハーフワード
word
:ワード
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
a-type
アクセスタイプを表示します。
cpu
:CPU アクセスが発生したことを示します。
dma
:DMA アクセスが発生したことを示します。
lost
:CPU アクセスと DMA アクセスが同時に発生したことを示します。
この場合 CPU アクセスのデータだけトレースされます。
a-data
アクセスデータ (16 進数 ) を表示します。
ただし以下のように a-stat と a-type の状態によりリード ID を表示する場合があります。
a-stat
a-type
a-data
read
dma
リードアクセスデータ
write
-
ライトアクセスデータ
read
cpu/lost
リード ID
r-id
a-data のリード ID と r-data を関連付ける ID を表示します。
リード ID と r-id が一致している場合 , そのフレームの r-data がリードアクセスデータとなります。
r-data
CPU リードアクセスのデータ値 (16 進数 ) を表示します。
<注意事項>
CPU と DMA のアクセスが同時に発生した場合 , CPU からのアクセスだけトレースされます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
205
第 2 章 依存機能
2.4.8.1.2
トレースデータの表示例 ( インストラクション )
トレースデータをインストラクション表示した場合の表示内容について説明します。
 インストラクション表示
インストラクション表示は , RAW データ表示の分岐アドレスを逆アセンブル表示したものです。図 2.414 はインストラクション表示の例です。
図 2.4-14 インストラクション表示
インストラクション表示では RAW データ表示での情報に加え , 以下の情報が表示されます。
mnemonic
分岐アドレスと分岐アドレスの間の実行された命令の逆アセンブルを表示します。
補完している行の場合は b-cause から r-data までの情報が表示されません。
図 2.4-14 の [RET] のように mnemonic の命令が括弧で表示されている場合 , その命令が実行されてい
ない可能性があることを示します。
[ 例外 ] の場合
: 実行されていません。
[INT 命令 ] の場合 : 実行されています。
<注意事項>
分岐アドレス (b-addr) は分岐アドレス間の命令を抽出し , 逆アセンブルでフレーム間を補完しています。補
完している場合はフレーム番号が空欄になっています。
206
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8.1.3
トレースデータの表示例 ( ソース )
トレースデータをソース行表示した場合の表示内容について説明します。
 ソース表示
ソース表示ではソース行だけを表示します。図 2.4-15 はソース表示の例です。
図 2.4-15 ソース表示
frame no.
フレーム番号を 10 進数で表示します。
source
実行したソース行を表示します。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
207
第 2 章 依存機能
2.4.8.2
トレースデータを保存するには
トレースデータの保存について説明します。
 トレースデータを保存するには
トレースデータは指定したファイルに保存できます。
保存方法は GUI ( ウィンドウまたはダイアログ ) で行う方法と , コマンドだけで行う方法の 2 種類があり
ます。どちらの方法でも違いはありません。
◇ GUI による保存
1. トレースウィンドウを表示します。
• [ 表示 ] - [ トレース ] メニューを選択します。
2. トレースデータを保存するファイル名を指定します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [ セーブ ] メニューを選択し
てください。名前を付けて保存ダイアログが表示されます。
ここで保存するファイル名と保存先を指定してください。詳細は『SOFTUNE Workbench 操作マ
ニュアル』の「4.4.8 トレース」を参照してください。
◇コマンドによる保存
1. トレースデータを保存します。
• SHOW TRACE/FILE コマンドを実行してください。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.16 SHOW TRACE(type
1)」を参照してください。
既にあるファイルに追加保存する場合は SHOW TRACE/FILE/APPEND コマンドを実行してくだ
さい。
208
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8.3
トレースデータを検索するには
トレースデータの検索について説明します。
 トレースデータを検索するには
トレースデータの中から指定したアドレスまたはフレーム番号を表示します。
検索方法は GUI ( ウィンドウまたはダイアログ ) で行う方法と , コマンドだけで行う方法の 2 種類があり
ます。どちらの方法でも違いはありません。
◇ GUI による検索
1. トレースウィンドウを表示します。
• [ 表示 ] - [ トレース ] メニューを選択します。
2. 検索したいアドレスまたはフレーム番号を指定します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [ 検索 ] メニューを選択して
ください。トレース検索ダイアログが表示されます。
ここで表示したいアドレスまたはフレーム番号を指定してください。詳細は『SOFTUNE
Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
◇コマンドによる検索
1. トレースデータを検索します。
• SEARCH TRACE コマンドを実行してください。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.23 SEARCH TRACE」を
参照してください。
<注意事項>
検索アドレスを指定する場合 , 命令の先頭を指定しないと 2 バイト長を超える命令 (LDI:32, LDI:20 命令 ) が
正しく検索できないことがあります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
209
第 2 章 依存機能
2.4.8.4
一部の属性のトレースデータだけを取得するには
トレースフィルタについて説明します。
 トレースフィルタについて
トレースデータとしてコードフェッチやデータアクセス情報を取得する場合 , 指定したアクセス属性の
データだけを取得する機能です。
アクセス属性はリード/ライト/コードから選択できます。
トレースフィルタ機能を使用すると , 指定されたアドレス範囲へのアクセスに関する情報だけバッファ
に確保されるため , トレースバッファの節約にもなります。
 設定方法
トレースフィルタの制御は以下の方法で行います。
◇ GUI による設定
1. トレースウィンドウを表示します。
• [ 表示 ] - [ トレース ] メニューを選択します。
2. トレース設定ダイアログを表示します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [ 設定 ] メニューを選択して
ください。トレース設定ダイアログが表示されますので [ トレース範囲 ] タブを選択してくださ
い。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
◇コマンドによる設定
1. トレースフィルタを設定します。
• SET DATATRACEAREA コマンドを実行してください。
詳 細 は『SOFTUNE
Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.24
SET
DATATRACEAREA」を参照してください。
<注意事項>
アクセス属性の指定において , コード属性の取得を切り替えた場合 , それまでのトレースデータはクリアさ
れます。
210
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.8.5
指定した条件でトレース取得を終了するには
トレーストリガについて説明します。
 トレーストリガについて
MCU のバスの動作を監視して , 指定した条件でトレース取得を終了するトリガを発生させることができ
ます。この機能をトレーストリガとよびます。
トレーストリガはコード属性またはデータアクセス属性のどちらか 1 つだけ設定できます。
トレーストリガにヒットした場合 , プログラム実行を停止することもできます。詳細は
「2.4.6.4 トレーストリガブレーク」を参照してください。
なおトレーストリガヒット時に指定フレーム分のトレースデータを取得してからトレース取得を終了さ
せることもできます。これをディレイとよびます。
 設定方法
トレーストリガの制御は以下の方法で行います。
◇ GUI による設定
1. トレースウィンドウを表示します。
• [ 表示 ] - [ トレース ] メニューを選択します。
2. トレース設定ダイアログを表示します。
• トレースウィンドウ上で右クリックし , ポップアップメニューから [ 設定 ] メニューを選択して
ください。トレース設定ダイアログが表示されますので [ トレーストリガ ] タブを選択してくだ
さい。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。
◇コマンドによる設定
1. トレーストリガを設定します。
• SET TRACETRIGGER コマンドを実行してください。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.28 SET TRACETRIGGER」
を参照してください。
2. トレースディレイを設定します。
• SET DELAY コマンドを実行してください。
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.33 SET DELAY」を参
照してください。
<注意事項>
トレーストリガにヒットした場合 , トリガ発生直前の分岐命令アドレスまでトレース表示されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
211
第 2 章 依存機能
2.4.9
指定領域へのメモリアクセスを抑止するには
アクセス禁止領域について説明します。
 アクセス禁止領域とは
アクセス禁止領域とは , 指定した領域に対しデバッガがメモリアクセスを行った場合 (*1) にそのメモリ
アクセスを抑止する機能です。ただしプログラムからのメモリアクセスは抑止されません。
(*1) コマンドまたはウィンドウ操作によるメモリアクセスを以下に示します。
- メモリ操作コマンド
- アセンブル/逆アセンブルコマンド
- ロード/セーブコマンド
- 組込み関数 (%BIT, %B, %H, %W, %L, %S, %D)
- 式
- トレース
- ベクタ
- メモリウィンドウ
- ソースウィンドウ
- 逆アセンブルウィンドウ
- ウォッチウィンドウ
- ローカルウィンドウ
- シンボルウィンドウ
 設定方法
アクセス禁止領域は , 次のコマンドにより設定します。
• ダイアログ
- デバッグ環境設定ダイアログ「アクセス禁止領域」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照してください。
• コマンド
- SET MAP /INACCESSIBLE
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.14 SET
MAP(type2)」を参照してください。
<注意事項>
アクセスする範囲内にアクセス禁止領域が含まれる場合 , アクセス禁止領域までメモリアクセスを行い , ア
クセス禁止領域に到達した時点でエラーを出力し , メモリアクセスを中断します。
212
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.10
ユーザプログラムからの出力メッセージをデバッガに表示する
には
セミホスティング機能について説明します。
 セミホスティング機能とは
ユーザプログラムより出力されたメッセージをデバッガのウィンドウに表示する機能です。セミホス
ティング機能が有効の品種を使用した場合に使用できます。セミホスティング機能の有無の詳細はご使
用の品種のハードウェアマニュアルの「OCD」の章を参照してください。
図 2.4-16 のように , デバッグ I/O 上のメッセージバッファレジスタ (MBR) への出力要求を受けると , デ
バッガではその内容を受けてウィンドウに出力内容を表示します。
この際ユーザプログラムからデバッガへのデータは図 2.4-16 の矢印のとおり, MBR からDEBUG I/F を経
由して出力されます。
OCD ( オンチップデバッガ ) と MBR の詳細についてはご使用の品種のハードウェアマニュアルを参照し
てください。
図 2.4-16 セミホスティング機能におけるデータの流れ
࡙࡯ࠩ࠲࡯ࠥ࠶࠻
SOFTUNE
Workbench
࡙࡯ࠩࡊࡠࠣ࡜ࡓ
࠲࡯ࡒ࠽࡞
࠙ࠖࡦ࠼࠙
࡙ ࡯ ࠩ ࡔ ࡕ࡝
(ォ ㅍ ࡃ ࠶ ࡈࠔ)
USB
MB2100-01
OCD
MBR
DEBUG I/F
 ターミナルウィンドウとは
ユーザプログラムから MBR への出力要求があった場合にデータを表示するウィンドウをターミナル
ウィンドウとよびます。ターミナルウィンドウの詳細は『SOFTUNEWorkbench 操作マニュアル』の「3.20
ターミナルウィンドウ」を参照してください。
ターミナルウィンドウに出力するデータは , アスキー文字として解釈し出力します。ただし制御文字は
'¥n', '¥r', '¥t' だけをサポートしており , その他の制御文字および 0x80 以降の文字に関しては '.' として出力
されます。
ターミナルウィンドウは表示するデータが取得された時点で表示されます。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
213
第 2 章 依存機能
 セミホスティング機能の使用方法
MBR への出力要求の内容をターミナルウィンドウに表示するには , 以下の手順で行います。
1. ユーザプログラムにて MBR を制御する
図 2.4-16 のようにユーザプログラム内で MBR の制御を行う必要があります。
SOFTUNE Workbench V60L10 以降では , MBR の制御方法を含んだサンプルプロジェクトを添付して
います。これを基に MBR の制御を行ってください。詳細は『SOFTUNE Workbench 操作マニュアル』
の「付録 H セミホスティング機能用サンプルプロジェクト」を参照してください。
2. MBR への出力要求の内容をターミナルウィンドウに表示する
ターミナルウィンドウを表示するには以下の方法で行います。
表示方法は GUI ( ウィンドウ ) で行う方法とコマンドで行う方法の 2 種類があります。どちらの方法
でも違いはありません。
• ウィンドウによる表示
- [ 表示 ]-[ ターミナル ] メニューを選択すると表示される , ターミナルウィンドウに表示します。
詳細は『SOFTUNE Workbench 操作マニュアル』の「3.20 ターミナルウィンドウ」を参照してく
ださい。
• コマンドによる表示
- コマンドウィンドウにて SET LOGGING/TERMINALWINDOW コマンドを入力します。詳細は
『SOFTUNE Workbench コマンドリファレンスマニュアル』の「11.1 SET LOGGING」を参照して
ください。
214
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.4.11
デバッガの状態を確認するには
デバッガの情報を確認する方法について説明します。
 デバッガの情報
エミュレータデバッガ (MB2100-01) では , デバッガ起動時に以下の情報を確認できます。
• SOFTUNE Workbench のファイル情報
• ハードウェアに関する情報
SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門またはサポート部門ま
でお問合せください。
 確認方法
デバッガの情報の確認は次の方法で行います。
• ダイアログ
- バージョン情報ダイアログ
[ ヘルプ ] - [ バージョン情報 ] メニューを選択してください。
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照してください。
• コマンド
- SHOW SYSTEM
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.12 SHOW SYSTEM」を参
照してください。
 表示内容
FR Family SOFTUNE Workbench VxxLxx
Copyright (c) 1997-2016 Cypress or its subsidiaries
=======================================================
Cpu information file path:CPU 情報ファイルのパス
Cpu information file version:CPU 情報ファイルのバージョン
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name : SOFTUNE Workbench
File Path:SiC911.dll のパス
Version:SiC911.dll のバージョン
---------------------------SiiEd
File Path:SiiEd3.ocx のパス
Version:SiiEd3.ocx のバージョン
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
215
第 2 章 依存機能
------------------------------------------------------SiM911
Product name : SOFTUNE Workbench
File Path:SiM911.dll のパス
Version:SiM911.dll のバージョン
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler のバージョン
File Path:fcc911s.exe のパス
- FR Family SOFTUNE Assembler のバージョン
File Path:fasm911s.exe のパス
- FR Family SOFTUNE Linker のバージョン
File Path:flnk911s.exe のパス
- FR Family SOFTUNE Librarian のバージョン
File Path:flib911s.exe のパス
- SOFTUNE FJ-OMF to S-FORMAT Converter のバージョン
File Path:f2ms.exe のパス
- SOFTUNE FJ-OMF to INTEL-HEX Converter のバージョン
File Path:f2is.exe のパス
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter のバージョン
File Path:f2es.exe のパス
- SOFTUNE FJ-OMF to HEX Converter のバージョン
File Path:f2hs.exe のパス
------------------------------------------------------SiOsM
Product name : Softune Workbench
File Path:SiOsM911.dll のパス
Version:SiOsM911.dll のバージョン
------------------------------------------------------FR Series Debugger DLL
Product name : SOFTUNE Workbench
File Path:SiD911.dll のパス
Version:SiD911.dll のバージョン
---------------------------Debugger type
MCU type
VCpu dll name
216
: 現在のデバッガ種別
: 現在選択しているターゲット MCU
: 現在使用している VCpu dll のパスと名前
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
VCpu dll version
: 使用中の仮想デバッガ部 DLL のバージョン
SiDRVo dll version : 使用中の MB2100-01 用ドライバ部
DLL のバージョン
DSU type
: 現在使用している DSU 種別
Adapter version
: アダプタのバージョン
FPGA version
:FPGA のバージョン
Maker ID
: デバイスメーカを示す ID
CPU family ID
: デバイスに搭載される CPU ファミリを示す ID
DSU type ID
:OCD-DSU の実装タイプを示す ID
DSU version ID
: デバイスに搭載される
DSU のバージョン情報を示す ID
Device ID
: デバイス情報を示す ID
Device version ID
: デバイスのバージョン ( 版数 ) 情報を示す ID
OSC clock
: 通信速度基準周波数
PLL clock
: 高速通信基本周波数
Clock mode
: クロックモード [Main/ Sub/ PLL]
Communication mode : 通信モード
Communication device : デバイス種別
REALOS version
:REALOS のバージョン
------------------------------------------------------SiIODef
Product name
: Softune Workbench
File Path
: SiIODef.dll のパス
Version
: SiIODef.dll のバージョン
=======================================================
Current path
: 現在使用しているプロジェクトのパス
Language
: 現在使用している言語
Help file path
: ヘルプファイルのパス
=======================================================
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
217
第 2 章 依存機能
2.5
モニタデバッガ
モニタデバッガの機能について説明します。
 モニタデバッガ
モニタデバッガは , ターゲットシステム上にデバッグ用のモニタを組み込み , ホストコンピュータと通信
することによりデバッグ機能を実現します。
ご使用になる前に , ターゲットモニタプログラムをターゲットハードウェアに合わせて移植する必要が
あります。
218
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.5.1
モニタプログラムが使用するリソース
モニタデバッガのモニタプログラムは , 以下の I/O リソースを使用します。ターゲットハードウェ
アにこれらのリソースを用意する必要があります。
 必要なリソース
モニタプログラムをターゲットハードウェアに組み込むには , 以下のリソースが必要になります。
表 2.5-1 モニタプログラムが使用するリソース
1
UART
必須
ホストコンピュータとの通信用
4800/9600/19200/38400 bps
2
モニタ ROM
必須
約 6KB 必要です。( 詳細はリンクマップを参照し
てください。)
3
ワーク RAM
必須
約 2KB 必要です。( 詳細はリンクマップを参照し
てください。)
4
NMI
スイッチ
オプション
プログラムの強制中断に使用します。このスイッ
チを実装しない場合はブレークポイントだけ停止
可能です。
5
タイマ
オプション
SET TIMER/SHOW TIMER で使用します。
1s 単位で 32 ビットのタイマが必要です。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
219
第 2 章 依存機能
2.5.2
ブレーク
モニタデバッガでは , 2 種類のブレーク機能を使用できます。各ブレーク機能によりプログラム実
行が中断された場合は , ブレークしたアドレスとブレーク要因を表示します。
 ブレーク機能
モニタデバッガでは , 以下の 2 種類のブレーク機能をサポートしています。
• ソフトウェアブレーク
• 強制ブレーク
220
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.5.2.1
ソフトウェアブレーク
メモリ中にブレーク用の命令を埋め込み , その命令実行によりブレークさせる機能です。指定され
たアドレスの命令を実行する前にブレークします。
 ソフトウェアブレークとは
メモリ中にブレーク用の命令を埋め込み , その命令実行によりブレークさせる機能です。指定されたア
ドレスの命令を実行する前にブレークします。
設定可能数は 16 ポイントです。
ソフトウェアブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by breakpoint
 設定方法
ソフトウェアブレークの制御は以下の方法で行います。
• コマンド
- SET BREAK/SOFT
詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を
参照してください。
• ダイアログ
- ブレークポイント設定ダイアログ「コード」タブ
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照してください。
• ウィンドウ
- ソースウィンドウ / 逆アセンブルウィンドウ
<注意事項>
ソフトウェアブレークポイントには以下の注意点があります。
• ROM のような書込みが正しくできない領域には設定できません。この場合は , プログラム実行開始時
( 連続実行やステップ実行などを開始するとき ) にベリファイエラーが発生します。
• 必ず命令の先頭アドレスに設定してください。命令の途中にブレークポイントを設定すると , プログラム
が暴走する場合があります。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
221
第 2 章 依存機能
2.5.2.2
強制ブレーク
プログラムの実行を強制的に中断する機能です。
 強制ブレークとは
プログラムの実行を強制的に中断する機能です。
強制ブレークでブレークした場合は , ステータスバーに以下のメッセージが表示されます。
Break at アドレス by command abort request
 発生方法
強制ブレークは以下の方法で発生します。
• メニュー
[デバッグ]-[停止]メニュー
詳細は『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。
<注意事項>
MCU が低消費電力モード中およびホールド状態での強制ブレークはできません。プログラム実行中 , [ デ
バッグ ] - [ 停止 ] メニューによって強制ブレークを要求した場合 , 低消費電力モード , ホールド状態であれ
ば [ デバッグ ] - [ 停止 ] メニューは無視されます。どうしてもブレークさせたい場合は , [ デバッグ ] - [ 停止 ]
メニュー入力後 , ユーザシステム側で要因を解除するか , [ デバッグ ] - [MCU のリセット ] メニューを用い
て要因を解除してください。実行中に低消費電力モード , ホールド状態になった場合は , ステータスバーに
状態が表示されます。
222
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
第 2 章 依存機能
2.5.3
実行時間測定
プログラムの実行時間を測定する機能です。
 測定項目
プログラムの実行時間を測定します。
実行時間の分解能は 1s で最大 (2 の 32 乗 -1)×1s まで測定可能です。
測定はプログラムの実行のたびに行われ , 測定結果は以下の 2 つの値を表示します。
- 直前のプログラム実行における実行時間
- 前回クリアしてからの実行時間の合計
 測定結果の表示
測定結果の表示は以下のどちらかで行います。
1. ダイアログによる表示
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログに表示します。
2. コマンドによる表示
コマンドウィンドウにて SHOW TIMER コマンドを入力します。
 測定結果のクリア
測定結果のクリアは以下のどちらかで行います。
1. ダイアログによる操作
[デバッグ]-[時間測定]メニューを選択すると表示される時間測定ダイアログにて[クリア]ボタ
ンを押します。
2. コマンドによるクリア
コマンドウィンドウにて CLEAR TIMER コマンドを入力します。
<注意事項>
測定結果はユーザリソースのタイマレジスタの値を表示しています。
詳細は『SOFTUNE Workbench 操作マニュアル』の「付録 E モニタデバッガターゲット ROM 部の作成」
を参照してください。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
223
第 2 章 依存機能
2.5.4
アクセス禁止領域
アクセス禁止領域について説明します。
 アクセス禁止領域
アクセス禁止領域とは , 指定した領域に対しデバッガがメモリアクセスを行った場合 ( コマンド , ウィ
ンドウ操作 *) にそのメモリアクセスを抑止する機能です。ただし , プログラムからのメモリアクセスは
抑止されません。
アクセス禁止領域の設定は , 以下のコマンドで行います。
SET MAP/INACCESSIBLE:
アクセス禁止領域の設定
SHOW MAP/INACCESSIBLE:
アクセス禁止領域の表示
CANCEL MAP/INACCESSIBLE:
指定したアクセス禁止領域を削除
ENABLE MAP/INACCESSIBLE:
指定したアクセス禁止領域の有効設定
DISABLE MAP/INACCESSIBLE:
指定したアクセス禁止領域の無効設定
*: メモリ操作コマンド
アセンブル / 逆アセンブルコマンド
ロード / セーブコマンド
組込み関数 (%BIT, %B, %H, %W, %L, %S, %D)
式
ベクタ
メモリウィンドウ
ソースウィンドウ
逆アセンブルウィンドウ
ウォッチウィンドウ
ローカルウィンドウ
シンボルウィンドウ
 アクセス禁止領域を含む領域のメモリアクセス
アクセスする範囲内にアクセス禁止領域が含まれる場合 , アクセス禁止領域までメモリアクセスを行い ,
アクセス禁止領域に到達したとき点でエラーを出力し , メモリアクセスを中断します。
224
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
付録
付録では , エラーメッセージの一覧 , 制限事項を掲載します。
付録 A 主な変更内容
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
225
付録
付録 A
主な変更内容
ページ
場所
変更箇所
Revision 7.1
-
-
社名変更および記述フォーマットの変換
Revision 8.0
166
2.4.5 フラッシュメモリへ
フラッシュメモリの同期に関する注意事項を追加
アクセスするには
<注意事項>
Revision 9.0
-
226
-
社名変更および記述フォーマットの変換
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
索引
C
C/C++ 言語
C/C++ 言語シンボルでの注意 ...............................40
C/C++ 言語の変数の指定方法 ...............................39
Checker
RAM Checker Viewer ............................................155
RealTimeMemory モード
RealTimeMemory モード ......................................116
S
STUB
STUB 機能とは .......................................................50
D
T
DRAM
DRAM リフレッシュ制御 ......................................76
TBR レジスタ
TBR レジスタの値 .......................................... 79, 117
F
あ
FR80S
FR80S でのデバッグ機能 ....................................108
アクセス
アクセス禁止領域とは ........................................212
フラッシュメモリへのアクセス ........................175
アクセス禁止領域
アクセス禁止領域 ................................ 104, 151, 224
アクセス禁止領域を含む領域のメモリアクセス
.......................................................... 104, 151, 224
アクセス属性
メモリエリアのアクセス属性 ..............................45
アクティブ
アクティブなプロジェクト構成について ..........12
アクティブプロジェクト
アクティブプロジェクトについて ......................10
アセンブル
逆アセンブル ..........................................................34
ラインアセンブル ..................................................34
アライメントエラーブレーク
アライメントエラーブレークとは ..............89, 128
I
I/O ポート
I/O ポートのシミュレーション
( 出力ポート ) ....................................................46
I/O ポートのシミュレーション
( 入力ポート ) ....................................................46
M
MCU
MCU 動作モードの設定 ................................75, 112
R
RAM Checker
RAM Checker Viewer ............................................155
RAM Checker モード
RAM Checker モード ............................................116
RAM チェッカ
RAM チェッカウィンドウ ..................................152
RAM チェッカを使用するには ..........................153
RAW
RAW データ表示 ..................................................203
い
依存関係
依存関係の解析 ......................................................17
プロジェクト間の依存関係について ..................13
イベント
イベントの設定 ....................................................147
イベントモード
イベントモードの設定 ........................................146
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
227
インストラクション
インストラクション表示 .....................................206
う
ウィンドウ
RAM チェッカウィンドウ ..................................152
え
エディタ
外部エディタ ...........................................................22
標準エディタ ...........................................................21
エミュレーション
外部メモリエミュレーション .............................115
エミュレータデバッガ
エミュレータデバッガ .............................31, 73, 108
エミュレータデバッガ (MB2100-01) の特長
..........................................................................159
エラージャンプ
エラージャンプ機能について ...............................19
お
オプション
オプションの設定について ......................15, 22, 24
オプションの設定例 ..............................................23
ツールオプションについて ..................................18
ツールオプションの設定機能 ..............................18
オンザフライ
オンザフライで実行できるコマンド ..........80, 118
か
ガーデッドアクセスブレーク
ガーデッドアクセスブレークとは ......................55
外部エディタ
外部エディタ ..........................................................22
外部ツール
外部ツールについて ..............................................24
外部トリガブレーク
外部トリガブレークとは ..............................90, 129
外部メモリ
外部メモリエミュレーション ............................115
確認方法
確認方法 ..........................................70, 105, 156, 215
カスタマイズ機能
ビルドのカスタマイズ機能について ..................15
カバレッジ
カバレッジ測定機能 ..............................................66
カバレッジ測定操作 ..............................................66
カバレッジ測定手順 ..............................................66
カバレッジ測定範囲の設定 ..................................67
カバレッジの測定 ..................................................67
カバレッジの測定結果の表示 ..............................67
管理
プロジェクト管理機能 ..........................................11
ワークスペース管理機能 ......................................10
き
基本周波数
高速通信基本周波数 ............................................167
逆アセンブル
逆アセンブル ..........................................................34
キャッシュフラッシュ
キャッシュフラッシュ制御 ..........................77, 113
強制ブレーク
強制ブレークとは ....................56, 91, 130, 186, 222
行番号情報
行番号情報 ..............................................................36
切換え方法
切換え方法 ............................................................168
け
形式
プロジェクト形式について ..................................11
228
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
こ
コードイベントブレーク
コードイベントブレークとは .......................84, 123
コードブレーク
コードブレーク ( ソフトウェア ) とは ..............182
コードブレーク ( ハードウェア ) とは ..............180
コードブレークとは .......................................82, 120
コードブレークの流れ ...........................................52
構成
アクティブなプロジェクト構成について ...........12
プロジェクト構成について ...................................12
高速通信
高速通信基本周波数 .............................................167
高速版シミュレータ
高速版シミュレータデバッガの動作条件 ...........42
誤差
誤差の情報 .............................................................195
コマンド
オンザフライで実行できるコマンド ...........80, 118
プログラム実行中のコマンド実行 .....................149
ユーザプログラム実行中に使用できるコマンド
..........................................................................170
さ
最小測定単位
タイマの最小測定単位の設定 .............................146
再測定
再測定 .....................................................................198
サブプロジェクト
サブプロジェクトについて ...................................10
サンプリング
トレースのサンプリング .................................59, 95
し
シーケンサ
シーケンサによる制御 .................................133, 190
シーケンサの仕様 .................................................191
シーケンサの設定方法 .........................................135
シーケンサの動作 .................................................190
時間測定
時間測定の表示 .....................................................148
事項
注意すべき事項 .......................................................22
実行
遅延分岐命令の [ デバッグ ] - [ 実行 ] - [ ステップ
イン ], [ デバッグ ] - [ 実行 ] [ ステップオーバ ] メニューでの注意
....................................................................79, 117
自動ロード
モニタプログラム自動ロード .............................111
シミュレーション
I/O ポートのシミュレーション
( 出力ポート ) ...................................................46
I/O ポートのシミュレーション
( 入力ポート ) ....................................................46
シミュレーション範囲 ...........................................43
シミュレーションメモリ空間 ..............................45
低消費電力モードのシミュレーション ..............49
命令シミュレーション ..........................................44
メモリのシミュレーション ..................................45
リセットのシミュレーション ..............................48
割込みのシミュレーション ..................................47
シミュレータデバッガ
高速版シミュレータデバッガの動作条件 ..........42
シミュレータデバッガ ....................................31, 42
ジャンプ
エラージャンプ機能について ..............................19
出力ポート
I/O ポートのシミュレーション
( 出力ポート ) ..................................................46
仕様一覧
仕様一覧 ................................................................153
使用条件
使用条件 ........................................................152, 182
使用方法
使用方法 ........................................................172, 173
シンタックス
シンタックスについて ..........................................19
シンボル
C/C++ 言語シンボルでの注意 ..............................40
シンボル情報の登録 ..............................................35
シンボルの指定と検索手順 ..................................37
シンボルの種類 ......................................................35
す
スコープ
スコープ ..................................................................37
スコープの移動 ......................................................37
ステップ
遅延分岐命令の [ デバッグ ] - [ 実行 ] - [ ステップ
イン ], [ デバッグ ] - [ 実行 ] [ ステップオーバ ] メニューでの注意
.....................................................................79, 117
せ
セキュリティ
セキュリティ ........................................................164
設定方法
シーケンサの設定方法 ........................................135
設定方法 ...50, 52, 53, 54, 82, 84, 86, 88, 89, 90, 120,
122, 123, 125, 127, 128, 129, 132, 149, 162, 167,
180, 182, 184, 185, 188, 210, 211, 212, 221
トレースの設定方法 ........................................60, 96
設定例
オプションの設定例 ..............................................23
そ
ソース
ソース表示 ............................................................207
ソース行単位
ソース行単位で表示 ......................................62, 141
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
229
測定結果
測定結果のクリア .........................................147, 194
測定結果の表示 .............................................147, 194
測定項目
測定項目 .........................................................194, 196
測定方法
測定方法 .................................................................197
ソフトウェア
コードブレーク ( ソフトウェア ) とは ..............182
ソフトウェアブレーク
ソフトウェアブレークで停止時の制限事項
....................................................................79, 117
ソフトウェアブレークとは .................................221
た
ターゲット
ターゲットの動作環境 ........................................162
タイマ
タイマの最小測定単位の設定 ............................146
ち
チェッカ
RAM チェッカを使用するには ..........................153
チェッカウィンドウ
RAM チェッカウィンドウ ..................................152
遅延分岐命令
遅延分岐命令を実行する場合の注意 ..........79, 117
注意
注意すべき事項 ......................................................22
つ
ツール
外部ツールについて ..............................................24
ツールオプション
ツールオプションについて ..................................18
ツールオプションの設定機能 ..............................18
て
データイベントブレーク
データイベントブレークとは ...................... 86, 125
データ監視ブレーク
データ監視ブレークとは ............................131, 188
データブレーク
データブレークとは ....................................122, 184
データブレークの流れ ..........................................53
低消費電力モード
低消費電力モードのシミュレーション ..............49
デバッガ
エミュレータデバッガ ............................31, 73, 108
高速版シミュレータデバッガの動作条件 ..........42
シミュレータデバッガ ....................................31, 42
デバッガが異常終了した場合 ............................165
デバッガの種類 ......................................................31
デバッガの情報 ..............................70, 105, 156, 215
モニタデバッガ ..............................................31, 218
デバッグ
FR80S でのデバッグ機能 ....................................108
遅延分岐命令の [ デバッグ ] - [ 実行 ] - [ ステップ
イン ], [ デバッグ ] - [ 実行 ] [ ステップオーバ ] メニューでの注意
.................................................................... 79, 117
デバッグ開始時の確認項目 ................................160
デバッグモードの設定 ........................................116
デバッグを開始するには ....................................160
デバッグを終了するには ....................................165
パワーオンデバッグ ............................................150
パワーオンデバッグとは ....................................173
デバッグ機能
デバッグ機能 ........................................................168
230
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
デバッグモード
デバッグモードの設定 .........................................116
展開例
マクロの展開例 .......................................................28
入力方法
入力方法 ................................................................164
と
ハードウェア
コードブレーク ( ハードウェア ) とは ..............180
バスサイクル
バスサイクルの表示 ............................................141
パフォーマンス測定
パフォーマンス測定 ............................................196
パフォーマンス測定の機能 ................................145
パフォーマンスバッファフルブレーク
パフォーマンスバッファフルブレークの指定
..........................................................................146
パワーオンデバッグ
パワーオンデバッグ ............................................150
パワーオンデバッグとは ....................................173
パワーオンリセット
パワーオンリセットを発行する方法 ................161
動作環境
ターゲットの動作環境 .........................................162
動作環境設定 ...........................................................29
動作環境の設定 .......................................74, 110, 166
動作周波数
動作周波数 .......................................................78, 114
動作モード
MCU 動作モードの設定 ................................75, 112
登録
複数プロジェクト登録の制限について ...............10
トリガ
トレーストリガの設定 .........................................139
トレース
トレース .............................................................58, 93
トレース機能の注意点 .................................102, 143
トレースデータ .........................................58, 94, 137
トレースデータのクリア ...............................65, 101
トレースデータの検索 .....................................63, 99
トレースデータの表示 .....................................61, 97
トレースデータの表示形式 .....................62, 98, 141
トレースデータの保存 ...........................64, 100, 142
トレースとは .........................................................199
トレーストリガの設定 .........................................139
トレースのサンプリング .................................59, 95
トレースの設定方法 .........................................60, 96
トレースバッファ .................................................137
トレースフィルタ .................................................139
トレース機能
トレース機能 .........................................................199
トレースデータ
トレースデータの取得 .........................................199
トレースデータの表示位置について .................201
トレースデータの表示形式について .................201
トレースデータの表示方法 .................................202
トレースデータを検索するには .........................209
トレースデータを保存するには .........................208
トレーストリガ
トレーストリガについて .....................................211
トレーストリガブレーク
トレーストリガブレークとは .............................185
トレースバッファ
トレースバッファ .................................................199
トレースバッファフルブレーク
トレースバッファフルブレークとは
...............................................................54, 88, 127
トレースフィルタ
トレースフィルタについて .................................210
に
入力ポート
I/O ポートのシミュレーション ( 入力ポート ) ...46
は
ひ
表示内容
表示内容 ..........................................70, 105, 156, 215
標準エディタ
標準エディタ ..........................................................21
ビルド
ビルド機能 ..............................................................14
ビルドのカスタマイズ機能について ..................15
ふ
フィルタ
トレースフィルタ ................................................139
複数プロジェクト
複数プロジェクト登録の制限について ..............10
フラグ T をクリアする命令
フラグ T をクリアする命令を実行する場合の
注意 ............................................................79, 117
フラッシュメモリ
フラッシュメモリの同期とは ............................175
フラッシュメモリの同期の方法 ........................175
フラッシュメモリの同期の例 ............................177
フラッシュメモリへのアクセス ........................175
ブレーク
アライメントエラーブレークとは ..............89, 128
ガーデッドアクセスブレークとは ......................55
外部トリガブレークとは ..............................90, 129
強制ブレークとは ............................56, 91, 130, 222
コードイベントブレークとは ...................... 84, 123
コードブレークとは ......................................82, 120
コードブレークの流れ ..........................................52
ソフトウェアブレークで停止時の制限事項
.................................................................... 79, 117
ソフトウェアブレークとは ................................221
データイベントブレークとは ...................... 86, 125
データ監視ブレークとは ....................................131
データブレークとは ............................................122
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
231
データブレークの流れ ...........................................53
トレースバッファフルブレークとは
...............................................................54, 88, 127
パフォーマンスバッファフルブレークの指定
..........................................................................146
ブレーク機能 .............................51, 81, 119, 179, 220
フレーム
フレーム番号 ...................................................95, 138
フレーム番号
フレーム番号 ...........................................................59
プログラム
プログラムが停止しない場合 .............................186
プログラム実行 .....................................................147
プログラム実行中のコマンド実行 .....................149
プログラム実行のリアルタイム性 ...............79, 117
プログラムを実行するには .................................169
プログラム実行中
プログラム実行中の制御 .....................................169
プロジェクト
アクティブなプロジェクト構成について ...........12
アクティブプロジェクトについて .......................10
サブプロジェクトについて ...................................10
複数プロジェクト登録の制限について ...............10
プロジェクト間の依存関係について ...................13
プロジェクト管理機能 ...........................................11
プロジェクト形式について ...................................11
プロジェクト構成について ...................................12
プロジェクトについて ...........................................10
へ
変数
C/C++ 言語の変数の指定方法 ...............................39
ほ
ポート
I/O ポートのシミュレーション
( 出力ポート ) ....................................................46
I/O ポートのシミュレーション
( 入力ポート ) ....................................................46
も
モード
MCU 動作モードの設定 ................................ 75, 112
RAM Checker モード ............................................116
RealTimeMemory モード ......................................116
イベントモードの設定 ........................................146
低消費電力モードのシミュレーション ..............49
デバッグモードの設定 ........................................116
モニタデバッガ
モニタデバッガ ..............................................31, 218
モニタプログラム
モニタプログラム自動ロード ............................111
モニタリング
モニタリングとは ................................................172
ゆ
ユーザプログラム実行中
ユーザプログラム実行中に使用できるコマンド
..........................................................................170
ら
ラインアセンブル
ラインアセンブル ..................................................34
り
ま
マクロ
マクロ一覧 ...............................................................25
マクロについて .......................................................25
マクロの展開例 .......................................................28
マクロリスト
マクロリストについて ...........................................15
め
メイク
メイク機能 ...............................................................14
命令
命令実行だけ表示 .....................................62, 98, 141
命令シミュレーション
232
命令シミュレーション ..........................................44
メモリ
メモリのシミュレーション ..................................45
メモリアクセス
アクセス禁止領域を含む領域のメモリアクセス
........................................................... 104, 151, 224
ロギング中のメモリアクセスについて ............154
メモリエリア
メモリエリアのアクセス属性 ..............................45
メモリ空間
シミュレーションメモリ空間 ..............................45
メモリ操作
メモリ操作機能 ......................................................32
リアルタイム性
プログラム実行のリアルタイム性 ..............79, 117
リセット
リセットのシミュレーション ..............................48
リソース
必要なリソース ....................................................219
リフレッシュ
DRAM リフレッシュ制御 .....................................76
れ
レジスタ
TBR レジスタの値 .......................................... 79, 117
レジスタ操作
レジスタ操作 ..........................................................33
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
ろ
ロード
モニタプログラム自動ロード .............................111
ロギング
ロギング中のメモリアクセスについて .............154
ログファイル
ログファイルについて .........................................154
わ
ワークスペース
ワークスペース管理機能 .......................................10
ワークスペースについて .......................................10
割込み
割込みのシミュレーション ...................................47
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
233
234
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
改訂履歴
改訂履歴
Document Title: FR ファミリ SOFTUNETM Workbench 機能説明書 V6 対応
Document Number: 002-04573
Revision
**
*A
ECN#
5194301
Issue Date
Origin of
Change
Description of Change
12/09/2014
MITK
ドキュメントコード 002-04573 としてサイプレス版を登録。
内容およびフォーマットは変更ありません。
04/15/2016
RYOK
これは英語版の 002-04574 Rev *A を翻訳した日本語版です。
FR ファミリ SOFTUNE Workbench 機能説明書 V6 対応 , Spec. # 002-04573 Rev. *A
235