F2MC®-8L/8FX ファミリ ® SOFTUNE Workbench 機能説明書 Support Soft Manual Publication Number CM25-00324 MB90880ÉVÉäÅ[ÉY Cover Sheet Revision 6.1 Issue Date September 1, 2014 F2MC®-8L/8FX ファミリ ® SOFTUNE Workbench 機能説明書 Support Soft Manual MB90880ÉVÉäÅ[ÉY Cover Sheet Support Soft Ma nual はじめに ■ SOFTUNE Workbench とは この SOFTUNE Workbench は , Spansion マイクロプロセッサ / マイクロコントローラ F2MC-8L/8FX ファミリのプログラムの開発を行うためのサポートソフトウェアです。 開発マネージャ , シミュレータデバッガ , エミュレータデバッガ , モニタデバッガを 1 つに統合しており , 効率よく開発を進めることができる統合型開発環境です。 ■ 本書の目的と対象読者 本書は , SOFTUNE Workbench の機能について解説したものです。 本書は , SOFTUNE Workbench を使用して各種製品を開発される技術者の方を対象にし ています。本書をご一読ください。 ■ 商標 SOFTUNE は , Spansion LLC の登録商標です。 F2MC は , Spansion LLC の登録商標です。 Windowsは,米国Microsoft Corporationの米国およびその他の国における登録商標です。 その他の社名および製品名などの固有名詞は , 各社の商標または登録商標です。 ■ 本書の全体構成 本書は , 以下に示す 2 つの章で構成されています。 第 1 章 基本機能 SOFTUNE Workbench の基本機能について説明します。 第 2 章 依存機能 この章では , 各デバッガに依存する機能について説明します。 September 1, 2014, CM25-00324-6a i Su pp or t ii So ft Manu al CM25-00324-6a, September 1, 2014 Support Soft Ma nual 目次 第1章 基本機能..................................................................................................... 1 1.1 ワークスペースの管理機能..................................................................................................... 2 1.2 プロジェクト管理機能............................................................................................................ 4 1.3 プロジェクト間の依存関係..................................................................................................... 6 1.4 メイク / ビルド機能 ................................................................................................................ 7 1.4.1 カスタマイズビルドの機能 .......................................................................................... 8 1.5 インクルード依存関係の解析機能........................................................................................ 10 1.6 ツールオプションの設定機能 ............................................................................................... 11 1.7 エラージャンプの機能.......................................................................................................... 12 1.8 エディタの機能 .................................................................................................................... 14 1.9 外部エディタ登録 ................................................................................................................. 15 1.10 外部ツール登録 .................................................................................................................... 17 1.11 マネージャ部で使用できるマクロ記述................................................................................. 18 1.12 動作環境設定 ........................................................................................................................ 23 1.13 デバッガの種別 .................................................................................................................... 25 1.14 メモリ操作機能 .................................................................................................................... 26 1.15 レジスタ操作 ........................................................................................................................ 27 1.16 ラインアセンブル , 逆アセンブル......................................................................................... 28 1.17 シンボリックデバッグ.......................................................................................................... 29 1.17.1 ローカルシンボルの参照 ............................................................................................ 31 1.17.2 C 言語の変数の参照 ................................................................................................... 32 第2章 依存機能................................................................................................... 33 2.1 シミュレータデバッガ.......................................................................................................... 34 2.1.1 命令シミュレーション ............................................................................................... 35 2.1.2 メモリシミュレーション ............................................................................................ 36 2.1.3 I/O ポートのシミュレーション................................................................................... 37 2.1.4 割込みのシミュレーション ........................................................................................ 38 2.1.5 リセットのシミュレーション..................................................................................... 39 2.1.6 低消費電力のシミュレーション ................................................................................. 40 2.1.7 STUB 機能.................................................................................................................. 41 2.1.8 ブレーク ..................................................................................................................... 43 2.1.8.1 コードブレーク ..................................................................................................... 44 2.1.8.2 データブレーク ..................................................................................................... 45 2.1.8.3 ガーデッドアクセスブレーク................................................................................ 46 2.1.8.4 トレースバッファフルブレーク ............................................................................ 47 2.1.8.5 強制ブレーク......................................................................................................... 48 2.1.9 実行サイクル数測定 ................................................................................................... 49 2.1.10 プログラムの実行履歴を参照するには[トレース]................................................... 50 2.1.10.1 トレースデータを表示するには ............................................................................ 51 2.1.10.2 トレースデータを保存するには ............................................................................ 53 2.1.10.3 トレースデータを検索するには ............................................................................ 54 2.1.10.4 トレース取得を終了するには................................................................................ 55 2.1.11 デバッガの状態を確認するには ................................................................................. 56 2.2 エミュレータデバッガ (MB2141) ......................................................................................... 59 September 1, 2014, CM25-00324-6a iii Su pp or t So ft Manu al 2.2.1 動作環境の設定 .......................................................................................................... 60 2.2.1.1 MCU 動作モード ................................................................................................... 61 2.2.1.2 メモリエリアの種類 .............................................................................................. 62 2.2.1.3 メモリマッピング.................................................................................................. 63 2.2.1.4 タイマの最小測定単位 .......................................................................................... 65 2.2.2 オンザフライで実行できるコマンド .......................................................................... 66 2.2.3 オンザフライ中のメモリアクセス.............................................................................. 67 2.2.4 ブレーク ..................................................................................................................... 69 2.2.4.1 コードブレーク ..................................................................................................... 70 2.2.4.2 データブレーク ..................................................................................................... 72 2.2.4.3 シーケンシャルブレーク....................................................................................... 73 2.2.4.4 ガーデッドアクセスブレーク................................................................................ 75 2.2.4.5 トレースバッファフルブレーク ............................................................................ 76 2.2.4.6 パフォーマンスバッファフルブレーク ................................................................. 77 2.2.4.7 強制ブレーク......................................................................................................... 78 2.2.5 イベント ..................................................................................................................... 79 2.2.5.1 ノーマルモード時の動作....................................................................................... 81 2.2.5.2 マルチトレースモード時の動作 ............................................................................ 83 2.2.5.3 パフォーマンスモード時の動作 ............................................................................ 85 2.2.6 シーケンサによる制御 ............................................................................................... 87 2.2.6.1 シーケンサの設定.................................................................................................. 89 2.2.6.2 シーケンサによるブレーク ................................................................................... 91 2.2.6.3 シーケンサによるトレースサンプリング制御 ...................................................... 92 2.2.6.4 シーケンサによる時間測定 ................................................................................... 94 2.2.6.5 シーケンサによる時間測定例................................................................................ 95 2.2.7 プログラムの実行履歴を参照するには[トレース]................................................... 97 2.2.7.1 シングルトレース.................................................................................................. 98 2.2.7.2 シングルトレースの設定方法.............................................................................. 100 2.2.7.3 マルチトレース ................................................................................................... 102 2.2.7.4 マルチトレースの設定方法 ................................................................................. 104 2.2.7.5 トレースデータの格納状況の表示 ...................................................................... 105 2.2.7.6 トレースデータの表示位置の指定 ...................................................................... 106 2.2.7.7 トレースデータの表示形式 ................................................................................. 107 2.2.7.8 オンザフライによるトレースデータの読出し .................................................... 109 トレースデータを保存するには .......................................................................... 111 2.2.7.9 2.2.7.10 トレースデータを検索するには .......................................................................... 112 2.2.8 パフォーマンス測定 ................................................................................................. 113 2.2.8.1 パフォーマンス測定手順..................................................................................... 114 2.2.8.2 パフォーマンス測定データの表示 ...................................................................... 116 2.2.9 カバレッジ測定 ........................................................................................................ 117 2.2.9.1 カバレッジ測定手順 ............................................................................................ 118 2.2.10 実行時間測定 ............................................................................................................ 121 2.2.11 外部プローブによるサンプリング............................................................................ 123 2.2.12 デバッガの状態を確認するには ............................................................................... 125 2.3 エミュレータデバッガ (MB2146-09/09A/09B) ................................................................... 127 2.3.1 動作環境の設定 ........................................................................................................ 130 2.3.1.1 クロックアップモード ........................................................................................ 131 2.3.1.2 原発振周波数....................................................................................................... 132 2.3.2 フラッシュメモリへの消去 / 書込み......................................................................... 133 iv CM25-00324-6a, September 1, 2014 Support Soft Ma nual 2.3.3 ブレーク ................................................................................................................... 135 2.3.3.1 コードブレーク ................................................................................................... 136 2.3.3.2 データブレーク ................................................................................................... 137 2.3.3.3 データ監視ブレーク ............................................................................................ 138 2.3.3.4 シーケンシャルブレーク..................................................................................... 139 2.3.3.5 強制ブレーク....................................................................................................... 140 2.3.4 リアルタイムトレース ............................................................................................. 141 2.3.4.1 トレースデータの表示 ........................................................................................ 143 2.3.4.2 トレースデータを保存するには .......................................................................... 144 2.3.4.3 トレースデータを検索するには .......................................................................... 145 2.3.5 プログラム実行時の注意 .......................................................................................... 146 2.3.6 RAM モニタリング ................................................................................................... 147 2.3.7 実行サイクル数測定 ................................................................................................. 149 2.3.8 デバッガの状態を確認するには ............................................................................... 151 2.4 エミュレータデバッガ (MB2146-08).................................................................................. 153 2.4.1 動作環境の設定 ........................................................................................................ 154 2.4.1.1 原発振周波数....................................................................................................... 155 2.4.2 フラッシュメモリへの消去 / 書込み......................................................................... 156 2.4.3 FRAM 領域への消去 / 書込み ................................................................................... 158 2.4.4 プログラム実行時の注意 .......................................................................................... 159 2.4.5 フラッシュセキュリティ .......................................................................................... 160 2.4.6 デバッガの起動 / 終了時の注意 ................................................................................ 161 2.4.7 ブレーク ................................................................................................................... 163 2.4.7.1 コードブレーク ................................................................................................... 164 2.4.7.2 強制ブレーク....................................................................................................... 165 2.4.8 デバッガの状態を確認するには ............................................................................... 166 2.5 エミュレータデバッガ (MB2146-07).................................................................................. 168 2.5.1 動作環境の設定 ........................................................................................................ 169 2.5.1.1 応答速度最適化 ................................................................................................... 170 2.5.1.2 原発振周波数....................................................................................................... 171 2.5.1.3 BGM アダプタへの電源供給 ............................................................................... 172 2.5.1.4 デバッガ起動時のフラッシュメモリの同期 ........................................................ 173 ファームウェア自動アップデート ...................................................................... 174 2.5.1.5 2.5.2 フラッシュメモリへの書込み / 消去......................................................................... 175 2.5.3 FRAM 領域への書込み / 消去 ................................................................................... 177 2.5.4 プログラム実行時の注意 .......................................................................................... 178 2.5.5 フラッシュセキュリティ検出機能............................................................................ 179 2.5.6 デバッガの起動 / 終了時の注意 ................................................................................ 180 2.5.7 ブレーク ................................................................................................................... 182 2.5.7.1 コードブレーク ................................................................................................... 183 2.5.7.2 強制ブレーク....................................................................................................... 184 2.5.8 RAM モニタリング ................................................................................................... 185 2.5.9 デバッガの状態を確認するには ............................................................................... 188 2.6 モニタデバッガ .................................................................................................................. 191 2.6.1 フラッシュメモリへの書込み................................................................................... 192 2.6.2 高速ダウンロード..................................................................................................... 193 2.6.3 プログラム実行時の注意 .......................................................................................... 194 2.6.4 ブレーク ................................................................................................................... 195 2.6.4.1 コードブレーク ................................................................................................... 196 September 1, 2014, CM25-00324-6a v Su pp or t 2.6.4.2 2.6.5 付録 付録 A 索引 vi So ft Manu al 強制ブレーク....................................................................................................... 197 デバッガの状態を確認するには ............................................................................... 198 ............................................................................................................... 201 主な変更内容 ................................................................................................................. 202 ............................................................................................................... 203 CM25-00324-6a, September 1, 2014 Support Soft Ma nual 第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 シンボリックデバッグ September 1, 2014, CM25-00324-6a 1 第 1 章 基本機能 1.1 ワークスペースの管理機能 Su pp or t 1.1 So ft Manu al ワークスペースの管理機能 SOFTUNE Workbench のワークスペース管理機能について説明します。 ■ ワークスペースについて SOFTUNE Workbench では , サブプロジェクトを含め , 複数のプロジェクトを管理する ためのコンテナとしてワークスペースを使用します。 例えば , ライブラリを作成するプロジェクトと , それを利用したターゲットファイルを 作成するプロジェクトを 1 つワークスペースに登録できます。 ■ ワークスペース管理機能 複数のプロジェクトを管理するために,ワークスペースでは以下のような情報を管理し ます。 • プロジェクト • アクティブプロジェクト • サブプロジェクト ■ プロジェクトについて SOFTUNE Workbench での作業は , プロジェクトが基本となっています。プロジェクト とは,ターゲットファイルを作成するために必要なファイルや作業手順をすべてまとめ たもので , プロジェクトによって管理されている内容は , プロジェクトファイルにすべ て書き込まれています。 ■ アクティブプロジェクトについて アクティブプロジェクトとは , ワークスペースで基本となるプロジェクトのことで , メ ニューの [ メイク ], [ ビルド ], [ コンパイル / アセンブル ], [ デバッグの開始 ], [ 依存関 係の更新 ] の実行対象となるプロジェクトです。[ メイク ], [ ビルド ], [ コンパイル / ア センブル ], [ 依存関係の更新 ] は , アクティブプロジェクトのサブプロジェクトにも影 響します。 ワークスペースにプロジェクトが登録されている場合は , 必ず 1 つのアクティブプロ ジェクトが存在します。 2 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.1 ワークスペースの管理機能 Support Soft Ma nual ■ サブプロジェクトについて サブプロジェクトとは , ほかのプロジェクトが依存しているプロジェクトです。サブプ ロジェクトのターゲットファイルはその親プロジェクトのターゲットファイルを作成 する際に一緒にリンクされます。 この依存関係はサブプロジェクトが出力するターゲットファイルの共有によって成り 立っているため , 最初にサブプロジェクトをメイク / ビルドします。サブプロジェクト のメイク / ビルドが成功しないと , その親プロジェクトはメイク / ビルドされません。 ただし以下の場合は , サブプロジェクトのターゲットファイルは , 親プロジェクトとリ ンクされません。 • サブプロジェクトとして絶対形式 (ABS) タイプのプロジェクトを指定したとき • ライブラリ (LIB) タイプのプロジェクトにサブプロジェクトを指定したとき ■ 複数プロジェクト登録の制限について 1つのワークスペースには, REALOSタイプのプロジェクトは1つしか登録できません。 September 1, 2014, CM25-00324-6a 3 第 1 章 基本機能 1.2 プロジェクト管理機能 Su pp or t 1.2 So ft Manu al プロジェクト管理機能 SOFTUNE Workbench のプロジェクト管理機能について説明します。 ■ プロジェクト管理機能 プロジェクトによってマイコンシステムを開発するためのすべての情報が管理されま す。 • プロジェクトの構成 • アクティブなプロジェクト構成 • 構成するソースファイル , インクルードファイル , その他のオブジェクトファイル , ライブラリファイルの情報 • 言語ツールの実行前後に実行するツール情報 ( カスタマイズビルド機能 ) ■ プロジェクト形式について プロジェクトファイルの形式には ,「ワークスペースプロジェクト形式」と「旧プロ ジェクト形式」の 2 つの形式があります。 「ワークスペースプロジェクト形式」と「旧プロジェクト形式」とでは , 次のような違 いがあります。 ● ワークスペースプロジェクト形式 • 複数のプロジェクト構成を管理できます。 • マネージャ部で使用できるマクロがすべて使用できます。 • 以前のバージョン * の Workbench では使用できません。 ● 旧プロジェクト形式 • 1 つのプロジェクト構成だけ管理できます。 • マネージャ部で使用できるマクロに制限があります。詳細は ,「1.11 マネージャ部 で使用できるマクロ記述」を参照してください。 • 以前のバージョン * の Workbench で使用できます。 新規プロジェクトを作成した場合は , ワークスペースプロジェクト形式となります。 既存プロジェクトを使用する場合は,そのプロジェクトのプロジェクト形式となります。 ただし , 以前のバージョン * の Workbench で作成したプロジェクトを使用した場合 , ワークスペースプロジェクトにコンバートするかを問い合わせるダイアログが表示さ れます。詳細は ,『SOFTUNE Workbench 操作マニュアル』の「2.13 以前のバージョン の SOFTUNE プロジェクトを読み込む場合」を参照してください。 また , ワークスペースプロジェクト形式のプロジェクトファイルを , 以前のバージョン (*) の Workbench で開くには , 旧プロジェクト形式に変換する必要があります。ほかの プロジェクト形式での保存については ,『SOFTUNE Workbench 操作マニュアル』の 「4.2.7 名前を付けて保存」を参照してください。 *: V30L26 以前 4 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.2 プロジェクト管理機能 Support Soft Ma nual ■ プロジェクト構成について プロジェクト構成とは , ターゲットファイルの特性を指定する一連の設定のことです。 メイク / ビルド / コンパイル / アセンブルはプロジェクト構成単位で行います。 プロジェクト構成は , プロジェクト内に複数作成できます。プロジェクト新規作成時の デフォルトの構成名は Debug になります。プロジェクト構成の新規作成時は , 選択し た既存のプロジェクト構成の設定に基づき , 初期構成が作成されます。新規プロジェク ト構成では , 必ず元の構成と同じファイル群が使われます。 プロジェクト構成を使用することで , コンパイラの最適化レベル , MCU 設定などプロ グラムのバージョンが異なるプログラムの設定を 1 つのプロジェクト内に作成できま す。 プロジェクト構成では , 以下のような情報を管理します。 • ターゲットファイルの名前とディレクトリ • ソースファイルをコンパイル / アセンブル , リンクしてターゲットファイルを作成 するための , 言語ツールのオプション情報 • ファイルをビルド対象にする / しないの情報 • ターゲットファイルをデバッグするためのデバッガの設定情報 ■ アクティブなプロジェクト構成について アクティブなプロジェクト構成とは , デフォルトで [ メイク ], [ ビルド ], [ コンパイル / アセンブル], [デバッグの開始], [依存関係の更新]されるプロジェクト構成のことです。 プロジェクトウィンドウの SRC タブに表示されるファイルの状態や「Dependencies」 フォルダ内の検出されたインクルードファイルは,アクティブなプロジェクト構成の設 定が用いられます。 <注意事項> 旧プロジェクト形式で , 新規に追加されたマクロ機能を使用した場合は , 旧プロジェクト 形式保存時にマクロ記述が展開されます。新規に追加されたマクロ記述については 「1.11 , マネージャ部で使用できるマクロ記述」を参照してください。 September 1, 2014, CM25-00324-6a 5 第 1 章 基本機能 1.3 プロジェクト間の依存関係 Su pp or t 1.3 So ft Manu al プロジェクト間の依存関係 SOFTUNE Workbench のプロジェクト間の依存関係について説明します。 ■ プロジェクト間の依存関係について ほかのプロジェクトが出力するターゲットファイルをリンクする必要がある場合 , [ プ ロジェクト ]-[ プロジェクトの依存関係 ] メニューで必要とするプロジェクトにサブプ ロジェクトを定義します。サブプロジェクトとは , ほかのプロジェクトが依存している プロジェクトのことです。 プロジェクト間に依存関係を定義することで , 親プロジェクトのメイク / ビルドの際に 始めにサブプロジェクトをメイク / ビルドし , サブプロジェクトのターゲットファイル をリンクできます。 プロジェクトの依存関係を用いることで , 1 つのワークスペース上で開発している複数 のプロジェクトを一度にメイク / ビルドできます。 また , [ プロジェクト ]-[ プロジェクト構成 ]-[ ビルド時の構成 ] メニューでサブプロジェ クトをメイク / ビルドする際のプロジェクト構成を指定できます。 6 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.4 メイク / ビルド機能 Support 1.4 Soft Ma nual メイク / ビルド機能 SOFTUNE Workbench のメイク / ビルド機能について説明します。 ■ メイク機能 メイク機能とは , プロジェクトに登録されたすべてのソースファイルのうち , 更新され ているものについてだけコンパイル / アセンブルし , すべてのオブジェクトファイルを 結合してターゲットファイルを生成する機能です。 この機能を使用すると , 必要最小限のファイルだけがコンパイル / アセンブルされるの で , デバッグ中など , ターゲットファイルを作成する時間が大幅に短縮される可能性が あります。 この機能を実現するためには,ソースファイルとインクルードファイルの依存関係を正 確に把握しておく必要があります。SOFTUNE Workbench ではそのためにインクルード の依存関係を解析する機能があります。詳細は ,「1.5 インクルード依存関係の解析機 能」を参照してください。 ■ ビルド機能 ビルド機能とは , ソースファイルが更新されているかどうかにかかわらず , プロジェク トに登録されているすべてのソースファイルをコンパイル / アセンブルし , すべてのオ ブジェクトファイルを結合してターゲットファイルを生成する機能です。 この機能を使用すると , すべてのファイルをコンパイル / アセンブルするので , ター ゲットファイルを作成する時間はかかりますが , 現在のソースファイルで間違いなく ターゲットファイルを作成できます。開発の最終段階のデバッグが終了した時点で , 一 度ビルドを実行されることを推奨します。 <注意事項> バックアップしておいたソースファイルを復元して使用した場合などにメイクを行うと , オブジェクトファイルとソースファイルの整合が取れなくなることがあります。このよう な場合は , 一度 , ビルドを行ってください。 September 1, 2014, CM25-00324-6a 7 第 1 章 基本機能 1.4 メイク / ビルド機能 Su pp or t 1.4.1 So ft Manu al カスタマイズビルドの機能 SOFTUNE Workbench のカスタマイズビルド機能について説明します。 ■ ビルドのカスタマイズ機能について SOFTUNE Workbench では , コンパイル / アセンブル / メイク / ビルド時に起動されるア センブラ / コンパイラ / リンカ / ライブラリアン / コンバータ / コンフィグレータの実 行前後に自動で別ツールを動作させられます。 この機能を使用することで , コンパイラの実行前に文法チェックを起動したり , コン バータの実行後に S フォーマットバイナリコンバータ (m2bs.exe) を起動してモトロー ラ S フォーマット形式のファイルをバイナリ形式のファイルに変換したりするといっ たことが , メイク / ビルド中に自動的に行えます。 ■ オプションの設定について SOFTUNE Workbench からのツールの起動は , ツール名の後にオプションを付加して行 います。オプションには , ファイル名や , 起動するツールに特有のオプションなどの指 定を行います。SOFTUNE Workbench では , オプションに任意のファイル名やツール特 有のオプションを指定することを意味するマクロを用意しています。 パラメータ以外の文字列を指定した場合は , その文字列がそのままツールに渡されま す。パラメータの詳細については ,「1.11 マネージャ部で使用できるマクロ記述」を参 照してください。 ■ マクロリストについて カスタマイズビルドの設定ダイアログでは,マクロ入力のためのマクロリストを用意し ています。ビルドファイル , ロードモジュールファイル , プロジェクトファイルのサブ メニューはそれぞれのサブパラメータを指定したものです。 環境変数は [ ] の中まで指定しないとエラーになります。 8 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.4 メイク / ビルド機能 Support Soft Ma nual 表 1.4-1 マクロリストの対応一覧 マクロリスト マクロ名 ビルドファイル %(FILE) ロードモジュールファイル %(LOADMODULEFILE) プロジェクトファイル %(PRJFILE) ワークスペースファイル %(WSPFILE) プロジェクトディレクトリ %(PRJPATH) ターゲットファイルディレクトリ %(ABSPATH) オブジェクトファイルディレクトリ %(OBJPATH) リストファイルディレクトリ %(LSTPATH) プロジェクト構成名 %(PRJCONFIG) 環境変数 %(ENV[]) テンポラリファイル %(TEMPFILE) <注意事項> [ アウトプットウィンドウを使用する ] にチェックする場合には , 以下のことに注意してく ださい。 • ツール起動後は , そのツールが終了するまでメイク / ビルドは一時中断されます。 • ツール実行中に , ユーザの入力待ちになるようなツールでは , アウトプットウィンドウ は使用できません。アウトプットウィンドウを使用した場合 , ユーザの入力は行えなく なるのでツールを終了できなくなります。ツールを強制的に終了するために , タスク バー上から起動したツールを選択し , Ctrl-C, Ctrl-Z を入力して終了してください。 September 1, 2014, CM25-00324-6a 9 第 1 章 基本機能 1.5 インクルード依存関係の解析機能 Su pp or t 1.5 So ft Manu al インクルード依存関係の解析機能 SOFTUNE Workbench のインクルード依存関係の解析機能について説明します。 ■ 依存関係の解析 通常,ソースファイルにはいくつかのインクルードファイルがインクルードされていま す。どのソースファイルでどのインクルードファイルをインクルードしているかとい う情報を正確に把握しておかないと,ソースファイルに変更がなくインクルードファイ ルにだけ変更がある場合に , SOFTUNE Workbench で正しくメイクできません。 そのため , SOFTUNE Workbench には依存関係を自動的に解析する機能が組み込まれて います。この機能は , [ プロジェクト ]-[ 依存関係の更新 ] メニューを選択することで起 動します。この機能を使えば , インクルードファイル中にさらにインクルードファイル をインクルードしているような場合でも , 正しく依存関係を把握できます。 また SOFTUNE Workbench では , コンパイル / アセンブルを実行したファイルの依存関 係を自動的に更新します。 <注意事項> [ プロジェクト ] - [ 依存関係の更新 ] を実行すると , アウトプットウィンドウに出力され ていた文字列はすべて消去されて , 依存関係の解析結果に置き換わります。エラーメッ セージなど消去されては困るメッセージが表示されている場合は , あらかじめファイルに 保存してから実行してください。 10 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.6 ツールオプションの設定機能 Support 1.6 Soft Ma nual ツールオプションの設定機能 SOFTUNE Workbench から起動する言語ツールなどのツールのオプション設定機能 について説明します。 ■ ツールオプションの設定機能 目的のターゲットファイルを作成するために , コンパイラ / アセンブラ , リンカなどの 言語ツールに , オプションを指定しなければなりません。SOFTUNE Workbench では , 各ツールに指定するオプションも,すべてプロジェクトの構成ごとに登録して管理しま す。 ツールオプションの設定には , すべてのソースファイルに対して有効な設定 ( 共通オプ ション ) と , 特定のソースファイルにだけ有効な設定 ( 個別オプション ) があります。 設定方法については ,『SOFTUNE Workbench 操作マニュアル』の「4.5.5 プロジェクト の設定」を参照してください。 ● 共通オプション プロジェクトに登録されたすべてのソースファイルについて有効なオプションです ( 個 別オプションが設定されているソースファイルは除く )。 ● 個別オプション 特定のソースファイルにだけ有効なコンパイル / アセンブルオプションを指定できま す。個別オプションを指定したソースファイルは , 共通オプションが無効になります。 ■ ツールオプションについて SOFTUNE Workbench では , オプションに任意のファイル名やディレクトリを指定する ことを意味するマクロを用意しています。 パラメータ以外の文字列を指定した場合は , その文字列がそのまま渡されます。パラ メータの詳細については ,「1.11 マネージャ部で使用できるマクロ記述」を参照してく ださい。 各ツールのツールオプションについての詳細は,それぞれのツールのマニュアルを参照 してください。 September 1, 2014, CM25-00324-6a 11 第 1 章 基本機能 1.7 エラージャンプの機能 Su pp or t 1.7 So ft Manu al エラージャンプの機能 SOFTUNE Workbench のエラージャンプ機能について説明します。 ■ エラージャンプ機能について コンパイルエラーなどのエラーが発生したときに , アウトプットウィンドウに表示さ れたエラーメッセージをダブルクリックすることで , 自動的にソースファイルを開き , エラーの発生した行にカーソルを移動します。この機能によって , コンパイルエラー などを効率的に取り除けます。 SOFTUNE Workbench のエラージャンプ機能は , アウトプットウィンドウに表示された エラーメッセージに埋め込まれているソースファイル名と行番号情報を解析して,その ファイルを開き , その行に自動的にジャンプします。 エラーメッセージのどの部分にソースファイル名が埋め込まれているか , また , どの部 分に行番号情報が埋め込まれているかは,そのエラーを出力したツールによって異なり ます。エラーメッセージのフォーマットは , 新しく追加 , 変更できます。ただし , あら かじめ登録されている弊社の言語ツールのエラーメッセージのフォーマットは , SYSTEM として定義されていますので変更できません。 エラーメッセージのフォーマットを新しく追加するのが必要なケースは,ユーザが登録 したツールに対してエラージャンプを行う場合などです。エラージャンプの設定は , [ 環境 ]-[ エラージャンプの設定 ] メニューによって行います。 ■ シンタックスについて [ シンタックス ] にはエラーメッセージのフォーマットを記述します。 これらを表現するために SOFTUNE Workbench では , 表 1.7-1 に示すようなマクロ記述 を使用します。 SOFTUNE Workbench では , %f, %h, %* がどこまで続くのかを解析するために , それら の直後の文字を区切り記号として使用しています。したがって , [ シンタックス ] で , %f, %h, %* の直後に記述された文字が現れる直前までを , それぞれ , ファイル名 , ヘル プのキーワードと解釈したり読み飛ばしたりします。区切り記号に % そのものを使用 したい場合は , %% のように記述してください。 %[char] マクロは , 括弧内に指定した文字が続いている間 , 読み飛ばします。 読み飛ばしたい文字に "]" を指定したい場合は , "¥]" と記述してください。連続する空 白文字は , 1 つの空白文字で指定できます。 12 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.7 エラージャンプの機能 Support Soft Ma nual 表 1.7-1 エラーメッセージ解析のための特殊な文字列一覧 パラメータ 意味 %f ソースファイル名として解析してエディタに通知します。 %l 行番号として解析してエディタに通知します。 %h ヘルプファイルを検索するときのキーワードになります。 %* 任意の文字を読み飛ばします。 %[char] [ ] で囲まれた範囲の文字が続いている間 , 読み飛ばします。 【例】 *** %f(%l) %h: または , %[*] %f(%l) %h: 先頭の 4 文字が , "*** " であり , その後にファイル名と括弧で括られた行番号が続 き , さらに空白 1 文字の後にヘルプのキーワードが続きます。以下のようなメッセー ジが該当します。 *** C:¥Sample¥sample.c(100) E4062C: 文法エラー :/int の近辺です。 September 1, 2014, CM25-00324-6a 13 第 1 章 基本機能 1.8 エディタの機能 Su pp or t 1.8 So ft Manu al エディタの機能 SOFTUNE Workbench に内蔵されている標準エディタの機能について説明します。 ■ 標準エディタ SOFTUNE Workbench はエディタを内蔵しています。このエディタを標準エディタとよ びます。標準エディタは , SOFTUNE Workbench 中にエディットウィンドウとして起動 します。エディットウィンドウはいくつでも同時に開けます。 標準エディタでは , 通常のエディット機能に加えて以下のような機能があります。 • C/ アセンブラソースファイルにおけるキーワードのマーク機能 if や for などの予約語を色を変えて表示する機能です。 • エラー行のマーク機能 エラージャンプを実行したときに , その行の色を変更して強調表示する機能です。 • ブックマーク設定機能 任意の行にブックマークを設定しておき , 瞬時にその行にジャンプできます。ブッ クマークが設定されると , その行の色を変更して強調表示できます。 • ルーラ , 行番号表示機能 ルーラは , 桁位置を表示するための目盛りで , エディットウィンドウの最上部に表 示します。 行番号は , エディットウィンドウの左端に表示します。 • 自動インデント機能 エンターキーの押下により行を挿入した場合 , 挿入された行の先頭にその直前の行 と同一のインデント ( 字下げ ) を自動的に行います。スペース , タブのどちらで字 下げを行っても , 直前の行とまったく同一になります。 • 全角空白 , 改行コード , タブコードの表示機能 全角の空白 , 改行コード , タブコードが入っているファイルを開いたときに , これら のコードを特別な記号で表示します。 • UNDO 機能 直前に行った編集を取り消して , 編集前の状態に戻せます。複数文字または複数行 を一度に編集した場合は , その部分が一度に復元されます。 • タブサイズの設定機能 タブコードが挿入されていたときに , 何桁単位にスキップするかを指定します。デ フォルトは 8 です。 • フォント変更機能 エディットウィンドウに表示する文字列のフォントサイズを選択します。 14 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.9 外部エディタ登録 Support 1.9 Soft Ma nual 外部エディタ登録 SOFTUNE Workbench への外部エディタの登録機能について説明します。 ■ 外部エディタ SOFTUNE Workbench は標準エディタを内蔵しており , この標準エディタを使用される ことを推奨しますが , これ以外の使い慣れたエディタを登録して , エディットウィンド ウの代わりに使用できます。 外部エディタの登録は , [ 環境 ] - [ エディタの設定 ] メニューで行います。 ■ 注意すべき事項 登録できるエディタには特に制限はありませんが , 注意が必要な場合があります。 • エラージャンプ機能 外部エディタ起動時に , カーソル位置を指定する機能がない外部エディタを登録し た場合 , エラーの発生した行にカーソルを移動できません。 • コンパイル / アセンブル時のファイルの保存 SOFTUNE Workbench からは , 外部エディタを制御しません。コンパイル / アセンブ ルの前には , 編集中のファイルを保存してください。 ■ オプションの設定について SOFTUNE Workbench からの外部エディタの起動は , エディタ名の後にオプションを付 加して行います。オプションには , エディタで開くファイル名や , カーソルの初期位置 ( 行番号 ) などの指定を行います。SOFTUNE Workbench では , オプションに任意のファ イル名や行番号を指定することを意味する特殊なパラメータを用意しています(表 1.91 参照 )。 これらのパラメータ以外の文字列を指定した場合は,その文字列がそのままエディタに 渡されます。 %f( ファイル名 ) は , 以下のように決定されます。 1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択 されている場合は , そのファイル名 2. 1. で有効なファイル名が取得できない場合は , 内蔵エディタでフォーカスのある ファイル名 % x( プロジェクトパス ) は , 以下のように決定されます。 1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が選択 されている場合は , そのファイルが登録されているプロジェクトのパス 2. 1. で取得できない場合は , アクティブプロジェクトのパス また , %f のマクロ展開では , ファイル名をダブルクォートで囲みません。よって , %f をダブルクォートで囲む必要があります。エディタによっては , オプション全体をダブ ルクォートで囲まないと正しい行番号にジャンプしないものもあります。 September 1, 2014, CM25-00324-6a 15 第 1 章 基本機能 1.9 外部エディタ登録 Su pp or t So ft Manu al 表 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 つ開くことを禁止する」を設定してください。 16 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.10 外部ツール登録 Support 1.10 Soft Ma nual 外部ツール登録 SOFTUNE Workbench への外部ツールの登録機能について説明します。 ■ 外部ツールについて SOFTUNE Workbench では標準で添付されていないツールを外部ツールとして登録し , SOFTUNE Workbench から呼び出して使用できます。ソースファイルのバージョン管理 ツールと連携する場合にもこの機能を使用します。 外部ツールとして登録したツールが,コンソールアプリケーションで実行結果を標準出 力および標準エラー出力に出力するようになっている場合は , その出力結果を SOFTUNE Workbench のアウトプットウィンドウに出力するように指定できます。 また , 登録したツールを起動するときに , その都度追加パラメータを記述できるように も設定できます。 外部ツールの登録は , [ 環境 ] - [ ツールの設定 ] メニューで行います。 また , 登録したツールは , [ 環境 ] - [ ツールの起動 ] メニューでタイトルを選択します。 ■ オプションの設定について SOFTUNE Workbench からの外部ツールの起動は , 外部ツール名の後にオプションを付 加して行います。オプションには , ファイル名や , 起動するツールに特有のオプション などの指定を行います。SOFTUNE Workbench では , オプションに任意のファイル名や ツール特有のオプションを指定することを意味する特殊なパラメータを用意していま す。 これらのパラメータ以外の文字列を指定した場合は,その文字列がそのまま外部ツール に渡されます。 パラメータの詳細については ,「1.11 マネージャ部で使用できるマクロ記述」を参照し てください。 <注意事項> [ アウトプットウィンドウを使用する ] にチェックする場合には , 以下のことに注意してく ださい。 • ツール起動後は , そのツールが終了するまで , ほかのツールおよびコンパイル / アセン ブルは起動できません。 • ツール実行中に , ユーザの入力待ちになるようなツールでは , アウトプットウィンドウ は使用できません。アウトプットウィンドウを使用した場合 , ユーザの入力は行えなく なるのでツールを終了できなくなります。ツールを強制的に終了するために , タスク バー上から起動したツールを選択し , Ctr-C, Ctr-Z を入力して終了させてください。 September 1, 2014, CM25-00324-6a 17 第 1 章 基本機能 1.11 マネージャ部で使用できるマクロ記述 Su pp or t 1.11 So ft Manu al マネージャ部で使用できるマクロ記述 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) がワークスペースディレクト リ , それ以外がプロジェクトディレクトリとなります。 18 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.11 マネージャ部で使用できるマクロ記述 Support Soft Ma nual 表 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: マクロは以下のように決定されます。 September 1, 2014, CM25-00324-6a 19 第 1 章 基本機能 1.11 マネージャ部で使用できるマクロ記述 Su pp or t So ft Manu al • カスタマイズビルドの場合 1. コンパイラ , アセンブラ実行前後は対象となるソースファイル 2. リンカ , ライブラリアン , コンバータ実行前後はターゲットファイル 3. コンフィグレータ実行前後はコンフィグレーションファイル • ツールオプションの場合 - 空文字 • その他の場合 1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が 選択されている場合は , そのファイル 2. 1. で有効なファイル名が取得できない場合は , 内蔵エディタでフォーカスのある ファイル 3. 有効なファイル名が取得できない場合は , 空文字 *2: マクロは以下のように決定されます。 • カスタマイズビルド , ツールオプションの場合 - ビルド / メイク / コンパイル / アセンブルを行っているプロジェクトの構成の情報 • その他の場合 1. プロジェクトウィンドウの SRC タブにフォーカスがあり , 有効なファイル名が 選択されている場合は,そのファイルが登録されているプロジェクトのアクティ ブな構成の情報 2. 1. で有効なファイル名が取得できない場合は , アクティブプロジェクトのアク ティブな構成の情報 *3: マクロはワークスペースプロジェクト形式のプロジェクトだけ使用可能です。 *4: テンポラリファイルの内容はカスタマイズビルドでだけ指定可能です。 表 1.11-3 サブパラメータ一覧 サブパラメータ 意味 [PATH] ファイルのディレクトリ [RELPATH] ファイルの相対パス [NAME] ファイルの主ファイル名 [EXT] ファイルの拡張子 [SHORTFULLNAME] ショートファイルのフルパス名 [SHORTPATH] ショートファイルのディレクトリ [SHORTNAME] ショートファイルの主ファイル名 [FOLDER] プロジェクトウィンドウの SRC タブでファイルが登録さ れているフォルダ名 (%(FILE) でだけ指定可能 )* *: マクロはワークスペースプロジェクト形式のプロジェクトだけ使用可能です。 20 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.11 マネージャ部で使用できるマクロ記述 Support Soft Ma nual ■ マクロの展開例 以下のような設定のワークスペースを開いていた場合 , マクロの展開は例 1 ~ 3 のよう になります。 ワークスペース: 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 : C: \Subprj\Release\Abs\Subprj.abs %A : SUBPRJ.abs %D : C: \Subprj\Release\Abs\ %E : .abs %(FILE[FOLDER]) : Source Files\Common %(PRJFILE) : C:Subprj\Subprj.prj プロジェクトウィンドウの SRC タブにフォーカスがない場合 %a : C: \Wsp\Sample\Debug\Abs\Sample.abs %A : Sample.abs %D : C: \Wsp\Sample\Debug\Abs\ %(PRJFILE) : C: \Wsp\Sample\Sample.prj 【例 2】カスタマイズビルドでのマクロ展開例 Subprj プロジェクトの Release 構成をビルドした場合 %(FILE) : C: \Subprj\LongNameFile.c %(FILE[PATH]) : C: \Subprj %(FILE[RELPATH]) : . %(FILE[NAME]) : LongNameFile %(FILE[EXT]) : .c %(FILE[SHORTFULLNAME]) : C: \Subprj\LongFi~1.c September 1, 2014, CM25-00324-6a 21 第 1 章 基本機能 1.11 マネージャ部で使用できるマクロ記述 Su pp or t So ft Manu al %(FILE[SHORTPATH]) : C: \Subprj %(FILE[SHORTNAME]) : LongFi~1 %(PRJFILE[RELPATH]) : ..\Subprj %(PRJPATH) : C: \Subprj %(OBJPATH) : C: \Subprj\Release\Obj %(PRJCONFIG) : Release %(ENV[FETOOL]) : C: \Softune %(TEMPFILE) : C: \Subprj\Release\Opt\_fs1056.TMP 【例 3】ツールオプションでのマクロ展開例 Subprj プロジェクトの Release 構成をビルドした場合 22 %(FILE) : %(PRJFILE[RELPATH]) :..\Subprj %(PRJPATH) :C: \Subprj %(OBJPATH) :C: \Subprj\Release\Obj %(PRJCONFIG) :Release %(ENV[FETOOL]) :C: \Softune CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.12 動作環境設定 Support 1.12 Soft Ma nual 動作環境設定 SOFTUNE Workbench の動作環境設定機能について説明します。 ■ 動作環境 SOFTUNE Workbench で使用する環境変数の設定とワークスペースに関する基本的な 設定を行います。 動作環境の設定は , [ 環境 ] - [ 開発環境の設定 ] メニューで行います。 ● 環境変数 主に , SOFTUNE Workbench から起動される言語ツールで参照する環境変数です。環境 変数の意味は , 設定ダイアログの下部に表示されます。ただし , SOFTUNE Workbench に後から追加される ( アドイン ) ツールによって使用される環境変数については表示さ れません。 SOFTUNE Workbench と言語ツールが同じディレクトリにインストールされている場 合は , それぞれの環境変数の設定は特に変更しなくても使えます。 英語環境で使用される場合は , 環境変数 FELANG を必ず ASCII に設定してください。 ● ワークスペースに関する基本的な設定 以下の設定が行えます。 • 起動時に前回のワークスペースを開く SOFTUNE Workbench を起動したときに , 自動的に前回開いていたワークスペース を開くようにします。 • コンパイル / アセンブル時にオプションを表示する コンパイルオプション , アセンブルオプションをアウトプットウィンドウに表示す るようにします。 • ワークスペースを閉じるときにセーブの問い合わせを行う ワークスペースを閉じるときに , ワークスペースファイルを保存するかどうかの確 認をするようにします。この設定がないときは , 問い合わせなしにワークスペース を保存します。 • コンパイル / アセンブル時にセーブの問い合わせを行う コンパイル / アセンブル時に , 保存されていないソースファイルを保存するかどう かの確認をするようにします。この設定を行わないと , ファイルは問い合わせなし にコンパイル / アセンブル / メイク / ビルド時に保存します。 • メイク / ビルド時に終了メッセージの強調を行う コンパイル / アセンブル / メイク / ビルド時の終了メッセージ ( 中断 , 正常 , 警告 , エ ラー , 致命的エラー , 起動失敗 ) の表示色を変更できます。終了メッセージの表示色 は , お客様が自由に変更できます。 September 1, 2014, CM25-00324-6a 23 第 1 章 基本機能 1.12 動作環境設定 Su pp or t So ft Manu al ■ 関連項目 開発環境 <注意事項> ここで設定される開発環境 は , SOFTUNE Workbench 対応の言語ツール用のため , 以前 のバージョンの SOFTUNE で設定されていた開発環境 は引き継がれません。特に以前の バージョンで設定されていた [ ユーザインクルードディレクトリ ] や [ ライブラリ検索ディ レクトリ ] の設定値は , SOFTUNE Workbench では [ プロジェクトの設定 ] に追加設定し てください。 24 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.13 デバッガの種別 Support 1.13 Soft Ma nual デバッガの種別 SOFTUNE Workbench のデバッガの種類について説明します。 ■ デバッガの種類 SOFTUNE Workbench では , シミュレータデバッガ・エミュレータデバッガ・モニタデ バッガの 3 つのデバッガを 1 つに統合しています。使用目的により , 選択して使用でき ます。 ■ シミュレータデバッガ シミュレータデバッガは , MCU の動作 ( 命令実行 , メモリ空間 , I/O ポート , 割込み , リ セットなど)をソフトウェアだけでシミュレーションし,プログラムの評価を行います。 評価システムが完成されていない状態や単体の動作チェックなどの評価に使用しま す。 ■ エミュレータデバッガ エミュレータデバッガは , ホストコンピュータから通信回線 (RS-232C, LAN, USB) を介 してエミュレータを制御してプログラムの評価を行うソフトウェアです。 ご使用になる前に , エミュレータの初期化が必要となります。 ■ モニタデバッガ モニタデバッガは , 評価システム内にデバッグ用のプログラムを組込みホストコン ピュータと通信することにより , 評価システムの評価を行います。評価システム内に RS-232C インタフェース , デバッグプログラムの領域が必要となります。 September 1, 2014, CM25-00324-6a 25 第 1 章 基本機能 1.14 メモリ操作機能 Su pp or t 1.14 So ft Manu al メモリ操作機能 メモリ操作機能について説明します。 ■ メモリ操作機能 • メモリ内容の表示 / 変更 メモリの内容をメモリウィンドウに表示および変更できます。 • 充てん 指定したメモリ領域を指定したデータで埋めつくします。 • 複写 指定したメモリ領域のデータをそのまま別領域にコピーします。 • 比較 指定した比較元領域のデータと比較先領域のデータを比較します。 • 検索 指定したメモリ領域内からデータを検索します。 これらの詳細は ,『SOFTUNE Workbench 操作マニュアル』の 「3.11 メモリウィンド ウ」を参照してください。 • C 言語の変数内容の表示 / 変更 C ソースファイルの変数名の内容をウォッチウィンドウに表示および変更できま す。 • ウォッチポイントの設定 特定のアドレスにウォッチポイントを設定することによって , その内容をウォッチ ウィンドウに表示できます。 これらの詳細は ,『SOFTUNE Workbench 操作マニュアル』の「3.13 ウォッチウィンド ウ」を参照してください。 26 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.15 レジスタ操作 Support 1.15 Soft Ma nual レジスタ操作 レジスタ操作について説明します。 ■ レジスタ操作 [ 表示 ] - [ レジスタ ] メニューを実行するとレジスタウィンドウを表示します。 レジスタウィンドウには , レジスタの内容とフラグの内容が表示されます。レジスタお よびフラグの内容の変更方法は ,『SOFTUNE Workbench 操作マニュアル』の「4.4.4 レ ジスタ」を参照してください。 レジスタウィンドウに表示されるレジスタ名 , フラグ名は , MCU ごとに異なります。 使用される MCU のレジスタ名 , フラグ名の一覧は 『SOFTUNE , Workbench 操作マニュ アル』の「付録 A レジスタ名一覧」を参照してください。 September 1, 2014, CM25-00324-6a 27 第 1 章 基本機能 1.16 ラインアセンブル , 逆アセンブル Su pp or t 1.16 So ft Manu al ラインアセンブル , 逆アセンブル ラインアセンブル , 逆アセンブルについて説明します。 ■ ラインアセンブル 行単位のアセンブル ( ラインアセンブル ) は , 逆アセンブルウィンドウで右ボタンをク リックしてショートカットメニューを表示し , そこで [ ラインアセンブル ] を選択する ことで実行します。操作方法については ,『SOFTUNE Workbench 操作マニュアル』の 「4.4.3 逆アセンブル」を参照してください。 メモリマップの範囲外のアドレスには,ラインアセンブルによってコードを設定できま せん。 ■ 逆アセンブル 逆アセンブル表示は , [ 表示 ] - [ 逆アセンブル ] メニューで行います。デフォルトで は , 現在の PC の指すアドレスからの表示になりますが , 起動時に任意のアドレスに変 更できます。 メモリマップの範囲外のアドレスについての逆アセンブル表示はできません。この場 合は , ニーモニックに "???" が表示されます。 28 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.17 シンボリックデバッグ Support 1.17 Soft Ma nual シンボリックデバッグ コマンドのパラメータ ( アドレス ) にソースプログラムで定義したシンボルを使用で きます。 シンボルには次の 3 種類があります。 • グローバルシンボル • モジュール内スタティックシンボル ( モジュール内ローカルシンボル ) • 関数内ローカルシンボル ■ シンボルの種類 シンボルとはプログラム作成時に定義されたシンボルのことであり , 通常 , 型を持ちま す。シンボルはデバッグ情報ファイルをロードすることにより使用可能となります。な お , C 言語のシンボルに対しては , 型を認識してコマンドを実行します。 シンボルには , 次の 3 種類があります。 • グローバルシンボル グローバルシンボルは , プログラム中のどこからでも参照可能なシンボルです。 C 言語では , 関数の外部で定義した変数や関数のうち , static 宣言のないものです。 アセンブラでは , PUBLIC 宣言のあるシンボルです。 • モジュール内スタティックシンボル ( モジュール内ローカルシンボル ) モジュール内スタティックシンボルは , それが定義されたモジュール内でだけ参照 可能なシンボルです。 C 言語では , 関数の外部で定義した変数や関数のうち static 宣言のあるものです。ア センブラでは , PUBLIC 宣言のないシンボルです。 • 関数内ローカルシンボル 関数内ローカルシンボルは C 言語だけに存在するシンボルで , 関数内スタティック シンボルとオート変数があります。 - 関数内スタティックシンボル 関数内で定義した変数のうち , static 宣言があるものです。 - オート変数 ( 自動変数 ) 関数内で定義した変数のうち , static 宣言がないものと関数の引数です。 ■ シンボル情報の登録 デバッグ情報ファイルをロードすることにより,それに含まれるシンボル情報がシンボ ル情報テーブルに登録されます。このシンボル情報は , モジュールごとに作られます。 モジュールは , C 言語ではコンパイルするソースファイル単位 , アセンブラではアセン ブルするソースファイル単位になります。 プログラム実行停止時のプログラムカウンタ (PC) が属しているモジュール ( これをカ レントモジュールとよびます ) のシンボル情報を自動的に選択します。C 言語で作成さ れたプログラムでは,プログラムカウンタがどの関数に属しているかの情報も持ってい ます。 September 1, 2014, CM25-00324-6a 29 第 1 章 基本機能 1.17 シンボリックデバッグ Su pp or t So ft Manu al ■ 行番号情報 行番号情報は , デバッグ情報ファイルがロードされたときに , SOFTUNE Workbench の 行番号情報テーブルに登録されます。したがって , それ以降はいつでも使用できます。 行番号は以下のように指定します。 [ ソースファイル名 ] $ 行番号 30 CM25-00324-6a, September 1, 2014 第 1 章 基本機能 1.17 シンボリックデバッグ Support 1.17.1 Soft Ma nual ローカルシンボルの参照 ローカルシンボルの参照とスコープについて説明します。 ■ スコープ スコープとは , ローカルシンボルを参照する場合に , どのモジュールおよび関数に属す るローカルシンボルを参照するかを示すものです。 SOFTUNE Workbench ではカレントモジュールおよび関数を自動的にスコープし , カレ ントモジュールのローカルシンボルを優先的に参照します。この機能をオートスコー プ機能とよび,現在スコープされているモジュールおよび関数をカレントスコープとよ びます。 カレントスコープ外のローカル変数を指定するには,その変数の属しているモジュール および関数を , 変数名の前に指定してください。このような指定を , シンボルパスネー ムまたはサーチスコープとよびます。 ■ スコープの移動 変数の参照には,前述したように変数名の指定時に直接サーチスコープを付加して指定 する方法と,参照したいシンボルの存在する関数をカレントスコープにして指定する方 法があります。 コールスタックダイアログを表示して親関数を選択することでカレントスコープを変 更できます。操作方法は ,『SOFTUNE Workbench 操作マニュアル』の「4.6.7 コールス タック」を参照してください。このようにしてカレントスコープを変更しても , PC の 値は変わりません。 このようにしてカレントスコープを移動すると,親関数のローカルシンボルを優先的に 検索できるようになります。 ■ シンボルの指定と検索手順 シンボルは以下のように指定します。 [ [ モジュール名 ] [¥ 関数名 ] ¥] シンボル名 シンボルは , モジュール名および関数名を付けて指定した場合は , そのシンボルを検索 しますが , シンボル名だけ指定した場合は , 次の順序で検索します。 1. カレントスコープの関数内ローカルシンボル 2. カレントスコープのモジュール内スタティックシンボル 3. グローバルシンボル グローバルシンボルが , カレントスコープのローカルシンボルと同じ名前の場合は , グ ローバルシンボルの先頭に "¥" または "::" を指定してください。それによって , グロー バルシンボルであることを明示できます。 オート変数は , メモリ上にその変数が存在している場合だけ参照できます。それ以外で 指定するとエラーになります。 September 1, 2014, CM25-00324-6a 31 第 1 章 基本機能 1.17 シンボリックデバッグ Su pp or t 1.17.2 So ft Manu al C 言語の変数の参照 C 言語の変数の指定方法は , C 言語のソースプログラム内での記述方法と同じです。 ■ C 言語の変数の指定方法 C 言語の変数の指定方法は , ソースプログラム内での記述方法と同じです。C 言語変数 のアドレスを指定するには , 変数の先頭にアンパサンド " &" を指定してください。変 数の指定例を表 1.17-1 に示します。 表 1.17-1 変数の指定例 変数の例 指定例 意 味 通常変数 int data; data data の値 ポインタ char *p; *p p の指している値 配列 char a[5]; a[1] a の 2 番目の要素の値 構造体 struct stag { char c; int i; }; struct stag st; struct stag *stp; st.c stp- >c st のメンバ c の値 stp の指す構造体のメンバ c の値 共用体 union utag { char c; int i; } uni; uni.i uni のメンバ i の値 変数アドレス int data; &data data のアドレス 参照型変数 int i; int &ri = i; ri i と同じ ■ C 言語シンボルでの注意 C コンパイラは , グローバルシンボルには "_" を前置してシンボル情報を出力します。 例えば , main というシンボルは , _main というシンボル情報が出力されます。しかし , SOFTUNE Workbench では C 言語で記述されたプログラムのデバッグを容易にするた めに , ソースに記述されたシンボル名でアクセスできるようにしています。 このため , 本来 , 異なるシンボル名となる C 言語で記述されたシンボル名と , アセンブ ラで記述されたシンボル名が同じになってしまう場合があります。 このような場合には , 通常カレントスコープ内に存在するものが優先されます。その外 に存在するものを参照する場合には , モジュール名とともに指定してください。 カレントスコープ以外で 2 重定義になってしまったシンボルは , 最初に検索された方が 有効になります。それ以外のものを参照する場合には , モジュール名とともに指定して ください。 32 CM25-00324-6a, September 1, 2014 Support Soft Ma nual 第2章 依存機能 この章では , 各デバッガに依存する機能について説 明します。 2.1 シミュレータデバッガ 2.2 エミュレータデバッガ (MB2141) 2.3 エミュレータデバッガ (MB2146-09/09A/09B) 2.4 エミュレータデバッガ (MB2146-08) 2.5 エミュレータデバッガ (MB2146-07) 2.6 モニタデバッガ September 1, 2014, CM25-00324-6a 33 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1 So ft Manu al シミュレータデバッガ シミュレータデバッガの機能について説明します。 ■ シミュレータデバッガ シミュレータデバッガは , MCU の動作をソフトウェアだけでシミュレーションし , プ ログラムの評価を行います。 評価システムが完成されていない状態や単体の動作チェックなどの評価に使用しま す。 ■ シミュレーション範囲 シミュレータデバッガは , MCU の動作 ( 命令動作 , メモリ空間 , I/O ポート , 割込み , リ セット , 低消費電力モードなど ) をソフトウェアで擬似的にシミュレートします。周辺 リソースについては , 実チップの CPU コア以外の , タイマ , DMAC , シリアル I/O など の周辺 I/O はサポートしていません。周辺 I/O が接続される I/O 空間も , メモリ空間と して扱います。ただし , タイマ割込みなどの割込みや , I/O 等のメモリへのデータ入力 を擬似的に実現する方法を用意しています。この方法は , I/O ポートのシミュレーショ ン , 割込みのシミュレーションを参照してください。 • 命令シミュレーション • メモリシミュレーション • I/O ポートのシミュレーション • 割込みのシミュレーション • リセットのシミュレーション • 低消費電力モードのシミュレーション <注意事項> 低消費電力モードのうち , 以下のモードはシミュレーション範囲の対象外となります。 - 時計モード - タイムベースタイマモード 34 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.1 Soft Ma nual 命令シミュレーション 命令シミュレーションについて説明します。 ■ 命令シミュレーション F2MC-8L/8FX の全命令の動作をシミュレートします。 命令動作に伴うメモリおよびレジスタの内容の変化もシミュレートします。 September 1, 2014, CM25-00324-6a 35 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.2 So ft Manu al メモリシミュレーション メモリシミュレーションについて説明します。 ■ メモリのシミュレーション シミュレータデバッガは , ホストマシンのメモリに確保されたメモリ空間をシミュ レートします。このため命令のシミュレーションを行う場合には , まずメモリ空間の確 保が必要です。そのために次のいずれかの操作を行ってください。 • [ 環境 ] - [ デバッガのメモリマップ ] メニューまたは , コマンドウィンドウの SET MAP コマンドでメモリ領域を確保する。 • リンケージエディタが出力したファイル ( ロードモジュールファイル ) を , [ デバッ グ ] - [ ターゲットファイルのロード ] メニューまたはコマンドウィンドウにて LOAD/OBJECT コマンドでロードする。 ■ シミュレーションメモリ空間 メモリ空間には [ 環境 ] - [ デバッガのメモリマップ ] メニューにより 1 バイト単位で アクセス属性を指定できます。[ 環境 ] - [ デバッガのメモリマップ ] メニューにより 設定されなかったメモリ空間は , アクセス属性が未定義属性となります。 ■ メモリエリアのアクセス属性 メモリエリアには , 表 2.1-1 に示したアクセス属性を指定できます。プログラム実行中 にアクセス属性に違反したアクセスが起こった場合は , ガーデッドアクセスブレーク が発生します。プログラムのコマンドによりメモリエリアをアクセスする場合は , CODE, READ, WRITE の属性にかかわらずアクセスできます。ただし , 未定義エリアの メモリをアクセスした場合は , エラーが発生します。 表 2.1-1 アクセス属性の種類 属 性 36 意 味 CODE 命令実行許可 READ データリード許可 WRITE データライト許可 undefined 属性未設定 ( アクセス不可 ) CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.3 Soft Ma nual I/O ポートのシミュレーション I/O ポートのシミュレーションについて説明します。 ■ I/O ポートのシミュレーション 入力ポートと出力ポートに対する MCU 動作をシミュレートします。 • 入力ポート 入力ポートのシミュレーションには , 次の方法があります。 - 指定されたポートに対してプログラムから読み出されるたびに , 指定のデータ入 力元からデータを入力する方法 - 命令実行サイクル数が指定サイクル数を超えるたびにポートにデータを入力す る方法 • 出力ポート 出力ポートのシミュレーションは , 次の方法があります。 - 指定されたポートに対してプログラムからデータが書き込まれるたびに , 指定の データ出力先へデータを書き込む方法 いずれもポートアドレスは 4096 個まで設定できます。 ■ 入力元または出力先 入力ポートにおける入力元 , また出力ポートにおける出力先は以下のいずれかを使用 します。 • ファイル - 一般のエディタで作成可能なテキストファイル 入力データを "," で区切って入力してください。最終データを読み込んだあとは , 再び先頭からデータを読み込みます。 - 直接コードを格納したバイナリファイル • ターミナル ■ I/O ポートの設定 I/O ポートの設定は以下のいずれかでおこないます。 • ダイアログ - I/O ポート設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.1 I/O ポート」を参照してくだ さい。 • コマンド - SET INPORT または SET OUTPORT 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.20 SET INPORT」 または「1.23 SET OUTPORT」を参照してください。 September 1, 2014, CM25-00324-6a 37 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.4 So ft Manu al 割込みのシミュレーション 割込みのシミュレーションについて説明します。 ■ 割込みのシミュレーション 割込み要求に対する MCU 動作をシミュレートします。 割込みを発生させるには , 次の方法があります。 • プログラム実行中に指定されたサイクル数だけ命令を実行すると , 指定した割込み 番号に対応する割込みを発生させ , 割込み発生条件を解除する方法 • 命令実行サイクル数が指定サイクル数を超えるたびに割込みを発生させ続ける方 法 割込み発生条件が成立したときに割込みが割込み許可フラグによってマスクされてい た場合は , その割込みは保留されます。 ■ 割込みの制御方法 割込みは以下のいずれかの方法で設定します。 • ダイアログ - 割り込みダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.2 割込み」を参照してください。 • コマンド - SET INTERRUPT 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.26 SET INTERRUPT」を参照してください。 38 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.5 Soft Ma nual リセットのシミュレーション リセットのシミュレーションについて説明します。 ■ リセットのシミュレーション MCU へリセット信号が入った時の動作をシミュレートします。 その際レジスタを初期化します。 またスタンバイ・コントロール・レジスタの RST ビットへの書込みなど , MCU 命令動 作によりリセット処理をおこなう機能もサポートしています。 ■ リセットの制御方法 リセットの制御は以下のいずれかの方法でおこないます。 • メニュー - [デバッグ]-[MCU のリセット]メニュー 『SOFTUNE Workbench 操作マニュアル』の「4.6.3 MCU リセット」を参照してく ださい。 • コマンド - RESET 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.3 RESET」を参 照してください。 September 1, 2014, CM25-00324-6a 39 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.6 So ft Manu al 低消費電力のシミュレーション 低消費電力のシミュレーションについて説明します。 ■ 低消費電力のシミュレーション 本シミュレータデバッガでは低消費電力モードをシミュレーションできます。 低消費電力モードへの移行はスタンバイコントロールレジスタへの書込みにより実現 します。 • SLEEP ビットへ書き込んだ場合 スリープモードに入り , ステータスバーに[sleep]と表示します。 • STOP ビットへ書き込んだ場合 ストップモードに入り , ステータスバーに[stop]と表示します。 プログラム実行をおこなうと , 割込み要求が発生するか , プログラム実行を停止するま でループします。その際 1 回のループごとに 1 サイクルを加算します。 また I/O ポート処理も動作します。 40 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.7 Soft Ma nual STUB 機能 ブレークポイントヒット時にコマンドを自動的に実行する ,STUB 機能について説明 します。 ■ STUB 機能とは 指定したブレークポイントにヒットしたとき,コマンドリストに登録された一連のコマ ンドを自動的に実行する機能です。この機能により , 簡易的な I/O シミュレーションや 外部割込みの発生 , メモリ書換えなどのスポット処理を , 本筋のプログラムの変更なし に行うことが可能です。本機能はシミュレータデバッガ時だけ有効です。 命令実行開始 ブレーク(STUB)処理 プログラム実行 ブレークポイントヒッ ト 実行再開 ブレークポイントに登録した コマンドリストがあるか? NO YES ブレークポイントに登録したコマンド リストを処理(コマンド実行) YES 実行停止 再実行する(NOBREAK指定)? NO 命令実行終了 September 1, 2014, CM25-00324-6a 41 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t So ft Manu al ■ 設定方法 STUB 機能は以下のいずれかの方法で設定します。 • ダイアログ - ブレーク設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • コマンド - SET BREAK - SET DATABREAK 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「3.1 SET BREAK(type1)」または「3.10 SET DATABREAK(type2)」を参照してください。 42 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.8 Soft Ma nual ブレーク 本デバッガでは , 5 種類のブレーク機能を使用できます。各ブレーク機能によりプロ グラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示しま す。 ■ ブレーク機能 本デバッガでは , 次の 5 種類のブレーク機能をサポートしています。 - コードブレーク - データブレーク - ガーデッドアクセスブレーク - トレースバッファフルブレーク - 強制ブレーク September 1, 2014, CM25-00324-6a 43 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.8.1 So ft Manu al コードブレーク プログラム実行中に指定したコードアクセスがおこなわれた場合 , プログラム実行 を中断する機能です。 ■ コードブレークの流れ プログラムがブレークポイント ( メモリ位置の命令を実行する直前 ) に到達すると , 次 の処理を行います。 1. プログラムの実行を ( 命令実行前で ) 中断します。 2. 到達回数をチェックし , 指定したブレークポイントの到達回数に達していない場合 は , プログラム実行を再開します。到達回数に達していた場合は 3. に移ります。 3. 実行が中断されたメモリ位置をステータスバーに表示します。 ブレークポイントは最大 65535 ポイントまで設定可能です。 コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by breakpoint ■ 設定方法 コードブレークの制御は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ/逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 44 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.8.2 Soft Ma nual データブレーク プログラム実行中に指定したデータアクセス ( リード , ライト ) がおこなわれた場合 , プログラム実行を中断する機能です。 ■ データブレークの流れ プログラムがブレークポイントに対し書込みまたは読出しを行った場合 , 次の処理を 行います。 1. 命令の実行を完了したあとで , プログラムの実行を中断します。 2. アクセス回数をチェックし , 指定したデータブレークのアクセス回数に達していな い場合にはプログラム実行を再開します。アクセス回数に達している場合には 3. に 移ります。 3. アクセス回数に達してプログラム実行が中断された場合は , 以下の情報をステータ スバーに表示します。 • データブレークポイントのメモリ位置 • そのメモリ位置に対して書込み ( または読出し ) を行った命令のメモリ位置 4. 次に実行するメモリ位置を表示します。 ブレークポイントは最大 65535 ポイントまで設定可能です。 データブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by databreak at アクセスアドレス ■ 設定方法 データブレークの制御は次の方法で行います。 • コマンド - SET DATABREAK 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「3.10 SET DATABREAK (type2)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[データ]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 September 1, 2014, CM25-00324-6a 45 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.8.3 So ft Manu al ガーデッドアクセスブレーク アクセス属性に違反してアクセスが行われた場合 , およびガーデッド ( 未定義エリア のアクセス不可 ) 領域をアクセスした場合にプログラム実行を中断する機能です。 ■ ガーデッドアクセスブレークとは アクセス属性に違反してアクセスが行われた場合 , およびガーデッド ( 未定義エリアの アクセス不可 ) 領域をアクセスした場合にプログラム実行を中断する機能です。 ガーデッドアクセスブレークは以下の場合に発生します。 • コードガーデッド - コード属性を持たない領域に対して命令実行をおこなった場合 • リードガーデッド - リード属性を持たない領域に対して読出しをおこなった場合 • ライトガーデッド - ライト属性を持たない領域に対して書込みをおこなった場合 ガーデッドアクセスでブレークした場合 , ステータスバーに次のメッセージが表示さ れます。 Break at アドレス by guarded access {code/read/write} at アクセスアドレス ■ 設定方法 アクセス属性の設定は次の方法でおこないます。 • コマンド - SET MAP 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.13 SET MAP (type1)」を参照してください。 • ダイアログ - マップ設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.7.3 デバッガのメモリマップ」を 参照してください。 46 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.8.4 Soft Ma nual トレースバッファフルブレーク トレースバッファがバッファフルになった場合にプログラム実行を中断する機能で す。 ■ トレースバッファブレークとは トレースバッファがバッファフルになった場合にプログラム実行を中断する機能で す。 トレースバッファフルブレークでブレークした場合 , ステータスバーに次のメッセー ジが表示されます。 Break at アドレス by trace buffer full ■ 設定方法 トレースバッファフルブレークの制御は次の方法で行います。 • コマンド - SET TRACE /BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.21 SET TRACE」 を参照してください。 • ダイアログ - トレース設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。 September 1, 2014, CM25-00324-6a 47 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.8.5 So ft Manu al 強制ブレーク プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでブレークした場合は , ステータスバーに次のメッセージが表示されま す。 Break at アドレス by command abort request ■ 発生方法 強制ブレークは次の方法で発生します。 • メニュー - [デバッグ]-[停止]メニュー 『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。 • コマンド - ABORT 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参 照してください。 48 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.9 Soft Ma nual 実行サイクル数測定 プログラムの実行サイクル数を測定する機能です。 ■ 測定項目 プログラムの実行サイクル数 , ステップ数を測定します。 1. 実行サイクル数 プログラミングマニュアルに記述されている各命令の基本サイクル数を計算した ものです。 測定可能な最大値は (2 32-1) すなわち 4,294,967,295 サイクルです。 2. 実行ステップ数 プログラム実行時のステップ数を測定します。 最大 (2 32-1) すなわち 4,294,967,295 ステップまで測定可能です。 測定はプログラム実行のたびに行われ , 測定結果は以下の値を表示します。 • 直前のプログラム実行におけるステップ数 • 前回クリアしてからのプログラム実行におけるステップ数の合計 ■ 測定結果の表示 測定結果の表示は以下のいずれかでおこないます。 • ダイアログ - 時間測定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。 • コマンド - SHOW TIMER 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.19 SHOW TIMER」を参照してください。 ■ 測定結果のクリア 測定結果のクリアは以下のいずれかでおこないます。 • ダイアログ - 時間測定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。 • コマンド - CLEAR TIMER 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.20 CLEAR TIMER」を参照してください。 September 1, 2014, CM25-00324-6a 49 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.10 So ft Manu al プログラムの実行履歴を参照するには[トレース] 本シミュレータデバッガのトレース機能について説明します。 ■ トレースとは プログラムの実行履歴を記録する機能をトレースとよびます。 トレースデータには以下の情報が含まれ , プログラムの実行履歴の解析に利用できま す。 - プログラムを実行したアドレスの履歴 :分岐前後も含む - プログラム実行中にアクセスしたデータ :指定した属性だけ ■ トレースデータの取得 トレースデータの取得開始/終了は以下のタイミングでおこなわれます。 • 取得開始 - ユーザプログラムを実行した場合 • 取得終了 - ユーザプログラムを停止した場合 ■ トレースバッファ 記録したデータを格納する場所をトレースバッファとよびます。 またトレースバッファ内に格納された 1 データ単位をフレームとよびます。 トレースバッファの容量は最大 1001 フレームです。 トレースバッファはリング状の構造となっているので , トレースバッファがバッファ フルになった場合は自動的にトレースバッファの先頭から上書きします。 トレースバッファには図 2.1-1 のようにデータが格納されます。 • プログラム実行がブレークした場合 図 2.1-1 トレースデータの取得 実行開始 ↓ 実行停止 ↓ 実行開始 実行停止 ↓ ↓ プログラムの流れ トレースバッファ | ---------------最大 1001 フレーム---------------| 50 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.10.1 Soft Ma nual トレースデータを表示するには トレースデータを表示する方法について説明します。 ■ トレースデータの表示形式 トレースデータの表示形式には次の 2 種類があります。 インストラクション :トレースデータを命令実行順に表示します ソース :トレースデータをソース行単位で表示します ■ トレースデータの表示位置 サンプリングされたトレースデータにはフレームごとに番号が付けられます。この番 号をフレーム番号とよびます。 トレースバッファ内のどの位置から表示するかの指定は , フレーム番号によりおこな います。 最後にサンプリングされたトレースデータがフレーム番号 0 となります。 図 2.1-2 トレース時のフレーム番号 プログラムの 流れ フレーム番号 0 1 2 3 4 5 6 ■ トレースデータの表示方法 トレースデータはトレースウィンドウまたはコマンドウィンドウに表示できます。 表示方法は以下のとおりです。どちらの方法でも違いはありません。 • トレースウィンドウへの表示 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. トレースウィンドウの表示モードを選択します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[インスト ラクション]または[ソース]メニューのいずれかを選択してください。 詳細は『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」 を参照してください。 3. ( 既にトレースウィンドウを表示していた場合は ) トレースデータを更新します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[更新]メ ニューを選択してください。トレースウィンドウのトレースデータが更新され ます。 詳細は『SOFTUNE Workbench 操作マニュアル』の「3.14 トレースウィンドウ」 September 1, 2014, CM25-00324-6a 51 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t So ft Manu al を参照してください。 • コマンドウィンドウへの表示 1. 表示モードごとにトレースデータを表示します。 インストラクションの場合: SHOW TRACE ソースの場合: SHOW TRACE 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.15 SHOW TRACE(type2)」を参照してください。 52 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.10.2 Soft Ma nual トレースデータを保存するには トレースデータの保存について説明します。 ■ トレースデータを保存するには トレースデータは指定したファイルに保存できます。 保存方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による保存 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. トレースデータを保存するファイル名を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[セーブ] メニューを選択してください。名前を付けて保存ダイアログが表示されます。 ここで保存するファイル名と保存先を指定してください。詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。 • コマンドによる保存 トレースデータを保存します。 - SHOW TRACE/FILE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.16 SHOW TRACE (type 1)」を参照してください。 既にあるファイルに追加保存する場合は SHOW TRACE/FILE/APPEND コマン ドを実行してください。 September 1, 2014, CM25-00324-6a 53 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.10.3 So ft Manu al トレースデータを検索するには トレースデータの検索について説明します。 ■ トレースデータを検索するには トレースデータの中から指定したアドレスまたはフレーム番号のトレースデータを検 索できます。 検索方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による検索 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. 検索したいアドレスまたはフレーム番号を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[検索]メ ニューを選択してください。トレース検索ダイアログが表示されます。 ここで表示したいアドレスまたはフレーム番号を指定してください。詳細は 『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してくだ さい。 • コマンドによる検索 トレースデータを検索します。 - SEARCH TRACE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.23 SEARCH TRACE」を参照してください。 54 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support 2.1.10.4 Soft Ma nual トレース取得を終了するには バッファフルブレークについて説明します。 ■ バッファフルブレークについて トレースバッファがバッファフルになった場合にトレース取得を終了できます。この 機能をトレースバッファフルブレークとよびます。 ■ 設定方法 トレースバッファフルブレークの制御は次の方法でおこないます。 • GUI による設定 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. トレース設定ダイアログを表示します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[設定]メ ニューを選択してください。トレース設定ダイアログが表示されますので [バッファフルブレーク]の[有効]を選択してください。 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照し てください。 • コマンドによる設定 トレースバッファフルブレークを設定します。 - SET TRACE /BREAK コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.21 SET TRACE」を参照してください。 September 1, 2014, CM25-00324-6a 55 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t 2.1.11 So ft Manu al デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本デバッガでは , デバッガ起動時に以下の情報を確認できます。 • SOFTUNE Workbench のファイル情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path : CPU 情報ファイルのパス Cpu information file version : CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 Product name 56 : SOFTUNE Workbench CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.1 シミュレータデバッガ Support Soft Ma nual File Path : SiM896.dll のパス Version : SiM896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools - Compiler File Path : fcc896s.exe のパス - Assembler File Path : fasm896s.exe のパス - Linker File Path : flnk896s.exe のパス - Librarian File Path : flib896s.exe のパス - FJ-OMF to S-FORMAT Converter File Path : f2ms.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type : 現在のデバッガ種別 MCU type : 現在選択しているターゲット MCU VCpu dll name : 現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version : 現在使用している仮想デバッガ部 DLL のバージョン ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス September 1, 2014, CM25-00324-6a 57 第 2 章 依存機能 2.1 シミュレータデバッガ Su pp or t Version So ft Manu al : SiIODef.dll のバージョン ======================================================= 58 Current path : 現在使用しているプロジェクトのパス Language : 現在使用している言語 Help file path : ヘルプファイルのパス CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2 Soft Ma nual エミュレータデバッガ (MB2141) エミュレータデバッガ (MB2141) の機能について説明します。 ■ エミュレータデバッガ エミュレータデバッガ は , ホストコンピュータから通信回線 (RS232C, LAN) を介して エミュレータを制御してプログラムの評価を行うソフトウェアです。 ■ ご使用の前に MB2141 をご使用になる場合 , まず『SOFTUNE Workbench 操作マニュアル』の「付録 B モニタプログラムのダウンロード」と「付録 C LAN インタフェースの設定」を参照 し , エミュレータの初期化をおこなってください。 September 1, 2014, CM25-00324-6a 59 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.1 So ft Manu al 動作環境の設定 動作環境の設定について説明します。 ■ 動作環境の設定 MB2141 用エミュレータデバッガでは , 動作環境に合わせて以下の項目を設定する必要 があります。それぞれの設定には起動時のデフォルトがあるため , デフォルト値をその まま使用する場合は設定を変更する必要はありません。また , 一度指定した設定値を次 回からのデフォルトにすることもできます。 • MCU 動作モード • メモリマッピング • タイマの最小測定単位 60 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.1.1 Soft Ma nual MCU 動作モード MCU 動作モードについて説明します。 ■ MCU 動作モードとは MCU 動作モードには次の 3 種類があります。 • シングルチップモード ( モード 0) • 外付け ROM モード ( モード 1) • 外部アクセス機能付き内部 ROM モード ( モード 2) これらのモードは品種により異なります。 詳しくは各 MCU の『ハードウェアマニュアル』を参照してください。 図 2.2-1 MCU モードとメモリマップ 0000H FFFFH 内部I/O領域 内部I/O領域 内部I/O領域 内部RAM 内部RAM 内部RAM 内部ROM 内部ROM モード0 内部ROM モード1 モード2 内部ROM領域 エミュレーションメモリで代行します。 必ずエミュレーションメモリにマップしてください。 外部アクセス領域 エミュレーションメモリ,ユーザメモリに自由にマップ できます。 ノンアクセス領域 エミュレーションメモリにマップすることができま す。 内部アクセス領域 マップの設定にかかわらずMCU内部メモリをアクセス します。 図 2.2-1 に示すように , MCU モードによりメモリマッピングの動作が変わります。 内部 RAM 領域 ( 内部 RAM, 内部レジスタ , 内部 I/O) は , マップの設定にかかわらず MCU の内部をアクセスするため , エミュレーションメモリにはマッピングできませ ん。 September 1, 2014, CM25-00324-6a 61 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.1.2 So ft Manu al メモリエリアの種類 メモリエリアについて説明します。 ■ メモリエリアの種類 メモリを割り当てる単位をエリアとよびます。 エリアは 1 バイト単位で 20 エリアまで設定できます。1 エリアの大きさに制限はあり ません。また , 各エリアにはアクセス属性を設定できます。 次の 3 つのエリアがあります。 • ユーザメモリエリア ユーザシステム上のメモリ空間をユーザメモリエリアとよびます。また , このメモ リのことをユーザメモリとよびます。 ユーザメモリエリアの指定は , SET MAP コマンドで設定できます。 • エミュレーションメモリエリア エミュレータ上のメモリで代行するメモリ空間をエミュレーションメモリエリア とよびます。また , このメモリのことをエミュレーションメモリとよびます。 ユーザシステムのバスマスタ (DMAC など ) は , エミュレーションメモリにアクセ スできません。 エミュレーションメモリエリアは , SET MAP コマンドで設定できます。 • 未定義エリア 既に説明したエリアのどれにも属さないメモリ空間もユーザメモリエリアの一部 ですが , この領域を特に未定義エリアとよびます。 未定義エリアは, アクセス自由なメモリ領域 (NOGUARD) , もしくは, アクセス禁止 のメモリ領域 (GUARD) のどちらかに設定ができます。この設定は , すべての未定 義エリアに対して 1 つだけ設定できます。アクセス禁止領域に設定すると , その領 域をアクセスした場合に , ガーデッドアクセスエラーになります。 62 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.1.3 Soft Ma nual メモリマッピング メモリ空間をユーザメモリ , エミュレーションメモリなどに割り当てたり , また属性 を指定したりすることができます。 ただし , MCU 内部のリソースはマッピングの指定によらず , 必ず内部リソースがア クセスされます。 ■ メモリエリアのアクセス属性 メモリエリアには表 2.2-1 に示すアクセス属性を指定できます。 プログラム実行中にアクセス属性に違反したアクセスが起こった場合は , ガーデッド アクセスブレークが発生します。 本プログラムのコマンドによりユーザメモリエリアおよびエミュレーションメモリエ リアをアクセスする場合は , READ, WRITE の属性にかかわらずアクセスできます。た だし , 未定義エリアの GUARD 属性が設定されているメモリをアクセスした場合は , エ ラーが発生します。 表 2.2-1 アクセス属性の種類 エリア 属 性 内 容 ユーザメモリ READ データリード許可 , 命令実行許可 エミュレーションメモリ WRITE データライト許可 未定義 GUARD アクセス禁止 NOGUARD アクセス属性チェックなし プログラム実行により WRITE 属性のないエリアに対してアクセスすると , ユーザメモ リエリアの場合は , データが書き換わってからガーデッドアクセスブレークが発生し ますが , エミュレーションメモリエリアの場合は , データが書き換わらずにブレークし ます。すなわち , エミュレーションメモリエリアに WRITE 属性を指定しないとライト プロテクト ( ライトしてもメモリのデータを書き換えない ) をかけられます。ライトプ ロテクトはプログラム実行によるアクセスの場合にだけ有効で , コマンドによるアク セスではかかりません。 ■ メモリマップの作成・表示 メモリマッピングは , 以下のコマンドで行います。 • SET MAP : メモリマップの設定 • SHOW MAP : メモリマップの表示 • CANCEL MAP : 設定したメモリマップを未定義にする。 September 1, 2014, CM25-00324-6a 63 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 【例】 >SET MAP /USER H'0..H'1FFF >SET MAP /READ/EMULATION H'FF00..H'FFFF >SET MAP/GUARD >SHOW MAP address attribute type 0000 .. 1FFF code read write user FF00 .. FFFF code read emulation --------------------------------------------------------------undefined area : guard setup possibility : user = 19 emulation=19 64 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.1.4 Soft Ma nual タイマの最小測定単位 タイマの最小測定単位は , シーケンサ , エミュレーションタイマ , パフォーマンス測 定タイマに影響を与えます。 ■ タイマの最小測定単位の設定 エミュレータが時間測定用に持っているタイマの最小測定単位を 1 s, 100ns のどちら かに設定できます。 この設定により , 次のタイマの最小測定単位が変更されます。 • シーケンサのタイマ値 ( 各レベルのタイマ条件 ) • エミュレーションタイマ • パフォーマンス測定のタイマ 表 2.2-2 に最小測定単位を 1 s, 100ns にした場合の各タイマの最大測定時間を示しま す。 タイマの最小測定単位を変更すると各タイマの測定値はクリアされます。 起動時のデフォルトは , 1 s になっています。 表 2.2-2 各タイマの最大測定時間 1 s に設定 100ns に設定 シーケンサのタイマ 約 16 秒 約 1.6 秒 エミュレーションタイマ 約 70 分 約7分 パフォーマンス測定タイマ 約 70 分 約7分 次のコマンドで制御します。 • SET TIMERSCALE コマンド : タイマの最小測定単位の設定 • SHOW TIMERSCALE コマンド : タイマの最小測定単位設定状態の表示 【例】 >SET TIMERSCALE/100N >SHOW TIMERSCALE Timer scale : 100ns > September 1, 2014, CM25-00324-6a 65 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.2 So ft Manu al オンザフライで実行できるコマンド プログラム実行中でも特定のコマンドは実行できます。プログラム実行中にコマン ドを実行することをオンザフライとよびます。 ■ オンザフライで実行できるコマンド 特定のコマンドが実行できます。実行できないコマンドを入力すると MCU is busy の エラーとなります。表 2.2-3 に実行できる主な機能を示します。詳細は , 『SOFTUNE Workbench コマンドリファレンスマニュアル』を参照してください。 なお , オンザフライ実行が可能なのは , メニューまたはツールボタンで MCU 実行した 場合に限ります。コマンドウィンドウから GO コマンドなどを実行した場合は , オンザ フライ実行はできません。 表 2.2-3 オンザフライモード中に実行できる主な機能 機 能 主コマンド MCU のリセット - RESET MCU 実行状態の表示 - SHOW STATUS トレースデータの表示 66 限定事項 トレース機能が無効の時だけ可能 SHOW TRACE SHOW MULTITRACE トレースの有効・無効 - ENABLE TRACE DISABLE TRACE 実行時間測定値 ( タイマ ) の表示 - SHOW TIMER メモリ操作 ( リード / ライト ) エミュレーションメモリだけ操作可能 ミラー領域はリードだけ可能 ENTER, EXAMINE, COMPARE, FILL, MOVE, DUMP, SEARCH MEMORY, SHOW MEMORY, SET MEMORY ラインアセンブル , 逆アセンブル エミュレーションメモリだけ可能 ミラー領域は逆アセンブルだけ可能 ASSEMBLE DISASSEMBLE CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.3 Soft Ma nual オンザフライ中のメモリアクセス エミュレーションメモリにマップした領域は , オンザフライでリード / ライト可能 , ユーザメモリにマップした領域は , リードだけ可能となります。 ■ オンザフライ中のメモリの読出し , 書込み オンザフライ中 (MCU 実行時 ) に , ユーザメモリはアクセスできません。ただし , エ ミュレーションメモリに対してのアクセスは可能です ( サイクルスチール方式を採用 していますので , MCU 実行速度に影響を与えません ) 。 本エミュレータでは , エミュレーションメモリをミラー領域として使用できるように なっています。ミラー領域とはユーザメモリのコピーを保持する領域で , このミラー領 域を用いることによって , オンザフライ中のユーザメモリのリードだけを可能にして います。 ただし , ミラー領域のエミュレーションメモリとユーザメモリの内容が同じになるに は , 少なくとも一度はアクセスされている必要があります。コマンドによってユーザメ モリとミラー領域のエミュレーションメモリの内容を同じものにするには , 次の方法 があります。 • メモリアクセス系のコマンドにより必要部分だけをコピーする方法 コマンド内のメモリをアクセスするものを実行することによって , その指定部分だ けの内容コピーが行えます。 メモリアクセスが行われるコマンドには次のものがあります。 - メモリ操作コマンド SET MEMORY, SHOW MEMORY, EXAMINE, ENTER, COMPARE, FILL, MOVE, SEARCH MEMORY, DUMP, COPY, VERIFY - データのロード / セーブコマンド LOAD, SAVE 図 2.2-2 MCU 停止中のミラー領域アクセス メモリアクセス コマンド実行 エミュレーション メモリ (ミラー設定) 反映 MCU 動作 (停止中) September 1, 2014, CM25-00324-6a ユーザメモリ 67 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 図 2.2-3 オンザフライ中のミラー領域アクセス メモリリード コマンド実行 エミュレーション メモリ (ミラー設定) 反映 MCU 動作 (動作中) メモリアクセス ユーザメモリ <注意事項> MCU 以外のバスマスタのメモリアクセスはミラー領域に反映されません。 68 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.4 Soft Ma nual ブレーク 本デバッガでは , 7 種類のブレーク機能を使用できます。各ブレーク機能によりプロ グラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示しま す。 ■ ブレーク機能 本デバッガでは , 次の 7 種類のブレーク機能をサポートしています。 - コードブレーク - データブレーク - シーケンシャルブレーク - ガーデッドアクセスブレーク - トレースバッファフルブレーク - パフォーマンスバッファフルブレーク - 強制ブレーク September 1, 2014, CM25-00324-6a 69 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.4.1 So ft Manu al コードブレーク 指定したアドレスを監視することでプログラム実行を中断する機能です。指定され たアドレスの命令を実行する前にブレークします。 ■ コードブレークとは 指定したアドレスを監視することでプログラムを中断する機能です。指定されたアド レスの命令を実行する前にブレークします。本デバッガでは 65535 個設定可能です。 コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by breakpoint ■ 設定方法 コードブレークの制御は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ / 逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 ■ 命令実行ブレークの注意 図 2.2-4 に示す命令の次にブレークポイントを設定した場合 , 命令を実行する前にブ レークします。デバッガは内部でステップ実行を行い , 実行後にブレークするようにし ているため , 最後の 1 命令だけリアルタイムで実行しません。 70 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual 図 2.2-4 命令実行ブレークに影響する命令一覧 ADDC AND CALLV CMPW DECW DIVU INCW MOV MOVW MOVW MOVW MULU ORW PUSHW SUBC XCH XCHW XORW A,@EP A,@EP #n A A A IX A,@A @A,T A,IX EP,A A A IX A,Ri A,T A,T A ADDC AND CMP DAA DECW INC INCW MOV MOVW MOVW MOVW OR POPW ROLC SUBC XCHW XOR A,Ri A,Ri A,@EP EP Ri SP A,@EP A,@A A,PC IX,A A,@EP A A A A,EP A,@EP ADDC AND CMP DAS DECW INCW MOV MOV MOVW MOVW MOVW OR POPW RORC SUBCW XCHW XOR A A A,Ri IX A @A,T A,Ri A,@EP A,PS PS,A A,Ri IX A A A,IX A,Ri ADDCW ANDW CMP DEC DECW INCW MOV MOV MOVW MOVW MOVW OR PUSHW SUBC SWAP XCHW XOR A A A Ri SP EP @EP,A Ri,A A,EP SP,A SP,A A A A,@EP A,SP A 以下に示す1バイトの分岐命令の直後に命令実行ブレークを設定すると, 分岐命令実行 直後にブレークしてしまいます。これは , 1 バイト分岐命令実行時に次の命令のプリ フェッチの影響を受けるためだけです。この時命令実行ブレークを設定してある命令 は , プリフェッチされるだけで実行されていません。 RET RETI JMP @A CALLV #vct これを避けるためには , 命令実行ブレークを 1 バイトずらして設定するか , プリフェッ チの影響を受けない SET EVENT/CODE コマンドによりブレークポイントを設定して ください。 September 1, 2014, CM25-00324-6a 71 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.4.2 So ft Manu al データブレーク 指定アドレスに対しデータアクセス ( リード , ライト ) がおこなわれた場合 , プログ ラム実行を中断する機能です。 ■ データブレークとは 指定アドレスに対しデータアクセス ( リード , ライト ) がおこなわれた場合 , プログラ ム実行を中断する機能です。本デバッガでは 65535 個設定可能です。 データブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by databreak at アクセスアドレス ■ 設定方法 データブレークの制御は次の方法で行います。 • コマンド - SET DATABREAK 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「3.10 SET DATABREAK (type2)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[データ]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 72 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.4.3 Soft Ma nual シーケンシャルブレーク シーケンシャルブレークとは , イベントのシーケンシャル制御により , シーケンシャ ル条件が成立した場合に , プログラム実行を中止させる機能です。 ■ シーケンシャルブレークとは シーケンシャルブレークは , イベントのシーケンシャル制御により , シーケンシャル条 件が成立した場合に , プログラム実行を中止させる機能です。SET MODE コマンドで 設定するイベントモードがノーマルモードの場合に使用できます。 シーケンシャルブレークでブレークした場合 , ステータスバーに次のメッセージが表 示されます。 Break at アドレス by sequential break (level= レベル番号 ) シーケンシャルブレーク機能についての詳細は「2.2.6 シーケンサによる制御」を参照 してください。 ■ 設定方法 シーケンシャルブレークの設定は次の手順で行います。 1. イベントモードを設定します。 • ダイアログ - デバッグ環境設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照 してください。 • コマンド - SET MODE 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.4 SET MODE」 を参照してください。 2. イベントを設定します。 • ダイアログ - イベント設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.5 イベント」を参照してくだ さい。 • コマンド - SET EVENT 『SOFTUNE Workbenchコマンドリファレンスマニュアル』 の 「3.15 SET EVENT」 を参照してください。 September 1, 2014, CM25-00324-6a 73 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 3. シーケンサの設定をおこないます。 • ダイアログ - シーケンス設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.6 シーケンス」を参照してく ださい。 • コマンド - SET SEQUENCE 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「3.20 SET SEQUENCE」を参照してください。 74 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.4.4 Soft Ma nual ガーデッドアクセスブレーク アクセス属性に違反してアクセスが行われた場合 , およびガーデッド ( 未定義エリア のアクセス不可 ) 領域をアクセスした場合に起こるプログラム実行を中断する機能 です。 ■ ガーデッドアクセスブレークとは アクセス属性に違反してアクセスが行われた場合 , およびガーデッド (未定義エリアの アクセス不可 ) 領域をアクセスした場合にプログラム実行を中断する機能です。 ガーデッドアクセスブレークは以下の場合に発生します。 • コードガーデッド - コード属性を持たない領域に対して命令実行をおこなった場合 • リードガーデッド - リード属性を持たない領域に対して読出しをおこなった場合 • ライトガーデッド - ライト属性を持たない領域に対して書込みをおこなった場合 ガーデッドアクセスでブレークした場合 , ステータスバーに次のメッセージが表示さ れます。 Break at アドレス by guarded access {code/read/write} at アクセスアドレス ■ 設定方法 アクセス属性の設定は次の方法でおこないます。 • コマンド - SET MAP 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.13 SET MAP (type1)」を参照してください。 • ダイアログ - マップ設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.7.3 デバッガのメモリマップ」を 参照してください。 September 1, 2014, CM25-00324-6a 75 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.4.5 So ft Manu al トレースバッファフルブレーク トレースバッファがバッファフルになった場合にプログラム実行を中断する機能で す。 ■ トレースバッファブレークとは トレースバッファがバッファフルになった場合にプログラム実行を中断する機能で す。 トレースバッファフルブレークでブレークした場合 , ステータスバーに次のメッセー ジが表示されます。 Break at アドレス by trace buffer full ■ 設定方法 トレースバッファフルブレークの制御は次の方法で行います。 • コマンド - SET TRACE /BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.21 SET TRACE」 を参照してください。 • ダイアログ - トレース設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してください。 76 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.4.6 Soft Ma nual パフォーマンスバッファフルブレーク パフォーマンス測定データ格納用のバッファがバッファフルになった場合にプログ ラム実行を中断する機能です。 ■ パフォーマンスバッファフルブレークとは パフォーマンス測定データ格納用のバッファがバッファフルになった場合にプログラ ム実行を中断する機能です。 パフォーマンスバッファフルブレークでブレークした場合 , ステータスバーに次の メッセージが表示されます。 Break at アドレス by performance buffer full ■ 設定方法 パフォーマンスバッファフルブレークの制御は次の方法で行います。 • コマンド - SET PERFORMANCE /BREAK 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.7 SET PERFORMANCE」を参照してください。 • ダイアログ - パフォーマンス設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.4.13 パフォーマンス」を参照して ください。 September 1, 2014, CM25-00324-6a 77 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 強制ブレーク 2.2.4.7 プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでブレークした場合は , ステータスバーに次のメッセージが表示されま す。 Break at アドレス by command abort request ■ 発生方法 強制ブレークは次の方法で発生します。 • メニュー - [デバッグ]-[停止]メニュー 『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。 • コマンド - ABORT 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参 照してください。 <注意事項> MCU が低消費電力モード中およびホールド状態での強制ブレークはできません。プログ ラム実行中 , [デバッグ]-[停止]メニューによって強制ブレークを要求した場合 , 低消 費電力モード , ホールド状態であれば[デバッグ]-[停止]メニューは無視されます。ど うしてもブレークさせたい場合は , [デバッグ]-[停止]メニュー入力後 , ユーザシステ ム側で要因を解除するか , [デバッグ]-[MCU のリセット]メニューを用いて要因を解 除してください。実行中に低消費電力モード , ホールド状態になった場合は , ステータス バーに状態が表示されます。 78 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual イベント 2.2.5 MCU のバスの動作を監視して , 指定した条件でトリガを発生させられます。この機 能をイベントとよびます。 本エミュレータでは , イベントトリガを次の機能に使用しており , どの機能に使用す るかはイベントモードにより決まります。 • シーケンサ • マルチトレースのサンプリング条件 • パフォーマンス測定の測定ポイント ■ イベントの設定 イベントは最大 8 個設定できます。 イベントに設定できる条件を表 2.2-4 に示します。 表 2.2-4 イベントに設定できる条件 条件 内 容 アドレス メモリ位置 ( アドレスビットマスク可能 ) データ 8 ビットデータ ( データビットマスク可能 ) NOT 指定可能 ステータス データリード , データライト , 命令実行 , データモディファイ より選択 外部プローブ 8 ビットデータ ( ビットマスク可能 ) <注意事項> • 命令実行は , 命令が実行された場合だけイベントトリガが発生します。ほかのステータ スと同時には , 指定できません。 • データモディファイとは , 指定アドレスのデータが書き換わった場合に , イベントトリ ガを発生させる機能です。ステータスにデータモディファイを指定した場合は , データ 指定は無視されます。ほかのステータスと同時には , 指定できません。 イベントの設定は次のコマンドで行います。 SET EVENT … イベントの設定 をします。 SHOW EVENT … 現在のイベントの設定状態を表示します 。 CANCEL EVENT … 設定したイベントを削除します。 ENABLE EVENT … 設定したイベントを有効にします。 DISABLE EVENT … 設定したイベントを無効にします。 September 1, 2014, CM25-00324-6a 79 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 【例】 >SET EVENT 1, func1 >SET EVENT/WRITE 2,data[2],!d=h'10 >SET EVENT/MODIFY 3,102 イベントの設定はイベントウィンドウでも行えます。 ■ イベントモード イベントモードは次の 3 種類があり , イベントトリガをどの機能に使用するかを SET MODE コマンドで選択します。起動時は , ノーマルモードになっています。 イベントの設定値は , イベントモードごとに持っているため , イベントモードを切り換 えるとイベントの設定も切り換わります。 • ノーマルモード イベントトリガをシーケンサに使用します。 シーケンサは 8 レベルの制御ができるため , シーケンサにより , シーケンシャルブ レーク , 時間測定 , トレースサンプリング制御ができます。 なお , ノーマルモード時のリアルタイムトレースは , シングルトレース ( プログラム 実行を連続的にサンプリングするトレース機能 ) となります。 • マルチトレースモード イベントトリガをマルチトレース ( イベントトリガ発生時の前後のデータをサンプ リングするトレース機能 ) に使用します。 • パフォーマンスモード イベントトリガをパフォーマンス測定に使用します。2 つのイベントトリガ発生間 の時間測定 , イベントトリガ発生回数が測定できます。 80 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual ノーマルモード時の動作 2.2.5.1 図 2.2-5 に示すように , ノーマルモードで設定されたイベントのトリガは , シーケン サへの入力となります。シーケンサでは , イベントトリガ発生時の動作として , 任意 のレベルへの分岐 , シーケンサの終了が指定できます。これによりプログラムのある 流れに着目したデバッグ ( ブレーク , トレースの限定 , 時間測定 ) ができます。 ■ ノーマルモード時の動作 シーケンサ終了時は , ディレイカウンタへのトリガとなります。 ディレイカウンタのカウントが指定数だけカウントされると,シングルトレースのサン プリングが終了します。この場合 , 通常はブレークしますが , ブレークせずに実行を継 続することもできます。 図 2.2-5 ノーマルモード時の動作 SET TRACE SHOW TRACE/STATUS DISABLE TRACE ENABLE TRACE SHOW TRACE/DATA イネーブル/ディセーブル制御 バッファフルブレーク制御 SET SEQUENCE/NO TRACE SET SEQUENCE/ENABLE TRACE CLEAR TRACE SET SEQUENCE/DISABLE TRACE SEARCH TRACE SHOW SEQUENCE レベル SET EVENT シングルトレース測定 イネーブル/ディセーブル制御 測定終了 CANCEL EVENT CANCEL SEQUENCE/TIMER SET SEQUENCE/TIMER 各レベルのトリガとなる イベント番号の選択と パスカウント値の設定 有効 イベント 無効 各レベルの各条件成立時 各タイマの 条件設定 ディレイ カウンタ シーケンサ SET SEQUENCE/EVENT カウント終了時 条件成立時 カウント終了時 タイマ ラッチ MCU動作 停止指令 CANCEL SEQUENCE/EVENT DISABLE EVENT ENABLE EVENT SHOW SEQUENCE/ALL SHOW DELAY SET DELAY SHOW EVENT ■ ノーマルモード時に使用できるイベント関連コマンド ノーマルモード時のリアルタイムトレース機能は , シングルトレース機能となるため , その制御を行うコマンドが利用できます。 ノーマルモード時に使用できる , イベントに関係するコマンドを 表 2.2-5 に示します。 September 1, 2014, CM25-00324-6a 81 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 表 2.2-5 ノーマルモード時に使用できるイベント関連コマンド モード ノーマル モード 82 使用できるコマンド 機 能 SET EVENT SHOW EVENT CANCEL EVENT ENABLE EVENT DISABLE EVENT イベントの設定 イベント設定状態の表示 イベントの削除 イベントを有効にする。 イベントを無効にする。 SET SEQUENCE SHOW SEQUENCE CANCEL SEQUENCE ENABLE SEQUENCE DISABLE SEQUENCE シーケンサの設定 シーケンサ設定状態の表示 シーケンサの取り消し シーケンサを有効にする。 シーケンサを無効にする。 SET DELAY SHOW DELAY ディレイカウントの設定 ディレイカウント設定状態の表示 SET TRACE SHOW TRACE SEARCH TRACE ENABLE TRACE DISABLE TRACE CLEAR TRACE トレースバッファフルブレークの設定 トレースデータの表示 トレースデータの検索 トレース機能を有効にする。 トレース機能を無効にする。 トレースデータをクリアする。 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual マルチトレースモード時の動作 2.2.5.2 イベントモードにマルチトレースモードを設定すると , リアルタイムトレース機能は , マルチトレース機能となり , イベントは , マルチトレースのトリガとして使用されま す。 ■ マルチトレースモード時の動作 マルチトレースとは,イベントトリガ発生時の前後のデータをサンプリングするトレー ス機能です。 イベントモードにマルチトレースモードを設定すると , リアルタイムトレース機能は , マルチトレース機能となり,イベントは,マルチトレースのトリガとして使用されます。 図 2.2-6 マルチトレースモード時の動作 SHOW MULTITRACE/STATUS ENABLE MULTITRACE CANCEL EVENT SET EVENT SET MULTITRACE DISABLE MULTITRACE イネーブル/ディセーブル制御 有効 イベント 無効 バッファフルブレーク制御 MCU 動作停止 指令 有効なイベントが すべてトリガ容認になる マルチトレース測定 SEARCH MULTITRACE DISABLE EVENT CLEAR MULTITRACE ENABLE EVENT SHOW MULTITRACE SHOW EVENT ■ マルチトレースモード時に使用できるイベント関連コマンド マルチトレースモード時に使用できる , イベントに関係するコマンドを表 2.2-6 に示し ます。 September 1, 2014, CM25-00324-6a 83 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 表 2.2-6 マルチトレースモード時に使用できるイベント関連コマンド モード マルチ トレース モード 84 使用できるコマンド 機能 SET EVENT SHOW EVENT CANCEL EVENT ENABLE EVENT DISABLE EVENT イベントの設定 イベント設定状態の表示 イベントの削除 イベントを有効にする。 イベントを無効にする。 SET MULTITRACE SHOW MULTITRACE SEARCH MULTITRACE ENABLE MULTITRACE DISABLE MULTITRACE CLEAR MULTITRACE トレースバッファフルブレークの設定 トレースデータの表示 トレースデータの検索 トレース機能を有効にする。 トレース機能を無効にする。 トレースデータをクリアする。 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual パフォーマンスモード時の動作 2.2.5.3 パフォーマンスモードで設定されたイベントのトリガはパフォーマンス測定に使用 します。2 つのイベント発生間の時間測定 , イベントの発生回数が測定できます。 ■ パフォーマンスモード時の動作 パフォーマンスモードで設定されたイベントのトリガは,パフォーマンス測定に使用し ます。2 つのイベント発生間の時間測定 , イベントの発生回数が測定できます。 図 2.2-7 パフォーマンスモード時の動作 SHOW PERFORMANCE/STATUS SET EVENT SET PERFORMANCE CANCEL EVENT バッファフルブレーク制御 MCU 動作停止 指令 有効 イベント 無効 次の組合せに限定 1, 2 3, 4 5, 6 7, 8 DISABLE EVENT パフォーマンス測定 CLEAR PERFORMANCE ENABLE EVENT SHOW PERFORMANCE SHOW EVENT September 1, 2014, CM25-00324-6a 85 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al ■ パフォーマンスモード時に使用できるイベント関連コマンド パフォーマンスモード時に使用できる , イベントに関係するコマンドを表 2.2-7 に示し ます。 表 2.2-7 パフォーマンスモード時に使用できるイベント関連コマンド モード パフォーマンス モード 86 使用できるコマンド 機 能 SET EVENT SHOW EVENT CANCEL EVENT ENABLE EVENT DISABLE EVENT イベントの設定 イベント設定状態の表示 イベントの削除 イベントを有効にする。 イベントを無効にする。 SET PERFORMANCE SHOW PERFORMANCE CLEAR PERFORMANCE パフォーマンスの設定 パフォーマンス設定状態の表示 パフォーマンス測定データをクリア する。 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.6 Soft Ma nual シーケンサによる制御 指定したイベントの条件に対し , プログラムがある流れ ( シーケンス ) どおりにイベ ントを通過した場合にプログラム実行を中断する機能です。 ■ シーケンス機能とは 指定したイベントの条件に対し , プログラムがある流れ ( シーケンス ) どおりにイベン トを通過した場合にプログラム実行を中断する機能です。この機能により発生するブ レークのことをシーケンシャルブレークとよびます。 この機能を利用してブレーク以外に時間測定やトレースのサンプリング制御もできま す。 ■ 使用条件 シーケンス機能を使用するにはイベントモードをノーマルモードにする必要がありま す。 設定方法の詳細は以下のいずれかを参照してください。 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「1.4 SET MODE」 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」 ■ シーケンサによる制御 表 2.2-8 に示すように 8 レベルの制御ができます。 1 つのレベルには 8 個のイベントと 1 つのタイマ条件の合計 9 条件が設定できます。 タイマ条件は , そのレベルに入ってからタイマのカウントを開始し , 設定時間になった 時点で条件が成立します。 条件ごとに条件成立時の動作を指定でき , 次のどちらかが選択ができます。 • 任意のレベルに移動 • シーケンサの終了 1 レベルに設定した条件は OR で判定され , 1 つでも条件が成立した場合は , 任意のレ ベルへ移動するかシーケンサが終了します。また , 条件成立時にトレースサンプリング の中断 / 再開の制御ができます。 September 1, 2014, CM25-00324-6a 87 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 表 2.2-8 シーケンサの仕様 機 能 仕 様 レベル数 8 レベル 1 レベルの条件 イベント 8 条件 ( 条件ごとに 1 ~ 16777216 回のパス カウントが指定可能 ) タイマ 1 条件 (1 s 単位で 16s まで指定または , 100ns 単位で 1.6s まで指定可能 ) * 条件成立時の動作 任意のレベルへ分岐またはシーケンサの終了 トレースサンプリング制御 その他の機能 レベル分岐時にタイマのラッチが可能 シーケンス終了時の動作 ディレイカウンタの開始 *: タイマ値は , SET TIMERSCALE コマンドにより最小測定単位を 1s, 100ns のどちか に設定できます。 88 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.6.1 Soft Ma nual シーケンサの設定 シーケンサは以下の順で動作します。 1 プログラム実行の開始と同時にレベル 1 からシーケンサがスタートします。 2 各レベルの設定により条件成立時に任意のレベルへ分岐します。 3 シーケンサの終了が設定されている条件が成立した場合は , シーケンサが終了し ます。 4 シーケンサ終了時は , ディレイカウンタのカウントが開始されます。 ■ シーケンサの設定 図 2.2-8 に , シーケンサの動作を示します。 図 2.2-8 シーケンサの動作 プログラム実行の開始(シーケンサのスタート) 条件の設定 条件成立時の動作 [パスカウンタ] [イベント番号1を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号2を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号3を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号4を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号5を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号6を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号7を使用?]→ [トレース制御] /[分岐レベル番号] [パスカウンタ] [イベント番号8を使用?]→ [トレース制御] /[分岐レベル番号] タイマ条件[待ち時間] [トレース制御] /[分岐レベル番号] シーケンサの終了 指定レベルへ分岐 ディレイカウントの開始 ( 設定例 ) イベント 1 発生時にシーケンサを終了させる。 >SET SEQUENCE/EVENT 1,1,J=0 イベント 2 が 16 回発生時にシーケンサを終了させる。 >SET SEQUENCE/EVENT 1,2,16,J=0 イベント 1 が発生後 , イベント 2 が発生した場合にシーケンサを終了させる。ただし , イベント 1 とイベント 2 の間にイベント 3 が発生した場合にはシーケンサを終了させ ない。 September 1, 2014, CM25-00324-6a 89 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al >SET SEQUENCE/EVENT 1,1,J=2 >SET SEQUENCE/EVENT 2,2,J=0 >SET SEQUENCE/EVENT 2,3,J=1 イベント 1 が発生後 , 300s 経過する前に , イベント 2 が発生した場合にシーケンサを 終了させる。 >SET SEQUENCE/EVENT 1,1,J=2 >SET SEQUENCE/EVENT 2,2,J=0 >SET SEQUENCE/TIMER 2,300,J=1 >SHOW SEQUENCE Sequencer Enable level1 レベル1でイ ベント1が発 生した場合レ ベル2へ移動 することを示 します。 level2 level3 level4 level5 level6 level7 level8 || || || || || || || || || || || 1 |1|->2 2 || |2|->end | | || 3 || || || || 4 || || || || 5 || || || || 6 || || || || || || || || 7 || || || || || || || || 8 || || || || || || || || T || |T|->1 || || || || || || Latch 1 ( -> ) = || || || レベル2でイベント2が発 || || || 生した場合にシーケンサを 終了することを示します。 || || || || || || Latch 2 ( -> ) = >SHOW SEQUENCE 2 level no. = 2 90 event pass-count trace-cnt1 2 1 enable レベル2においてイベント2が発 生する前に300µs経過した場 jmp-level1 合にレベル1に移動します。 end timer 00:00:000:300:000 enable 1 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual シーケンサによるブレーク 2.2.6.2 シーケンサ終了時にプログラムの実行を中断できます。このブレークをシーケン シャルブレークとよびます。 ■ シーケンサによるブレーク シーケンサ終了時にプログラムの実行を中断できます。このブレークをシーケンシャ ルブレークとよびます。 図 2.2-9 に示すように , シーケンサが終了するとディレイカウントが開始され , ディレ イカウント終了後は , [ ブレークする ] または [ トレースだけ終了し , ブレークしない ] のいずれかの動作となります。 シーケンサ終了時に即座にブレークさせる場合は , ディレイカウントを 0 に , また , ディ レイカウント終了後 , ブレークするという指定を行う必要があります。ディレイカウン トとディレイカウント後の動作の設定は , SET DELAY コマンドで行います。 なお , 本プログラムの起動時の設定は , ディレイカウント 0, ディレイカウント後ブレー クする設定になっています。 図 2.2-9 シーケンサ終了時の動作 ディレイ カウンタ シーケンサ 終了 トレース終了 ブレークする (シーケンシャルブレーク) カウント 終了 トレース終了 ブレークしない ( ディレイカウント設定例 ) シーケンサ終了時にブレークする。 >SET DELAY/BREAK 0 シーケンサ終了から 100 バスサイクル分トレースを行ってからブレークする。 >SET DELAY/BREAK 100 シーケンサ終了時にトレースは終了するが , ブレークしない。 >SET DELAY/NOBREAK 0 シーケンサ終了から 100 バスサイクル分トレースを行ってからトレースだけ終了し , ブ レークしない。 >SET DELAY/NOBREAK 100 September 1, 2014, CM25-00324-6a 91 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al シーケンサによるトレースサンプリング制御 2.2.6.3 イベントモードがノーマルモードの場合 , リアルタイムトレースは , シングルトレー スとよばれるトレースを行います。 シングルトレースは , トレース機能が有効になっていれば , プログラム実行の開始か ら , プログラム実行が中断するまで , すべてのデータをサンプリングします。 ■ シーケンサによるトレースサンプリング制御 シーケンサの各レベルの条件ごとにトレースサンプリングの中断 / 再開が設定できま す。トレースサンプリングの様子を図 2.2-10 に示します。 例えば , イベント 1 が発生すると , トレースサンプリングを中断し , イベント 2 が発生 した場合に , トレースサンプリングを再開するというように , サンプリングするトレー スデータを限定できます。 図 2.2-10 トレースサンプリング制御 (1) 実行開始 中断 ↓ ↓ 再開 ↓ 中断 ↓ 再開 中断 ↓ ↓ プログラムの流れ トレースバッファ 図 2.2-11 に示すように実行開始から , 最初の条件が発生するまでの間 , トレースサンプ リングを行わないことができます。設定は , GO コマンドまたは , SET GO コマンドで 行います。 (例) >GO/DISABLETRACE >SET GO/DISABLETRACE >GO 図 2.2-11 トレースサンプリング制御 (2) 実行開始 再開 中断 再開 中断 ↓ ↓ ↓ ↓ ↓ 再開 中断 ↓ ↓ プログラムの流れ トレースバッファ 92 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual ( 設定例 ) イベント 1 が発生時にトレースサンプリングを中断し , イベント 2 からイ ベント 3 までのデータをサンプリングする。 スタート レベル1 イベント1発生 NO YES トレースサンプリング中断 レベル2 イベント2発生 NO YES トレースサンプリング再開 レベル3 イベント3発生 NO YES トレースサンプリング中断 >SET SEQUENCE/EVENT/DISABLETRACE 1,1,J=2 >SET SEQUENCE/EVENT/ENABLETRACE 2,2,J=3 >SET SEQUENCE/EVENT/DISABLETRACE 3,3,J=2 September 1, 2014, CM25-00324-6a 93 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.6.4 So ft Manu al シーケンサによる時間測定 シーケンサを利用して時間測定ができます。時間測定には , エミュレーションタイマ とよばれる時間測定用のタイマを使用し , 指定レベルから指定レベルへ分岐した場合 に , このタイマの値を取り込みます。エミュレーションタイマの値は , 2 つまで取り 込めます。この機能をタイマのラッチ機能とよびます。 ■ シーケンサによる時間測定 タイマのラッチを利用することにより , 複雑なプログラムフロー中のある 2 ポイント間 の時間を測定できます。 タイマをラッチするタイミングの設定は , SET SEQUENCE コマンドで , ラッチしたタ イマ値の表示は , SHOW SEQUENCE コマンドで行います。 エミュレーションタイマはプログラム実行の開始時にクリアされ,カウントを開始しま す。また , エミュレーションタイマの計測最小単位を 1s, 100ns のどちらかに設定でき ます。計測単位の設定は , SET TIMERSCALE コマンドで行います。 1s に設定すると最大約 70 分 , 100ns に設定すると最大約 7 分までカウントできます。 測定中にタイマがオーバフローした場合は , SHOW SEQUENCE コマンドでタイマ値を 表示する場合に , 警告メッセージを表示します。 94 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.6.5 Soft Ma nual シーケンサによる時間測定例 イベント 1 →イベント 2 →イベント 3 の順に実行した場合にイベント 1 からイベン ト 3 までの実行時間を測定します。ただし , 途中でイベント 4 が発生した場合は , 測 定しません。 ■ シーケンサによる時間測定例 スタート レベル1 イベント1発生 NO YES レベル1から2へ分岐(タイマのラッチ1) レベル2 YES イベント4発生 イベント2発生 NO YES レベル3 YES イベント4発生 イベント3発生 NO YES レベル3でシーケンサ終了 (タイマのラッチ2) エンド September 1, 2014, CM25-00324-6a 95 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al >SET SEQUENCE/EVENT 1,1,J=2 >SET SEQUENCE/EVENT 2,4,J=1 >SET SEQUENCE/EVENT 2,2,J=3 >SET SEQUENCE/EVENT 3,4,J=1 >SET SEQUENCE/EVENT 3,2,J=0 >SET SEQUENCE/LATCH 1,1,2 レベル3でイベント3が発生し た場合にシーケンサを終了し, タイマをラッチすることを示し ます。 >SET SEQUENCE/LATCH 2,3,0 >SHOW SEQUENCE Sequencer Enable レベル1でイ ベント1が発 生した場合レ ベル2へ移動 し,タイマをラ ッチすること を示します。 level1 level2 level3 level4 level5 level6 level7 level8 1 |1|#>2 | | | | | | | | | | | | | | 2 | | |2|->3 | | | | | | | | | | | | 3 | | | | |3|#end | | | | | | | | | | 4 | | |4|->1 |4|->1 | | | | | | | | | | 5 | | | | | | | | | | | | | | | | 6 | | | | | | | | | | | | | | | | 7 | | | | | | | | | | | | | | | | 8 | | | | | | | | | | | | | | | | T | | |T|->1 | | | | | | | | | | | | Latch 1 (1->2) = 00m02s060ms379.0µs Latch 2 (3->E) = 00m16s040ms650.0µs タイマラッチ1とタイマラッチ2の時間を表示します。 ラッチ2の時間からラッチ1の時間を引いたものが実行時間となります。 時間は以下のように表示されます。 00m 00s 000ms 000.0 µs ↑ ↑ ↑ ↑ 分 秒 m 秒 µ秒 96 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.7 Soft Ma nual プログラムの実行履歴を参照するには[トレース] 本エミュレータデバッガのリアルタイムトレース機能について説明します。 ■ リアルタイムトレースとは プログラムの実行履歴を記録する機能をトレースとよびます。 トレースデータには以下の情報が含まれ , プログラムの実行履歴の解析に利用できま す。 - プログラムを実行した履歴 ( アドレス ) - プログラム実行中にアクセスしたデータ ( 指定した属性だけ ) - ステータス情報 アクセスステータス:リード/ライト/内部アクセス デバイスステータス:命令実行/リセット/ホールド - 外部プローブデータ - シーケンサの実行レベル ■ トレースモード トレースの方法には以下の 2 種類があります。 • シングルトレース:プログラム実行の開始から終了までをトレースします • マルチトレース:イベントが発生した場合にトレースします ■ トレースバッファ 記録したデータを格納する場所をトレースバッファとよびます。 またトレースバッファ内に格納された 1 データ単位をフレームとよびます。 トレースバッファの容量は最大 32,768 (32K) フレームです。 トレースバッファはリング状の構造となっているので , トレースバッファがバッファ フルになった場合は自動的にトレースバッファの先頭から上書きします。 September 1, 2014, CM25-00324-6a 97 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 2.2.7.1 シングルトレース シングルトレースでは , プログラムの実行開始から実行停止までの間 , すべてのデー タをトレースします。 ■ シングルトレース SET MODE コマンドで設定するイベントモードをノーマルモードにすることによりシ ングルトレースとなります。 シングルトレースでは , プログラムの実行開始から実行停止までの間 , すべてのデータ をトレースします。 リアルタイムトレース機能が有効になっていれば GO, STEP, CALL コマンド実行中は いつもデータがサンプリングされ , トレースバッファに記録されます。 図 2.2-12 に示すように , イベントのシーケンサによる制御によりトレースサンプリン グ中断 / 再開の制御ができます。また , シーケンサ終了のトリガ発生からトレースが終 了するまでにディレイを設定できるため,あるイベント発生後のプログラムの流れをト レースできます。ディレイカウントは , バスサイクル単位でカウントされるため , サン プリングされるトレースデータ数と一致します。ただし , シーケンサが終了する時点で , トレースサンプリングが中断されていた場合は , ディレイカウント中は , 何もサンプリ ングされません。 ディレイカウント終了後 , 通常はシーケンシャルブレークによりブレークしますが , ブ レークさせずにトレースだけ終了させられます。 また,トレースバッファがバッファフルになった場合にプログラムをブレークさせられ ます。このブレークをトレースバッファフルブレークとよびます。 図 2.2-12 シングルトレース時のサンプリング シーケンサ ディレイカウンタ サンプリング サンプリング 実行開始 中断 再開 シーケンサ終了 トレース 終了 トリガ プログラム の流れ トレースバッファ ディレイ 98 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual ■ シングルトレース時のフレーム番号とステップ番号 サンプリングされたトレースデータにはフレームごとに番号が付けられます。この番 号をフレーム番号とよびます。 トレースバッファ中のどの位置から表示するかの指定は , フレーム番号により行いま す。シーケンサ終了のトリガ発生位置のトレースデータには 0 番が , トリガ発生位置に 到達するまでにサンプリングされたトレースデータには負の番号が,トリガ発生位置以 降にサンプリングされたデータには正の番号が付けられます ( 図 2.2-13 を参照 )。 シーケンサ終了のトリガ位置がない場合は,最後にサンプリングされたトレースデータ が 0 となります。 図 2.2-13 シングルトレース時のフレーム番号 ・ ・ ・ -3 -2 -1 0 (トリガ発生位置) +1 +2 +3 ・ ディレイフレーム ・ ・ September 1, 2014, CM25-00324-6a 99 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.7.2 So ft Manu al シングルトレースの設定方法 シングルトレースを行うには , 1) ~ 4) の設定をします。その後 , プログラムの実行 を行うとトレースデータがサンプリングされます。 1) イベントモードをノーマルモードにします。 2) トレース機能を有効にします。 3) イベントおよびシーケンサ , ディレイカウントの設定を行います。 4) トレースバッファフルブレークの設定を行います。 ■ シングルトレースの設定方法 シングルトレースを行うには , 以下の設定をします。その後 , プログラムの実行を行う とトレースデータがサンプリングされます。 1. イベントモードをノーマルモードにします。 設定は SET MODE コマンドで行います。 2. トレース機能を有効にします。 設定は , ENABLE TRACE コマンドで行います。 無効にする場合は , DISABLE TRACE コマンドで行います。 本プログラム起動時は , 有効になっています。 3. イベントおよびシーケンサ , ディレイカウントの設定を行います。 イベントのシーケンサを設定すると , トレースのサンプリング制御が行えます。必 要がない場合は , 設定する必要はありません。 イベントの設定は , SET EVENT コマンドで , シーケンサの設定は , SET SEQUENCE コマンドで行います。 シーケンサ終了からトレース終了までのディレイカウント , ディレイカウント終了 時のブレーク動作 ( ブレークするか , しないか ) の設定をします。イベント発生後 のデータが必要ない場合は , 設定する必要はありません。 ブレーク動作をブレークしないにすると , トレースだけ終了しブレークしません。 オンザフライでトレースデータを確認する場合に設定します。 設定は , SET DELAY コマンドで行います。 4. トレースバッファフルブレークの設定を行います。 トレースバッファがバッファフルになった場合に , ブレークさせられます。設定は , SET TRACE コマンドで行います。本プログラム起動時は , ブレークしない設定に なっています。設定状態は , SHOW TRACE/STATUS で表示できます。 100 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual 表 2.2-9 にシングルトレース時のトレースに関係するコマンドを示します。 表 2.2-9 シングルトレース時に使用できるトレース関係のコマンド 使用できるコマンド 機 能 SET EVENT SHOW EVENT CANCEL EVENT ENABLE EVENT DISABLE EVENT イベントの設定 イベント設定状態の表示 イベントの削除 イベントを有効にする。 イベントを無効にする。 SET SEQUENCE SHOW SEQUENCE CANCEL SEQUENCE ENABLE SEQUENCE DISABLE SEQUENCE シーケンサの設定 シーケンサ設定状態の表示 シーケンサの取り消し シーケンサを有効にする。 シーケンサを無効にする。 SET DELAY SHOW DELAY ディレイカウント値 , ディレイ後の動作の設定 ディレイカウントの設定状態の表示 SET TRACE SHOW TRACE SEARCH TRACE ENABLE TRACE DISABLE TRACE CLEAR TRACE トレースバッファフルブレークの設定 トレースデータの表示 トレースデータの検索 トレース機能を有効にする。 トレース機能を無効にする。 トレースデータをクリアする。 <注意事項> シーケンサ終了によりブレーク ( シーケンシャルブレーク ) した場合 , 最後に実行された マシンサイクルはサンプリングされません。 September 1, 2014, CM25-00324-6a 101 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al マルチトレース 2.2.7.3 マルチトレースでは , イベントトリガが発生した場合だけ , そのイベントトリガの前 後 8 フレーム分のデータをサンプリングします。 ■ マルチトレース SET MODE コマンドで設定するイベントモードをマルチトレースモードにすることに よりマルチトレースが行えます。 マルチトレースでは , イベントトリガが発生した場合だけ , そのイベントトリガの前後 8 フレーム分のデータをサンプリングします。 連続した実行のトレースではなく,ある変数アクセスが発生したときだけトレースする というような場合に使用します。 1 回のイベントトリガ発生でサンプリングされたトレースデータ (16 フレーム ) をブ ロックとよびます。トレースバッファは 32K フレーム分あるため , 最大 2048 ブロック サンプリングできます。 マルチトレースのサンプリングは,トレースバッファがバッファフルになると終了しま す。この場合にプログラムの実行をブレークさせることもできます。 図 2.2-14 マルチトレース時のサンプリング 実行開始 ↓ イベント1 ↓ イベント2 ↓ イベント3 ↓ プログラムの流れ トレースバッファ ブロック ■ マルチトレース時のフレーム番号 1 回のイベント発生で , 16 フレーム分のデータがサンプリングされます。この 1 つの単 位をブロックといい , サンプリングされたブロックごとに 0 から番号が付けられます。 これをブロック番号とよびます。 1 つのブロックには , イベントトリガ発生位置を中心に前後 8 フレームのデータがサン プリングされています。イベントトリガ発生位置を 0, イベントトリガ発生位置に到達 するまでにサンプリングされたトレースデータには負の番号が,イベントトリガ発生位 置以降にサンプリングされたデータには正の番号が付けられます。このフレーム番号 をローカル番号とよびます ( 図 2.2-15 参照 )。 ローカル番号とは別に , トレースバッファ中の一番古いデータより 1 から順に付けられ ているフレーム番号があります。これをグローバル番号とよびます。トレースバッファ は32K分ありますので, 1~32768のフレーム番号が付けられています(図 2.2-15 参照)。 102 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual どのフレームのデータを表示するかは , グローバル番号か , ブロック番号とローカル番 号により指定します。 図 2.2-15 マルチトレース時のフレーム番号 ブロック番号 トレースバッファ フレーム番号 グローバル番号 1 2 2048 September 1, 2014, CM25-00324-6a ローカル番号 1 2 : : 8 : : 15 16 17 18 : : 24 : : 31 32 -7 -6 : : 0 : : +7 +8 -7 -6 : : 0 : : +7 +8 32752 32753 : : 32759 : : 32767 32768 -7 -6 : : 0 : : +7 +8 ←イベント トリガ ←イベント トリガ ←イベント トリガ 103 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.7.4 So ft Manu al マルチトレースの設定方法 マルチトレースを行うには ,1 ~ 4 の設定をします。その後 , プログラムの実行を行 うとトレースデータがサンプリングされます。 1 イベントモードをマルチトレースモードにします。 2 トレース機能を有効にします。 3 イベントの設定を行います。 4 トレースバッファフルブレークの設定を行います。 ■ マルチトレースの設定方法 マルチトレースを行うには , 以下の設定をします。その後 , プログラムの実行を行うと トレースデータがサンプリングされます。 1. イベントモードをマルチトレースモードにします。 設定は SET MODE コマンドで行います。 2. トレース機能を有効にします。 設定は , ENABLE MULTITRACE コマンドで行います。 無効にする場合は , DISABLE MULTITRACE コマンドで行います。 3. イベントの設定を行います。 マルチトレースをサンプリングするイベントを設定します。 設定は , SET EVENT コマンドで行います。 4. トレースバッファフルブレークの設定を行います。 トレースバッファがバッファフルになったときに , ブレークさせたい場合を設定し ます。SET MULTITRACE コマンドにより設定します。 マルチトレースモードで使用できるトレースに関係するコマンドを表 2.2-10 に示しま す。 表 2.2-10 マルチトレース時に使用できるトレース関係のコマンド 使用できるコマンド 104 機 能 SET EVENT SHOW EVENT CANCEL EVENT ENABLE EVENT DISABLE EVENT イベントの設定 イベント設定状態の表示 イベントの削除 イベントを有効にする。 イベントを無効にする。 SET MULTITRACE SHOW MULTITRACE SEARCH MULTITRACE ENABLE MULTITRACE DISABLE MULTITRACE CLEAR MULTITRACE トレースバッファフルブレークの設定 トレースデータの表示 トレースデータの検索 マルチトレースを有効にする。 マルチトレースを無効にする。 トレースデータをクリアする。 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.7.5 Soft Ma nual トレースデータの格納状況の表示 トレースバッファ中にどれだけトレースデータが格納されているかは , シングルト レース時は SHOW TRACE コマンドに , マルチトレース時は SHOW MULTITRACE コマンドに /STATUS を指定することにより読み出せます。 ■ トレースデータの格納状況の表示 トレースバッファ中にどれだけトレースデータが格納されているかは,シングルトレー ス時は SHOW TRACE コマンドに , マルチトレース時は SHOW MULTITRACE コマン ドに /STATUS を指定することにより読み出せます。 マルチトレース時に表示されるフレーム番号は , グローバル番号です。 (例) • シングルトレース時 >SHOW TRACE/STATUS en/dis = enable buffer full = nobreak sampling = end frame no. = -00120 to step no. = -00091 to > : トレース機能は有効 : バッファフルブレーク機能は無効 : トレースサンプリングは終了 00050 :-120 ~ 50 フレームまで格納されている。 00022 :-91 ~ 22 ステップまで格納されている。 • マルチトレース時 >SHOW MULTITRACE/STATUS en/dis = enable : マルチトレース機能は有効 buffer full = nobreak : バッファフルブレーク機能は無効 sampling = end : トレースサンプリングは終了 block no. = 1 to 5 :1 ~ 5 ブロックデータが格納されている。 frame no. = 00001 to 00159 :1 ~ 159 フレームまでデータが格納されている ( グローバル番号 )。 September 1, 2014, CM25-00324-6a 105 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.7.6 So ft Manu al トレースデータの表示位置の指定 トレースバッファ中のどのデータから表示を開始するかを指定するには , シングルト レース時には SHOW TRACE コマンドにフレーム番号を , マルチトレース時には , SHOW MULTITRACE にグローバル番号を指定するか , ブロック番号とローカル番号 により指定します。範囲指定もできます。 ■ トレースデータの表示位置の指定 トレースバッファ中のどのデータから表示を開始するかを指定するには , シングルト レース時には SHOW TRACE コマンドにステップ番号もしくはフレーム番号を , マルチ トレース時には , SHOW MULTITRACE にグローバル番号を指定するか , ブロック番号 とローカル番号により指定します。範囲指定もできます。 (例) シングルトレース時 >SHOW TRACE -6 : -6 フレームから表示する。 >SHOW TRACE -6..10 : -6 フレームから 10 フレームまで表示する。 • マルチトレース時 : 500 フレーム ( グローバル番号 ) から 表示する。 >SHOW MULTITRACE/LOCAL 2 : ブロック番号 2 のブロックを表示する。 >SHOW MULTITRACE/LOCAL 2,-5..5 : ブロック番号 2 の -5 フレームから 5 フレー ムまで表示する。 >SHOW MULTITRACE/GLOBAL 500 106 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual トレースデータの表示形式 2.2.7.7 シングルトレース時は SHOW TRACE コマンド , マルチトレース時は SHOW MULTITRACE コマンドにコマンド修飾子を指定することにより表示形式を選択でき ます。SET SOURCE コマンドの設定により , ソース行を付加するモードになってい れば , ソース行が付加されて表示されます。 トレースデータの表示形式には次の 3 種類があります。 • すべてのバスサイクルを表示 (/CYCLE を指定 ) • 命令実行だけ表示 (/INSTRUCTION を指定 ) • ソース行単位で表示 (/SOURCE を指定 ) ■ すべてのバスサイクルを表示 (/CYCLE を指定 ) 次の形式で表示されます。 逆アセンブル表示 アドレス 16進数 フレーム番号 (ローカル番号) 10進数符号付き シングルトレース 時は"-----"を表示 命令の先頭のフレーム で表示されます。 データ フレーム番号 >SHOW TRACE frame no. -00005 -----00004 -----00003 -----00002 ----demo3.c$89 { -00001 ----00000 00001 00002 00003 00004 --------------------- 2進数 -5 address :E191 :E192 :09ED :09EC data mnemonic 95 95 92 [write] E1 [write] :E195 41 :E196 :09EB :09EA :E196 :E197 す。シーケンサ未使用時は1を表示。 外部プローブデータ 16進数 (グローバル番号) 10進数符号付き シーケンスのレベル トレースサンプリング時に実行して いたシーケンサのレベルが表示されま F1 00 20 F1 E2 \main: PUSHW ext-probe 11111111 11111111 11111111 11111111 lvl 1 1 1 1 11111111 1 11111111 11111111 11111111 11111111 11111111 1 1 1 1 1 IX [write] [write] ** HOLD ** > アクセスステータス [internal write] :内部メモリへのライトアクセス [internal read] :内部メモリへのリードアクセス [write] :内部領域以外のメモリへのライトアクセス [xx] :上記以外のアクセスステータス 内部領域以外へのリードアクセスは,データアクセスと コードフェッチが区別できないため,何も表示されません。 デバイスステータス MCUの状態を表示します。 ** HOLD ** :ホールド マルチトレースの場合は , ブロックの先頭に "Block number = XXXXXX" を表示します。 September 1, 2014, CM25-00324-6a 107 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al ■ 命令実行だけ表示 (/INSTRUCTION を指定 ) /CYCLE 指定時と同じ形式で , 命令実行だけを表示します。 データ , アクセスステータス , デバイスステータスは表示されません。 (例) >SHOW TRACE/INSTRUCTION -5 frame no. address mnemonic ext-probe lvl :E195 \main: 11111111 1 demo3.c$89 { -00001 ----- PUSHW IX 00003 ----- :E196 MOVW A,SP 11111111 1 00005 ----- :E197 MOVW IX,A 11111111 1 00007 ----- :E198 PUSHW A 11111111 1 00011 ----- :E199 PUSHW A 11111111 1 00015 ----- :E19A PUSHW A 11111111 1 demo3.c$91 int cc = 1; 00019 ----- :E19B MOVW A,#0001 11111111 1 00022 ----- :E19E MOVW @IX-02,A 11111111 1 MOVW A,#000A 1 00019:-----:demo3.c$91 int cc = 00027:-----:demo3.c$93 numdt = 10; 00035:-----:demo3.c$94 ackdat = 0; 00041:-----:demo3.c$96 sort (&datpl); /* data sorting */ 00054:-----;demo3.c$147 struct st *dat; 00071:-----:demo3.c$152 ackdat += 5; 00082:-----:demo3.c$153 nckdat = ackdat; 00086:-----:demo3.c$154 for (j=0 ; j<numdt-1; j++) { demo3.c$93 00027 numdt = 10; ----- :E1A0 11111111 > ■ ソース行単位で表示 (/SOURCE を指定 ) ソース行だけを表示します。 (例) >SHOW TRACE/SOURCE -5 frame no. source -00001:-----:demo3.c$89 { 1; > 108 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.7.8 Soft Ma nual オンザフライによるトレースデータの読出し トレースデータをプログラム実行中に読み出せます。 ただし , サンプリング中は読み出せません。トレース機能を無効にするか , トレース を終了させてから読み出す必要があります。 ■ シングルトレース時のオンザフライによるトレースデータの読出し トレース機能を無効にするには , DISABLE TRACE コマンドにより行います。 現在 , トレース機能が有効か無効かは , SHOW TRACE コマンドに /STATUS を指定し て実行するか , 組込み変数 %TRCSTAT で調べられます。 また , シーケンサが終了し , ディレイカウントが終了した場合 , トレースが終了します。 ここで , ブレークさせない指定にしておけば , ブレークせずにトレースが終了した状態 となります。トレースが終了しているかどうかは , SHOW TRACE コマンドに /STATUS を指定して実行するか , 組込み変数 %TRCSAMP で調べられます。 トレースデータを読み出すには SHOW TRACE コマンドを , トレースデータを検索する には SEARCH TRACE コマンドを使用します。 ディレイカウントの設定 , ディレイカウント後のブレーク動作の指定は , SET DELAY コマンドで行います。 (例) >GO > >SHOW TRACE/STATUS en/dis = enable buffer full = nobreak sampling = on ← トレースサンプリング中 > >SHOW TRACE/STATUS en/dis = enable buffer full = nobreak sampling = end ← トレースサンプリング終了 frame no. = -00805 to 00000 step no. = -00262 to 00000 > >SHOW TRACE -10 frame no. data nemonic -00010 -----: F000 04 MOV -00009 -----: F001 55 -00008 -----: F002 45 -00007 -----: F003 60 . address . MOV ext-probe lvl A,#55 11111111 1 11111111 1 11111111 1 11111111 1 60,A . トレースが終了している状態で CLEAR TRACE コマンドを実行すると再度シーケンサ を最初から実行し , トレースデータをサンプリングし直せます。 September 1, 2014, CM25-00324-6a 109 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al ■ マルチトレース時のオンザフライによるトレースデータの読出し DISABLE MULTITRACE コマンドでトレース機能を無効にしてから読み出します。現 在 , トレース機能が有効か無効かは , SHOW MULTITRACE コマンドに /STATUS を指 定して実行するか , 組込み変数 %TRCSTAT で調べられます。 トレースデータを読み出すには SHOW MULTITRACE コマンドを , トレースデータを 検索するには SEARCH MULTITRACE コマンドを使用します。 (例) >GO > >SHOW MULTITRACE/STATUS en/dis = enable buffer full = nobreak sampling = on > >DISABLE MULTITRACE > >SHOW MULTITRACE/STATUS en/dis = disable buffer full = nobreak sampling = end block no. = 1 to 20 frame no. = 00001 to 00639 > >SHOW MULTITRACE frame no. address 1 data mnemonic 00001-00007 : F000 04 MOV 00002-00006 : F001 55 00003-00005 : F002 45 00004-00004 : F003 60 ext-probe lvl block no. = 1 110 A,#55 11111111 1 11111111 1 11111111 1 11111111 1 MOV 60,A CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.7.9 Soft Ma nual トレースデータを保存するには トレースデータの保存について説明します。 ■ トレースデータを保存するには トレースデータは指定したファイルに保存できます。 保存方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による保存 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. トレースデータを保存するファイル名を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[セーブ] メニューを選択してください。名前を付けて保存ダイアログが表示されます。 ここで保存するファイル名と保存先を指定してください。 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照し てください。 • コマンドによる保存 トレースデータを保存します。 - SHOW TRACE/FILE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.22 SHOW TRACE (type 1)」を参照してください。 既にあるファイルに追加保存する場合は SHOW TRACE/FILE/APPEND コマン ドを実行してください。 September 1, 2014, CM25-00324-6a 111 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.7.10 So ft Manu al トレースデータを検索するには トレースデータの検索について説明します。 ■ トレースデータを検索するには トレースデータの中から指定したアドレスまたはフレーム番号のトレースデータを検 索できます。 検索方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による検索 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. 検索したいアドレスまたはフレーム番号を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[検索]メ ニューを選択してください。トレース検索ダイアログが表示されます。 ここで表示したいアドレスまたはフレーム番号を指定してください。詳細は 『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してくだ さい。 • コマンドによる検索 トレースデータを検索します。 - SEARCH TRACE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.23 SEARCH TRACE」を参照してください。 112 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.8 Soft Ma nual パフォーマンス測定 2 つのイベント発生間の時間測定 , 通過回数を測定できます。リアルタイムに実行し ながら繰り返し測定ができ , 実行後 , データを集計し表示を行います。 この機能によりプログラムのパフォーマンスを測定できます。 パフォーマンス測定を行うには , SET MODE コマンドで設定するイベントモードを パフォーマンスモードにする必要があります。 ■ パフォーマンス測定の機能 パフォーマンス測定では , 2 つのイベント間の時間測定とイベントの発生回数の測定が できます。32767 回イベントが発生するまで測定できます。 ● 時間測定 2 つのイベント間の時間を測定します。 イベントは 1 ~ 8 の 8 ポイント設定できますが , パフォーマンス測定モードにより , 次 のような組合せとなります。 4 区間の組合せは , 次の番号に固定となります。 区間 開始イベント番号 終了イベント番号 1 1 2 2 3 4 3 5 6 4 7 8 ● 回数測定 設定したイベントがそのままパフォーマンス測定ポイントとなり,そのイベントが発生 した回数を測定します。 September 1, 2014, CM25-00324-6a 113 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.8.1 So ft Manu al パフォーマンス測定手順 パフォーマンス測定は , 次の手順により測定を行います。 • イベントモードの設定 • タイマの最小測定単位の設定 • パフォーマンスバッファフルブレークの指定 • イベントの設定 • プログラム実行 • 測定結果の表示 • 測定結果のクリア ■ イベントモードの設定 SET MODE コマンドによりイベントモードをパフォーマンスモードにします。 これにより , パフォーマンス測定が有効になります。 (例) >SET MODE/PERFORMANCE > ■ タイマの最小測定単位の設定 SET TIMERSCALE コマンドにより , パフォーマンス測定に使用するタイマの最小測定 単位を 1 s と 100ns のどちらかに設定できます。本プログラム起動時は , 1 s に設定 されています。 最小測定単位を変更するとパフォーマンスの測定値はクリアされます。 (例) >SET TIMERSCALE/1U ← 最小単位を 1 ms に設定 > ■ パフォーマンスバッファフルブレークの指定 パフォーマンス測定データ格納用のバッファがバッファフルになった場合,プログラム の実行をブレークできます。この機能をパフォーマンスバッファフルブレークとよび ます。パフォーマンスバッファは , 32767 回イベントが発生するとバッファフルになり ます。 パフォーマンスバッファフルブレークを指定しなかった場合は,パフォーマンス測定は 終了しますが , ブレークはしません。 (例) >SET PERFORMANCE/NOBREAK ← ブレークしない指定 > 114 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual ■ イベントの設定 SET EVENT コマンドでイベントを設定します。 時間測定の開始 , 終了ポイント , および通過回数を測定するポイントは , イベントによ り指定します。 イベントは 1 ~ 8 の 8 ポイント設定できますが , パフォーマンス測定では , 次のような 組合せとなります。 ● 時間測定 4 区間の組合せは , 次の番号に固定となります。 区間 開始イベント番号 終了イベント番号 1 1 2 2 3 4 3 5 6 4 7 8 ● 回数測定 設定したイベントがそのままパフォーマンス測定ポイントとなります。 ■ プログラム実行 GO, CALL コマンドによりプログラム実行すると測定されます。ある区間の時間測定 中にブレークした場合は , その区間の測定中のデータは捨てられます。 ■ パフォーマンス測定データの表示 SHOW PERFORMANCE コマンドで表示を行います。 ■ パフォーマンス測定データのクリア CLEAR PERFORMANCE コマンドにより測定データのクリアができます。 (例) >CLEAR PERFORMANCE > September 1, 2014, CM25-00324-6a 115 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al パフォーマンス測定データの表示 2.2.8.2 SHOW PERFORMANCE コマンドで時間測定の表示 , 測定回数の表示を行います。 ■ 時間測定の表示 表示を行うには , 開始イベント番号 , または終了イベント番号を指定します。 その時間内の測定回数 イベント番号 >SHOW PERFORMANCE/TIME 1,9000,18999,1000 最小実行時間 最大実行時間 event min time max time avr time = = = = 1 -> 2 11637.0 17745.0 14538.0 平均実行時間 総測定回数 time (µs) | count -----------------------------+--------0.0 8999.0 | 0 9000.0 9999.0 | 0 10000.0 10999.0 | 0 11000.0 11999.0 | 2 12000.0 12999.0 | 19 13000.0 13999.0 | 52 14000.0 14999.0 | 283 15000.0 15999.0 | 92 16000.0 16999.0 | 3 17000.0 17999.0 | 1 18000.0 18999.0 | 0 19000.0 | 0 -----------------------------+--------total | 452 表示の上限時間 , 下限時間 , 間隔を指定できます。 指定された時間は, SET TIMERSCALEコマンドで設定するタイマの最小測定単位が1 s の場合は 1 s 単位と , 100ns の場合は 100ns 単位と判断します。 >SHOW PERFORMANCE/TIME 1,13000,16999,500 event = 1 -> 2 time (µs) | count min time = 11637.0 -----------------------------+--------max time = 17745.0 0.0 12999.0 | 21 avr time = 14538.0 13000.0 13499.0 | 13 13500.0 13999.0 | 39 14000.0 14499.0 | 121 下限表示時間 14500.0 14999.0 | 162 15000.0 15499.0 | 76 15500.0 15999.0 | 16 16000.0 16499.0 | 2 上限表示時間 16500.0 16999.0 | 1 17000.0 17499.0 | 1 -----------------------------+--------total | 452 116 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.9 Soft Ma nual カバレッジ測定 本エミュレータは , C0 カバレッジ測定機能を持っています。この機能を利用すると , プログラム全体の何 % が実行されたかを知ることができます。 ■ カバレッジ測定機能 プログラムをテストする場合は , いろいろなテストデータを与えて実行し , 結果が正し いことを確認します。テストがひととおり終わると , そのプログラムは全体がくまなく 実行されたはずです。もし , プログラムの一部分が実行されなかったとしたら , テスト 項目が不充分だった可能性があります。 本エミュレータが持っているカバレッジ機能を利用すると , プログラム全体の何 % が 実行されたのかを知ることができます。 また , 単に比率だけでなく , 具体的にどの番地がアクセスされなかったのかも詳細に調 べられます。 本デバッガでは , カバレッジ測定を行う範囲と , 測定を行うアクセス属性を設定できま す。 C0 カバレッジを行う場合は , コード領域にだけ測定範囲を設定し , 測定属性はコード 属性に設定してください。 また , リード / ライト属性を指定し , データ領域に測定範囲を設定することにより , 使 用されていない変数を探し出すなど , 変数のアクセス状態を調べられます。 ■ カバレッジ測定手順 カバレッジ測定の手順は以下のとおりです。 1. カバレッジ測定範囲の設定 :SET COVERAGE 2. カバレッジの測定 :GO, STEP, CALL 3. 測定結果の表示 :SHOW COVERAGE ■ カバレッジ測定操作 カバレッジ測定の際には , 次の操作ができます。 カバレッジデータのロード / セーブ … LOAD/COVERAGE, SAVE/COVERAGE カバレッジ測定の中断と再開 … ENABLE COVERAGE, DISABLE COVERAGE カバレッジデータのクリア … CLEAR COVERAGE カバレッジ測定範囲の解除 … CANCEL COVERAGE September 1, 2014, CM25-00324-6a 117 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t 2.2.9.1 So ft Manu al カバレッジ測定手順 カバレッジ測定の手順は以下のとおりです。 1. カバレッジ測定範囲の設定…SET COVERAGE 2. カバレッジの測定……………GO, STEP, CALL 3. 測定結果の表示………………SHOW COVERAGE ■ カバレッジ測定範囲の設定 SET COVERAGE コマンドで測定範囲を設定します。最大 32 領域まで設定可能で , 1 領 域の大きさに制限はありません。 コマンド修飾子に /AUTOMATIC を指定するとロードされているモジュールのコード 領域が自動的に設定されます。ただし , C コンパイラのライブラリをリンクしている場 合は , ライブラリのコード領域は設定されません。 (例) >SET COVERAGE FF00..FFFF ■ カバレッジの測定 カバレッジ測定の準備ができたら , プログラムを実行させます。 GO, STEP, CALL コマンドによりプログラムを実行すると測定されます。 ■ カバレッジ測定結果の表示 SHOW COVERAGE コマンドで測定データの表示を行います。次の表示ができます。 • 全測定領域のカバレッジ率の表示 • ロードモジュールのカバレッジ率の表示 • 16 アドレスをひとかたまりとした概要表示 • 1 アドレスごとのアクセス状態を表示する詳細表示 • ソース行単位のカバレッジ測定結果表示 • 機械命令単位のカバレッジ測定結果表示 ● 全測定領域のカバレッジ率の表示 ( コマンド修飾子に /TOTAL を指定 ) >SHOW COVERAGE/TOTAL total coverage : 82.3% ● ロードモジュールのカバレッジ率の表示 ( コマンド修飾子に /MODULE を指定 ) >SHOW COVERAGE/MODULE sample.abs . . . . . +- startup.asm . . . +- sample.c . . . . +- samp.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (84.03%) (90.43%) (95.17%) (100.00%) ロードモジュールと各モジュールのカバレッジ率を表示します。 118 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support Soft Ma nual ● 概要表示 ( コマンド修飾子に /GENERAL を指定 ) >SHOW COVERAGE/GENERAL (HEX)0X0 +1X0 +2X0 +---------------+---------------+-----address 0123456789ABCDEF0123456789ABCDEF0123456 FF00 **3*F*....... -----... ABCDEF C0(%) 32.0 16アドレスごとのアクセス状況を表示します。 . :アクセスなし 1~ F :16個のアドレス内のアクセスされた数を16進数で表示 * :16個のアドレスをすべてアクセス ● 詳細表示 ( コマンド修飾子に /DETAIL を指定 ) 1行分のカバレッジ率を 表示します。 >SHOW COVERAGE/DETAIL FF00 address +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 FF00 - - - - - - - - - FF10 - - - - - - - - - FF20 . . . . - - - . . . FF30 - - - - - - - - - FF40 - . - - - - - - - FF50 - - - - - - - - - FF60 . . . . . . . . . . FF70 . . . . . . . . . . FF80 . . . . . . . . . . +A . . . . +B +C +D +E +F C0(%) - - - - - 100.0 - - - - - 100.0 . . . . . 18.6 - - - - - 100.0 - - - - - 93.7 - - - - - 100.0 . . . . . 0.0 . . . . . 0.0 . . . . . 0.0 1アドレスごとにアクセス状態を表示します。 . :アクセスなし - :アクセスあり September 1, 2014, CM25-00324-6a 119 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al ● ソース行単位で表示 ( コマンド修飾子に /SOURCE を指定 ) >SHOW COVERAGE/SOURCE main * 70: { 71: int i; 72: struct table *value[16]; 73: * 74: for (i=0; i<16; i++) * 75: value[i] = &target[i]; 76: * 77: sort_val(value, 16L); . 78: } ソース行のアクセス状況を表示します。 . :アクセスなし * 空白 :アクセスあり :コードが生成されないまたはカバレッジ測定範囲外の行 ● 機械命令単位で表示 ( コマンド修飾子に /INSTRUCTION を指定 ) >SHOW COVERAGE/INSTRUCTION C304 sample.c$70 { * C304: 41 PUSHW IX * C305: F1 MOVW A,SP * C306: E2 MOVW IX,A * C307: E40024 MOVW A,#0024 * C30A: 81 CLRC * C30B: 33 SUBCW A * C30C: E1 MOVW SP,A sample.c$74 for (i=0; i<16; i++) . C30D: E40000 MOVW A,#0000 . C310: D6FE MOVW @IX-02,A . C312: C6FE MOVW A,@IX-02 . C314: E40010 MOVW A,#0010 . C317: 13 CMPW A . C318: FE2C BGE C346 sample.c$75 value[i] = &target[i]; . C31A: F2 MOVW A,IX . C31B: E40024 MOVW A,#0024 . C31E: 81 CLRC ソース行のアクセス状況を表示します。 . :アクセスなし * 空白 :アクセスあり :カバレッジ測定範囲外の命令 <注意事項> MB2141 では , プリフェッチの影響を受けて , コードカバレッジ測定が行なわれます。解 析時にはご注意ください。 120 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.10 Soft Ma nual 実行時間測定 プログラムの実行時間を測定する機能について説明します。 ■ 測定項目 プログラムの実行時間を測定します。 測定はプログラム実行のたびにおこなわれ , 測定結果は以下の 2 つの値を表示します。 - 直前のプログラム実行における実行時間 - 前回クリアしてからの実行時間の合計 測定可能な最大値は測定単位により異なります。 最小測定単位は 1s と 100ns のいずれかから選択します。デフォルトは 1s です。 1s の場合: 最大約 70 分 100ns の場合:最大約 7 分 ■ 測定単位の設定 最小測定単位の設定は以下のいずれかで行います。 • ダイアログ - デバッグ環境設定ダイアログ[エミュレーション]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照し てください。 • コマンド - SET TIMERSCALE 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.6 SET TIMERSCALE」を参照してください。 ■ 測定結果の表示 測定結果の表示は以下のいずれかで行います。 • ダイアログ - 時間測定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。 • コマンド - SHOW TIMER 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.19 SHOW TIMER」を参照してください。 September 1, 2014, CM25-00324-6a 121 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al ■ 測定結果のクリア 測定結果のクリアは以下のいずれかで行います。 • ダイアログ - 時間測定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。 • コマンド - CLEAR TIMER 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.20 CLEAR TIMER」を参照してください。 122 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.11 Soft Ma nual 外部プローブによるサンプリング 外部プローブによりデータをサンプリング ( 入力 ) できます。 トレースデータとしてトレースバッファにサンプリングする方法と , SHOW SAMPLING コマンドによりサンプリングする方法があります。 ■ 外部プローブによるサンプリング 外部プローブからデータをサンプリングするには,トレースデータとしてトレースバッ ファにサンプリングする方法と , SHOW SAMPLING コマンドによりサンプリングする 方法があります。トレースデータとしてサンプリングした場合は , ほかのトレースデー タと同様に SHOW TRACE コマンド , SHOW MULTITRACE で表示します。SHOW SAMPLING コマンドでサンプリングする場合は , コマンド実行時にサンプリングし , そ の状態を表示します。 また , 外部プローブデータをイベントに設定することにより , プログラムの中断 , マル チトレース , パフォーマンスのトリガポイントとして使用できます。 イベントの設定は , SET EVENT コマンドで行います。 ■ 外部プローブのサンプリングタイミング プログラム実行中にサンプリングするタイミングを次の中から選択できます。 • 内部クロック ( エミュレータが供給するクロック ) の立上り • 外部クロック ( ターゲットより入力されるクロック ) の立上り • 外部クロック ( ターゲットより入力されるクロック ) の立下り 設定は , SET SAMPLING コマンドで , 設定状態の表示は SHOW SAMPLING コマンドで 行います。 SHOW SAMPLING コマンドでデータをサンプリングする場合は , この設定したサンプ リングタイミングには無関係にその時の状態をサンプリングします。 (例) >SET SAMPLING/INTERNAL >SHOW SAMPLING sampling timing : internal channel 7 6 5 4 3 2 1 0 1 1 1 1 0 1 1 1 ■ 外部プローブデータの表示 , 設定 外部プローブデータを使用できるコマンドでは , 外部プローブデータを 2 進数 8 桁 , ま たは , 16 進数 2 桁で表示します。表示するビットの順番は , 表 2.2-11 に示すように IC クリップケーブルのカラーコード順になっています。MSB が bit7 ( 紫 ), LSB が bit0 ( 黒 ) として表されます。1 になったビットが HIGH, 0 のビットが LOW を意味します。また , コマンドのパラメータとして入力する場合もこの値で入力します。 September 1, 2014, CM25-00324-6a 123 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al 表 2.2-11 外部プローブデータのビット順 IC クリップ ケーブルの色 紫 青 緑 黄 橙 赤 茶 黒 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 ビット順 外部プローブデータ ■ 外部プローブデータが使用できるコマンド 外部プローブデータが設定または表示できるコマンドを表 2.2-12 に示します。 表 2.2-12 外部プローブデータが使用できるコマンド コマンド SET SAMPLING SHOW SAMPLING SET EVENT SHOW EVENT SHOW TRACE SHOW MULTITRACE 124 使用方法 外部プローブのサンプリングタイミングの設定 外部プローブデータのサンプリング イベント 1 の条件として外部プローブデータを指定可 イベントの設定状態の表示 トレースサンプリングされた外部プローブを表示 ( シングルトレース ) トレースサンプリングされた外部プローブを表示 ( マルチトレース ) CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Support 2.2.12 Soft Ma nual デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本デバッガでは , デバッガ起動時に以下の情報を確認できます。 - SOFTUNE Workbench のファイル情報 - ハードウェアに関する情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path : CPU 情報ファイルのパス Cpu information file version : CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 Product name : SOFTUNE Workbench File Path : SiM896.dll のパス Version : SiM896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools September 1, 2014, CM25-00324-6a 125 第 2 章 依存機能 2.2 エミュレータデバッガ (MB2141) Su pp or t So ft Manu al - Compiler File Path - Assembler : fcc896s.exe のパス File Path - Linker : fasm896s.exe のパス File Path - Librarian : flnk896s.exe のパス File Path : flib896s.exe のパス - FJ-OMF to S-FORMAT Converter File Path : f2ms.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type : 現在のデバッガ種別 MCU type : 現在選択しているターゲット MCU VCpu dll name : 現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version : 現在使用している仮想デバッガ部 DLL のバージョン Monitor version : モニタ ( 依存 ) のバージョン MCU frequency : 動作周波数 Communication device : デバイス種別 Host name : LAN ホスト名 ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス Version : SiIODef.dll のバージョン ======================================================= Current path 126 : 現在使用しているプロジェクトのパス Language : 現在使用している言語 Help file path : ヘルプファイルのパス CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3 Soft Ma nual エミュレータデバッガ (MB2146-09/09A/09B) エミュレータデバッガ (MB2146-09/09A/09B) の機能について説明します。 ■ エミュレータデバッガ (MB2146-09/09A/09B) F2MC-8FX ファミリ用エミュレータデバッガは , ホストコンピュータからの通信回線 (USB) を介してエミュレータを制御してプログラムの評価をおこなうソフトウェアで す。 ■ ご使用の前に MB2146-09/09A/09B のいずれかをご使用になる場合 , まず『SOFTUNE Workbench 操作 マニュアル』の「付録 D USB インタフェースの設定」を参照し , USB インタフェース のセットアップをおこなってください。 ユーザシステムの電源投入直後にデバッガを起動すると , モニタプログラムが自動的 にロードされます。ロード時は , 以下のダイアログが表示されます。一度ロードをおこ なった場合 , 電源を切らない限り再度ロードすることはありません。なおモニタプログ ラムは , Workbench をインストールしたディレクトリ下の Lib¥896 にあります。 ■ 拡張デバッグ機能 BGM アダプタと MCU ボードを特定の組合せで使用した場合 , 基本デバッグ機能に加 え以下のデバッグ機能も使用できます。 1. 実行サイクル数測定機能 2. RAM モニタリング機能 表 2.3-1 に BGM アダプタと MCU ボードの組合せによるデバッグ機能の違いを示しま す。MCU ボードの版数はボードに貼られているシールにてご確認ください。 September 1, 2014, CM25-00324-6a 127 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al 表 2.3-1 BGM アダプタと MCU ボードの組合せによるデバッグ機能 (1 / 2) BGM アダプタ MCU ボード 型格 MB2146-303B MB2146-301B MB2146-303A-E MB2146-302A-E デバッガ 起動 RAM モニタリング 実行サイクル 数測定 02B 以降 ○ ○ ○ 01A ○ ○ ○ 02B 以降 ○ ○ ○ 01A ○ ○ ○ 02B 以降 ○ × ○ 01A ○ × ○ 02B 以降 ○ × ○ 01A ○ × ○ 02B 以降 ○ × ○ 01A ○ × ○ 02B 以降 ○ × ○ 01A ○ × × 02B 以降 ○ × ○ 01A ○ × × 02B 以降 ○ × ○ 01A ○ × × 02B 以降 × ― ○ 01A ○ × ○ 02B 以降 × ― ○ 01A ○ × ○ 02B 以降 × ― ○ 01A ○ × ○ 02B 以降 × ― ○ 01A ○ × ○ 02B 以降 × ― ○ 01A ○ × ○ 02B 以降 ○ × ○ 01A ○ × × 02B 以降 ○ × ○ 01A ○ × × 02B 以降 ○ × ○ 01A ○ × × 版数 MB2146-09B MB2146-301A-E MB2146-303A MB2146-302A MB2146-301A MB2146-303B MB2146-301B MB2146-303A-E MB2146-302A-E MB2146-09A MB2146-301A-E MB2146-303A MB2146-302A MB2146-301A 128 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support Soft Ma nual 表 2.3-1 BGM アダプタと MCU ボードの組合せによるデバッグ機能 (2 / 2) MCU ボード BGM アダプタ 型格 版数 × MB2146-303B MB2146-301B MB2146-303A-E MB2146-302A-E MB2146-303A MB2146-302A MB2146-301A RAM モニタリング 実行サイクル 数測定 ― ― ― ― 02B 以降 × ― ― 01A × ― ― 02B 以降 × ― ― 01A × ― ― 02B 以降 × ― ― 01A × ― ― 02B 以降 × ― ― 01A × ― ― 02B 以降 ○ × × 01A ○ × × 02B 以降 ○ × × 01A ○ × × 02B 以降 ○ × × 01A ○ × × MB2146-09 MB2146-301A-E デバッガ 起動 ○:使用できます ×:使用できません <注意事項> BGM アダプタと MCU ボードを表 2.3-1 以外の組合せで使用した場合 , デバッガ起動時に エラーメッセージが表示され, デバッガが起動できません。詳細は 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「付録 B デバッガ関係のエラーメッセージ」を参 照してください。 September 1, 2014, CM25-00324-6a 129 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.1 So ft Manu al 動作環境の設定 動作環境の設定について説明します。 ■ 動作環境の設定 MB2146-09 用エミュレータデバッガでは , 動作環境に合わせて以下の項目を設定する 必要があります。それぞれの設定には起動時のデフォルトがあるため , デフォルト値を そのまま使用する場合は設定を変更する必要はありません。また , 一度指定した設定値 を次回からのデフォルトにすることもできます。 • クロックアップモード • 原発振周波数 130 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support Soft Ma nual クロックアップモード 2.3.1.1 クロックアップモードについて説明します。 ■ クロックアップモードとは MB2146-09 とユーザシステムの通信速度は , ターゲット MCU の動作周波数により変化 します。特にサブクロックモード時など動作周波数が低下している場合は , 通信速度も 低下してしまいます。このため通信速度を最適にし , 自動的に動作周波数を上げる機能 をクロックアップモードとよびます。デフォルトは有効になっています。 ■ 設定方法 クロックアップモードの設定は次の方法でおこないます。 • ダイアログ - セットアップウィザード 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」を 参照してください。 • ダイアログ - デバッグ環境設定ダイアログ[応答速度]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照し てください。 <注意事項> • クロックアップモード使用時は , ブレーク時に動作周波数が自動的に変更されるため , 動作周波数が変更されることにより不具合がある場合,クロックアップモードを無効に してください。 • ユーザプログラムによりシステムクロックモードを変更した直後にブレークした場合 , 発振安定待ちの間はクロックアップが行われません。発振が安定した時点からクロッ クアップが行われます。 September 1, 2014, CM25-00324-6a 131 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.1.2 So ft Manu al 原発振周波数 原発振周波数について説明します。 ■ 原発振周波数とは MB2146-09 とユーザシステムの通信速度は , ターゲット MCU の動作周波数により変化 します。ターゲット MCU の動作速度を計算するためにメインクロック原発振クロッ ク (FCH) を設定していただく必要があります。デフォルトは指定 MCU がメインクロッ クで動作する最大周波数となっています。 ■ 設定方法 原発振周波数の設定は次の方法でおこないます。 • ダイアログ - セットアップウィザード 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」を 参照してください。 132 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.2 Soft Ma nual フラッシュメモリへの消去 / 書込み 本エミュレータではフラッシュメモリへの書込みをサポートしています。 ■ フラッシュメモリの消去 / 書換え フラッシュメモリへの書込み / コードブレーク ( ソフトウェアブレーク ) 機能をサポー トしています。フラッシュメモリの内容はデバッガ内のバッファに確保しており , 読出 し / 書込み時はバッファの内容を参照します。 フラッシュメモリへの書込みは以下の場合に自動的に行います。 • プログラム実行処理前 • リセット処理前 • デバッグ終了前 なお上記以外に手動で行うこともできます。 フラッシュメモリへの書込み時は , 以下のダイアログが表示されます。 また , フラッシュメモリの操作に関して , 以下の 3 つの機能があります。 1. フラッシュメモリの更新 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの更新 ] メニュー ) フラッシュメモリの書換えを行います。通常は実行またはリセットの処理を行う前 に自動的に更新されますが , それ以前にフラッシュメモリを更新したい場合に使用 してください。なお , このメニューは , フラッシュメモリのデータが変更され , フ ラッシュメモリへの書込みが必要な場合に有効となります。 2. フラッシュメモリの同期 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの同期 ] メニュー ) フラッシュメモリの内容を読出し , デバッガ内のバッファへ同期させます。ユーザ プログラムでフラッシュメモリの書換えを行った場合は必ず実行してください。フ ラッシュメモリの同期を行わない場合 , メモリ内容が正しく参照されない場合があ ります。 September 1, 2014, CM25-00324-6a 133 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al 3. フラッシュメモリの消去 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの消去 ] メニュー ) フラッシュメモリの全削除を行います。コードブレーク ( ソフトウェアブレーク ) の設定もすべて消去されますのでご注意ください。 134 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.3 Soft Ma nual ブレーク 本デバッガでは , 5 種類のブレーク機能を使用できます。 ■ ブレーク機能 本デバッガでは , 次の 5 種類のブレーク機能をサポートしています。 - コードブレーク - データブレーク - データ監視ブレーク - シーケンシャルブレーク - 強制ブレーク September 1, 2014, CM25-00324-6a 135 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.3.1 So ft Manu al コードブレーク 指定したアドレスを監視することでプログラム実行を中断する機能です。指定され たアドレスの命令を実行する前にブレークします。 ■ コードブレークとは 指定したアドレスを監視することでプログラムを中断する機能です。指定されたアド レスの命令を実行する前にブレークします。本デバッガでは 256 個設定可能です。 コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by breakpoint ■ 設定方法 コードブレークの制御は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ / 逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 136 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support Soft Ma nual データブレーク 2.3.3.2 指定アドレスに対しデータアクセス ( リード , ライト ) がおこなわれた場合 , プログ ラム実行を中断する機能です。 ■ データブレークとは 指定アドレスに対しデータアクセス ( リード , ライト ) がおこなわれた場合 , プログラ ム実行を中断する機能です。本デバッガでは 2 個設定可能です。 データブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by databreak at アクセスアドレス ■ 設定方法 データブレークの制御は次の方法で行います。 • コマンド - SET DATABREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.9 SET DATABREAK (type1)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[データ]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 <注意事項> データ監視ブレークとして設定した場合には , データブレークではブレークしません。 September 1, 2014, CM25-00324-6a 137 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.3.3 So ft Manu al データ監視ブレーク 指定データと一致している間に , プログラムが指定アドレスに達した場合に実行を 中断する , 特殊なブレーク機能です。 ■ データ監視ブレークとは 指定データと一致している間に,プログラムが指定アドレスに達した場合に実行を中断 する , 特殊なブレーク機能です。 データ監視ブレークのブレーク条件を図で表すと , 下図のようになります。 プログラムの流れ データ監視 指定アドレス データ一致していない 場合ブレークしない データ一致 指定アドレス データ一致している 場合ブレークする ■ 設定方法 データ監視ブレークの制御は次の方法で行います。 • コマンド - SET BREAK /DATAWATCH 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.2 SET BREAK (type2)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[シーケンス]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 138 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.3.4 Soft Ma nual シーケンシャルブレーク シーケンシャルブレークとは , 指定した 2 つのアドレスに対し , レベル 1 →レベル 2 の順に実行した場合に , プログラム実行を中断させる機能です。 ■ シーケンシャルブレークとは シーケンシャルブレークは , 指定した 2 つのアドレスに対し , レベル 1 →レベル 2 の順 に実行した場合に , プログラム実行を中断させる機能です。 本デバッガでは 1 個設定可能です。 シーケンシャルブレークでブレークした場合 , ステータスバーに次のメッセージが表 示されます。 Break at アドレス by hardware breakpoint ■ 設定方法 シーケンシャルブレークの設定は次の方法で行います。 • コマンド - SET BREAK /SEQUENCE 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.3 SET BREAK (type3)」を参照してください。 • ダイアログ - ブレーク設定ダイアログ「シーケンス」タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 September 1, 2014, CM25-00324-6a 139 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.3.5 So ft Manu al 強制ブレーク プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでブレークした場合は , ステータスバーに次のメッセージが表示されま す。 Break at アドレス by command abort request ■ 発生方法 強制ブレークは次の方法で発生します。 • メニュー [デバッグ]-[停止]メニュー 『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。 • コマンド - ABORT 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.2 ABORT」を参 照してください。 140 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support Soft Ma nual リアルタイムトレース 2.3.4 プログラム実行中に実行アドレス情報をサンプリングし , トレースバッファに記録 できます。この機能をトレースとよびます。 ■ トレース トレースバッファのデータからプログラム実行履歴を詳細に解析できます。 トレースバッファはリング状の構造となっているので , トレースバッファがバッファ フルになった場合は自動的にトレースバッファの先頭から上書きされて記録されま す。 ■ トレースデータ トレースでサンプリングして記録したデータをトレースデータとよびます。 MB2146-09 エミュレータデバッガでは , 実行中断直前の 16 分岐のサンプリングができ ます。 <注意事項> 4096 命令以上分岐命令を実行しない場合 , 分岐先アドレスから 4096 命令分だけの表示と なります。 ■ トレースデータのサンプリング トレース機能が有効になっていれば実行系コマンド実行中はいつもデータがサンプリ ングされ , トレースバッファに記録されます。 ブレークポイントなどのブレーク要因によりプログラムの実行が中断されると , ト レースのサンプリングが終了となります。 ■ フレーム番号 サンプリングされたトレースデータにはフレームごとに番号がつけられます。この番 号をフレーム番号とよびます。 トレースバッファ中のどの位置から表示するかの指定は , フレーム番号により行いま す。現在のプログラムカウンタ (PC) の位置のトレースデータには 0 番が , その前のト レースデータには負の番号がつけられます。 September 1, 2014, CM25-00324-6a 141 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al 図 2.3-1 トレース時のフレーム番号 ・ ・ ・ -3 -2 -1 0 (トリガ発生位置) +1 +2 +3 ・ ディレイフレーム ・ ・ 142 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support Soft Ma nual トレースデータの表示 2.3.4.1 トレースバッファに記録されたデータを表示します。 ■ トレースデータ格納情報の表示 トレースバッファにどれだけトレースデータが格納されているかは , トレースウィン ドウに表示されます。またコマンドでは SHOW TRACE/STATUS により表示します。 ■ トレースデータの表示形式 トレースバッファの表示形式には 2 種類あります。 • 命令実行だけ表示 ( インストラクション表示 ) 命令実行を逆アセンブル単位で表示します。 • ソース単位で表示 ( ソース表示 ) ソース行だけを表示します。 ■ トレースデータのクリア トレースデータをクリアするときは , トレースウィンドウのショートカットメニュー [ クリア ] を実行します。またコマンドでは CLEAR TRACE コマンドを実行します。 <注意事項> MB2146-09 エミュレータデバッガ使用時は , 分岐命令フェッチ時にアドレス情報を出力 することにより , トレースを実現しています。 このため , トレースデータの表示に関して , 次のような注意点があります。 逆アセンブル表示は, メモリから読み出して処理を行っています。このため, コードフェッ チ後に命令が書き換わっている場合には , 正しく表示されません。 September 1, 2014, CM25-00324-6a 143 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.4.2 So ft Manu al トレースデータを保存するには トレースデータの保存について説明します。 ■ トレースデータを保存するには トレースデータは指定したファイルに保存できます。 保存方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による保存 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. トレースデータを保存するファイル名を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[セーブ] メニューを選択してください。名前を付けて保存ダイアログが表示されます。 ここで保存するファイル名と保存先を指定してください。 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照し てください。 • コマンドによる保存 トレースデータを保存します。 - SHOW TRACE/FILE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.22 SHOW TRACE(type 1)」を参照してください。 既にあるファイルに追加保存する場合は SHOW TRACE/FILE/APPEND コマン ドを実行してください。 144 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.4.3 Soft Ma nual トレースデータを検索するには トレースデータの検索について説明します。 ■ トレースデータを検索するには トレースデータの中から指定したアドレスまたはフレーム番号のトレースデータを検 索できます。 検索方法は GUI ( ウィンドウまたはダイアログ ) でおこなう方法と , コマンドだけでお こなう方法の 2 種類があります。どちらの方法でも違いはありません。 • GUI による検索 1. トレースウィンドウを表示します。 - [表示]‐[トレース]メニューを選択します。 2. 検索したいアドレスまたはフレーム番号を指定します。 - トレースウィンドウ上で右クリックし , ポップアップメニューから[検索]メ ニューを選択してください。トレース検索ダイアログが表示されます。 ここで表示したいアドレスまたはフレーム番号を指定してください。詳細は 『SOFTUNE Workbench 操作マニュアル』の「4.4.8 トレース」を参照してくだ さい。 • コマンドによる検索 トレースデータを検索します。 - SEARCH TRACE コマンドを実行してください。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.23 SEARCH TRACE」を参照してください。 September 1, 2014, CM25-00324-6a 145 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t 2.3.5 So ft Manu al プログラム実行時の注意 本エミュレータでは , プログラム実行時に以下の点にご注意ください。 ■ スタンバイモード中のブレーク スタンバイモード中に実行の中断操作を行うと , デバッガはスタンバイモードを解除 して実行を中断します。そのため , スタンバイモードに移行する命令の次のアドレスで 中断します。 146 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.6 Soft Ma nual RAM モニタリング MB2146-09 エミュレータでは , ユーザプログラム実行中に特定アドレスのメモリ内 容を監視できます。 ■ RAM モニタリングとは ユーザプログラム実行中に特定アドレスのメモリ内容を監視する機能です。 アドレスは 16bit 単位で 32 個まで設定できます。 設定したアドレスは RAM モニタリングウィンドウで監視します。 ■ 使用条件 RAM モニタリングは , 以下の条件を満たした場合に使用できます。 SOFTUNE Workbench :版数 V30L32 以降 BGM アダプタ :型格 MB2146-09B-E MCU ボード :型格 MB2146-301B-E/303B-E ■ 設定方法 RAM モニタリングの制御は次の方法で行います。 • コマンド - SET RAMMONITOR 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「4.28 SET RAM MONITOR」を参照してください。 • ダイアログ - RAM モニタリング設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.4.15 RAM モニタリング」を参照 してください。 ■ モニタリング時の停止時間 RAM モニタリング機能では , 読み出し時にユーザプログラムを停止し , 再度実行して います。 1 回の読み出しにおけるユーザプログラム停止回数と停止時間は以下の式で算出でき ます。 ユーザプログラム停止回数= 2 ×読み出しバイト数 ユーザプログラム総停止時間=停止回数×停止時間 * *:1 回の停止あたりの停止時間 動作周波数 (Fch) により以下のように変動します。 September 1, 2014, CM25-00324-6a 147 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al 表 2.3-2 動作周波数に対する 1 回あたりの停止時間 動作周波数 [MHz] 1 回あたりの停止時間 [s] 16 約 22 10 約 35 8 約 44 4 約 88 2 約 175 ただしユーザプログラムの停止は 1.5ms 間隔 ( 固定 ) で行うため , モニタリング時の ユーザプログラムの実行は以下の図のようになります。 ブレーク後の実行時間:1ms(固定) 停止時間 プログラムの流れ 読み出しバイト数を4バイトとした場合, ユーザプログラム総停止時間は以下のとおり となります。 例 ) 動作周波数が 16MHz, 読み出しバイト数が 4 バイトの場合 ユーザプログラム停止回数= 2 × 4 = 8 回 ユーザプログラム総停止時間= 22 × 8 = 176 s <注意事項> 本機能は擬似オンザフライでメモリ読み出しをおこなうため , 変数を多く登録している場 合は実行停止時間が長くなります。 148 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.7 Soft Ma nual 実行サイクル数測定 MB2146-09B エミュレータでは , プログラムの実行サイクル数を測定できます。 ■ 実行サイクル数測定とは プログラムの実行サイクル数を測定する機能です。 測定はプログラムの実行のたびにおこなわれ , 以下の 2 つのサイクル数を測定できま す。 - 直前のプログラム実行サイクル数 - デバッガ起動後からの実行サイクル数の合計 測定結果の最大値はデフォルト 65,535 サイクルです。 ■ 使用条件 実行サイクル数測定は , 以下の条件を満たした場合に使用できます。 SOFTUNE Workbench :版数 V30L30 以降 BGM アダプタ :型格 MB2146-09B MCU ボード :型格 MB2146-301A/302A/303A ( 版数 02B 以降 ) また本機能の使用時に , 以下の内蔵リソースをデバッガにて使用します。 ユーザプログラムからは使用できませんので , ご注意ください。 16 ビットリロードタイマ ch.1 ■ 測定範囲の拡張方法 測定結果の最大値はデフォルト 65,535 サイクルですが , 拡張することにより最大 4,294,967,295 サイクルまで測定可能になります。 拡張するためには以下ディレクトリにある相対形式ロードモジュールファイルをユー ザプログラムにリンクして頂く必要があります。 SOFTUNE インストールディレクトリの下の Lib¥896¥EXETMR.REL またライブラリを使用する際には以下のリソースを追加で使用します。 割込みベクタ : IRQ17 割込みハンドラ : ユーザ ROM (16byte) オーバフローカウンタ : ユーザ RAM (2bye:0x0F7E ~ 0x0F7F) 予約シンボル名 : __EXETMROVRHDR __EXTTMROVRHDRVER September 1, 2014, CM25-00324-6a 149 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al ■ 測定結果の表示 以下のいずれかの方法で表示できます。 1. 時間測定ダイアログ [デバッグ]-[時間測定]メニュー 2. SHOW TIMER コマンド ■ 測定結果のクリア 測定結果のクリアは次の方法でおこないます。 • コマンド - CLEAR TIMER 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「4.20 CLEAR TIMER」を参照してください。 • ダイアログ - 時間測定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.6.8 時間測定」を参照してください。 ■ 誤差 実行サイクル数の測定結果には 0 ~ 10 数サイクル程度の誤差が含まれます。 測定範囲を拡張した場合は , 加えて以下の誤差が発生します。 誤差=オーバフローカウンタ ( 上位 16bit) × N * *: 0 ~ 10 数サイクル <注意事項> • 実行サイクル数を計測する場合は , 誤差の影響を少なくするためにできるだけ多くの 命令を連続実行してください。 • 割込みを禁止している期間が長い場合 , 16 ビットカウンタのオーバフローを読み落と し , 正しい測定結果が得られない可能性があります。 • 以下の予約シンボルは参照はできますが , 定義はしないでください。 __EXETMROVRHDR __EXTTMROVRHDRVER 150 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Support 2.3.8 Soft Ma nual デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本エミュレータデバッガでは , デバッガ起動時に以下の情報を確認できます。 - SOFTUNE Workbench のファイル情報 - ハードウェアに関する情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path : CPU 情報ファイルのパス Cpu information file version : CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 Product name : SOFTUNE Workbench File Path : SiM896.dll のパス Version : SiM896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools September 1, 2014, CM25-00324-6a 151 第 2 章 依存機能 2.3 エミュレータデバッガ (MB2146-09/09A/09B) Su pp or t So ft Manu al - Compiler File Path - Assembler : fcc896s.exe のパス File Path - Linker : fasm896s.exe のパス File Path - Librarian : flnk896s.exe のパス File Path : flib896s.exe のパス - FJ-OMF to S-FORMAT Converter File Path : f2ms.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type : 現在のデバッガ種別 MCU type : 現在選択しているターゲット MCU VCpu dll name : 現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version : 現在使用している仮想デバッガ部 DLL のバージョン Adapter type : 現在使用している BGM アダプタ Adapter version : アダプタのバージョン Target type : 現在使用している BGM ターゲット Target version : BGM ターゲットのバージョン Communication device : デバイス種別 ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス Version : SiIODef.dll のバージョン ======================================================= 152 Current path : 現在使用しているプロジェクトのパス Language : 現在使用している言語 Help file path : ヘルプファイルのパス CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support 2.4 Soft Ma nual エミュレータデバッガ (MB2146-08) F2MC-8FX ファミリ用エミュレータデバッガ (MB2146-08) の機能について説明しま す。 ■ エミュレータデバッガ F2MC-8FX ファミリ用エミュレータデバッガは , ホストコンピュータからの通信回線 (USB) を介してエミュレータを制御してプログラムの評価をおこなうソフトウェアで す。 ■ ご使用の前に MB2146-08 をご使用になる前に , 以下を確認してください。 • BGM アダプタと MCU ボードの組合せ ご使用のハードウェアマニュアルまたはデータシート • USB インタフェースのセットアップ 『SOFTUNE Workbench 操作マニュアル』の「付録 DUSB インタフェースの設定」 <注意事項> BGM アダプタと MCU の組合せが正しくない場合 , デバッガ起動時にエラーメッセージが 表示され , デバッガが起動できません。 詳細は『SOFTUNE Workbench コマンドリファレンスマニュアル』の「付録 B デバッガ 関係のエラーメッセージ」を参照してください。 September 1, 2014, CM25-00324-6a 153 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t 2.4.1 So ft Manu al 動作環境の設定 動作環境の設定について説明します。 ■ 動作環境の設定 本デバッガでは , 以下の項目について動作環境を設定する必要があります。なお , それ ぞれの設定には起動時のデフォルトがあるため , 起動時のデフォルトを使用する場合 は設定を行う必要はありません。また , 一度指定した設定値を次回からのデフォルトに することもできます。 • 原発振周波数 154 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support Soft Ma nual 原発振周波数 2.4.1.1 原発振周波数について説明します。 ■ 原発振周波数の設定 MB2146-08 とユーザシステムの通信速度は , ターゲット MCU の動作周波数により変化 します。ターゲット MCU の動作速度を計算するためにメインクロック原発振クロッ ク (FCH) を設定していただく必要があります。デフォルトは指定 MCU がメインクロッ クで動作する最大周波数となっています。 ■ 設定方法 原発振周波数の設定は次の方法でおこないます。 • ダイアログ - セットアップウィザード 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」を 参照してください。 <注意事項> 内蔵メイン CR クロックだけ使用している場合はデフォルト値のままご使用ください。 September 1, 2014, CM25-00324-6a 155 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t 2.4.2 So ft Manu al フラッシュメモリへの消去 / 書込み 本デバッガではフラッシュメモリへの書込みをサポートしています。 ■ フラッシュメモリの消去 / 書換え フラッシュメモリへの書込み / コードブレーク ( ソフトウェアブレーク ) 機能をサポー トしています。フラッシュメモリの内容はデバッガ内のバッファに確保しており , 読出 し / 書込み時はバッファの内容を参照します。 フラッシュメモリへの書込みは以下の場合に自動的に行います。 • プログラム実行処理前 • リセット処理前 • デバッグ終了前 なお上記以外に手動で行うこともできます。 フラッシュメモリへの書込み時は , 以下のダイアログが表示されます。 また , フラッシュメモリの操作に関して , 以下の 3 つの機能があります 1. フラッシュメモリの更新 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの更新 ] メニュー ) フラッシュメモリの書換えを行います。通常は実行またはリセットの処理を行う前 とデバッガの終了前に自動的に更新されますが , それ以前にフラッシュメモリを更 新したい場合に使用してください。 なおこのメニューは , フラッシュメモリのデータが変更され , フラッシュメモリへ の書込みが必要な場合に有効となります。 156 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support Soft Ma nual 2. フラッシュメモリの同期 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの同期 ] メニュー ) フラッシュメモリの内容を読出し , デバッガ内のバッファへ同期させます。ユーザ プログラムでフラッシュメモリの書換えを行った場合は必ず実行してください。フ ラッシュメモリの同期を行わない場合 , メモリ内容が正しく参照されない場合があ ります。 なお , デバッガ起動前には自動的に同期を行います。 3. フラッシュメモリの消去 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの消去 ] メニュー ) フラッシュメモリの全削除を行います。コードブレーク ( ソフトウェアブレーク ) の設定も全て消去されますのでご注意ください。 September 1, 2014, CM25-00324-6a 157 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t So ft Manu al FRAM 領域への消去 / 書込み 2.4.3 本デバッガでは FRAM 領域への書込みをサポートしています。 ■ FRAM の消去 / 書換え 本デバッガでは FRAM 品への消去 / 書込みをサポートしています。 消去 / 書込み共に通常の RAM 領域と同様に操作できます。 FRAM 領域を全消去したい場合は以下操作でおこなえます。 [ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの消去 ] メニュー <注意事項> FRAM 品をご使用の場合に以下のメニューを選択しても何も動作しません。 - [フラッシュ領域操作]-[フラッシュメモリの更新]メニュー - [フラッシュ領域操作]-[フラッシュメモリの同期]メニュー 158 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support 2.4.4 Soft Ma nual プログラム実行時の注意 本デバッガでは , プログラム実行時に以下の点にご注意ください。 ■ スタンバイモード中のブレーク スタンバイモード中に実行の中断操作を行うと , デバッガはスタンバイモードを解除 して実行を中断します。そのため , スタンバイモードに移行する命令の次のアドレスで 中断します。 September 1, 2014, CM25-00324-6a 159 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t 2.4.5 So ft Manu al フラッシュセキュリティ 本デバッガでは , MCU に実装されたフラッシュセキュリティ機能をサポートしてい ます。 ■ フラッシュセキュリティ 本デバッガは , MCU に実装されたフラッシュセキュリティ機能をサポートしていま す。フラッシュセキュリティ機能とは , セキュリティバイト (MCU ごとに決められた フラッシュメモリ内の 1 バイトの領域 ) の値を操作するとフラッシュメモリはプロテ クト状態 ( フラッシュメモリの消去以外のデバッグ操作を受け付けない ) となり , 第三 者にフラッシュメモリ内のプログラムなどを非公開にする機能です。 フラッシュセキュリティ機能によるプロテクト状態を検出するタイミングは以下の 2 種類があります。 デバッグ起動時 : フラッシュメモリがすでにプロテクト状態にある場合 デバッグ中 : メモリライトなどの操作によりプロテクト状態に移行した場合 フラッシュメモリがプロテクト状態であると判断した場合 , 以下のダイアログを表示 します。 「はい」を選択した場合はフラッシュメモリの消去が行われた後 , デバッガが起動また はデバッグが継続し , 「いいえ」を選択した場合はデバッガを終了します。 ■ FRAM 品の場合 フラッシュセキュリティと同様に , FRAM メモリセキュリティ機能をサポートしてい ます。 160 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support 2.4.6 Soft Ma nual デバッガの起動 / 終了時の注意 本デバッガでは , デバッガ起動時及び終了時において以下の点にご注意ください。 ■ デバッガ起動時 フラッシュメモリの制御がバッファ方式のため , 最初に必ずフラッシュメモリと同期 を取る必要があり , デバッガ起動時に自動的にフラッシュメモリの同期を行います。こ こで , MCU のフラッシュメモリすべてを読込むため , 非常に時間がかかる場合があり ます。 以下の条件でおよそ 20 秒かかります。 フラッシュメモリ : セクタサイズが 16KB クロック : クロックアップモードが ON 本デバッガでは電源監視が可能であり , デバッガ起動時に異常を検出した場合 , 以下の ダイアログを表示します。 「OK」を選択した場合はデバッガの起動をリトライし , 「キャンセル」を選択した場合 はデバッガを終了します。 本デバッガではクロックの状態が正常でなければデバッガを起動できないため , デ バッガ起動時に異常を検出した場合 , 以下のダイアログを表示します。 「はい」を選択した場合はデバッガの起動をリトライし , 「いいえ」を選択した場合は デバッガを終了します。 September 1, 2014, CM25-00324-6a 161 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t So ft Manu al ■ デバッガ終了時 デバッガ終了後に MCU をスタンドアロンで使用することを考慮し , デバッグ中にフ ラッシュメモリ内に設定したソフトウェアブレークをデバッグ終了前に削除しなけれ ばなりません。そのため , ソフトウェアブレークが設定されているセクタ単位でフラッ シュメモリを更新します。かかる時間はソフトウェアブレークの設定状況に依存しま す。 <注意事項> ソフトウェアブレークを設定している場合 , 以下の条件においてスタンドアロンでの動作 は保障できません。 • デバッグ終了時のフラッシュメモリの更新中に中断 • デバッグ中に Workbench が異常終了 • デバッグ中にハードウェアとの接続を切断 162 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support 2.4.7 Soft Ma nual ブレーク 本デバッガでは , 2 種類のブレーク機能を使用できます。各ブレーク機能によりプロ グラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示しま す。 ■ ブレーク機能 本デバッガでは , 次の 2 種類のブレーク機能をサポートしています。 - コードブレーク - 強制ブレーク September 1, 2014, CM25-00324-6a 163 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t 2.4.7.1 So ft Manu al コードブレーク 指定したアドレスを監視することでプログラム実行を中断する機能です。指定され たアドレスの命令を実行する前にブレークします。 ■ コードブレークとは 指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラムを 中断する機能です。指定されたアドレスの命令を実行する前にブレークします。 最大設定数は以下のとおりです。 ハードウェア : 3 ポイント ソフトウェア : 256 ポイント コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 - ハードウェア Break at アドレス by hardware breakpoint - ソフトウェア Break at アドレス by breakpoint ■ 設定方法 コードブレークの制御は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1) 」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ/逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 164 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support 2.4.7.2 Soft Ma nual 強制ブレーク プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでブレークした場合は , ステータスバーに次のメッセージが表示されま す。 Break at アドレス by command abort request September 1, 2014, CM25-00324-6a 165 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Su pp or t 2.4.8 So ft Manu al デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本エミュレータデバッガでは , デバッガ起動時に以下の情報を確認できます。 - SOFTUNE Workbench のファイル情報 - ハードウェアに関する情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path : CPU 情報ファイルのパス Cpu information file version : CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 Product name : SOFTUNE Workbench File Path : SiM896.dll のパス Version : SiM896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools 166 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.4 エミュレータデバッガ (MB2146-08) Support Soft Ma nual - Compiler File Path - Assembler : fcc896s.exe のパス File Path - Linker : fasm896s.exe のパス File Path - Librarian : flnk896s.exe のパス File Path : flib896s.exe のパス - FJ-OMF to S-FORMAT Converter File Path : f2ms.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type : 現在のデバッガ種別 MCU type : 現在選択しているターゲット MCU VCpu dll name : 現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version : 現在使用している仮想デバッガ部 DLL のバージョン Adapter type : 現在使用している BGM アダプタ Adapter version : アダプタのバージョン Target type : 現在使用している BGM ターゲット Target version : BGM ターゲットのバージョン Communication device : デバイス種別 ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス Version : SiIODef.dll のバージョン ======================================================= Current path : 現在使用しているプロジェクトのパス Language : 現在使用している言語 Help file path : ヘルプファイルのパス September 1, 2014, CM25-00324-6a 167 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5 So ft Manu al エミュレータデバッガ (MB2146-07) F2MC-8FX ファミリ用エミュレータデバッガ (MB2146-07) の機能について説明しま す。 ■ エミュレータデバッガ F2MC-8FX ファミリ用エミュレータデバッガ (MB2146-07) は , ホストコンピュータから エミュレータを制御してプログラムの評価を行うソフトウェアです。 ■ ご使用の前に エミュレータデバッガ (MB2146-07) をご使用になる場合 , USB インタフェースの設定 を行ってください。詳細は『SOFTUNE Workbench 操作マニュアル』の「付録 D USB インタフェースの設定」を参照してください。 <注意事項> • BGM アダプタ (MB2146-07) に対応していない MCU を接続した場合 , デバッガが起動 できません。対応状況に関してはご使用の品種のハードウェアマニュアルを参照して ください。 • エミュレータデバッガ (MB2146-07) において , Target Version が "3.x" の MCU をご使 用の場合 , 以下のレジスタの値を変更するコードをステップイン実行すると , 実行結果 が必ず同じ値になってしまいます。 PLLC = 0x90; SYCC = 0xFE; Target Version の確認方法は「2.5.9 デバッガの状態を確認するには」を参照してくだ さい。 168 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.1 Soft Ma nual 動作環境の設定 動作環境の設定について説明します。 ■ 動作環境の設定 本デバッガでは , 以下の項目について動作環境を設定する必要があります。それぞれの 設定には起動時のデフォルトがあるため , 起動時のデフォルトを使用する場合は設定 する必要はありません。なお , 指定した設定値は次回デバッガ起動時に復元されます。 • 応答速度最適化 • 原発振周波数 • BGM アダプタへの電源供給 • デバッガ起動時のフラッシュメモリの同期 • ファームウェア自動アップデート September 1, 2014, CM25-00324-6a 169 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t So ft Manu al 応答速度最適化 2.5.1.1 応答速度最適化について説明します。 ■ 応答速度最適化とは BGM アダプタ (MB2146-07) とユーザシステムの間の通信速度は , ターゲット MCU の 動作周波数により変化します。このため本エミュレータデバッガでは自動的に動作周 波数を上げ , 通信速度を最適にします。この機能を応答速度最適化とよびます。 動作周波数が低い状態で応答速度最適化を無効にすると , デバッガが使用するデータ の読み出しに時間がかかり , 画面の更新が遅くなる場合があります。 ■ 設定方法 応答速度最適化機能の有効/無効は以下のどちらかの方法で設定します。 デフォルトは有効になっています。 • セットアップウィザード 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.5 セットアップウィザー ド」を参照してください。 • デバッグ環境設定ダイアログ[応答速度]タブ 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を 参照してください。 またこの設定は RAM モニタリング機能において , 一時的にユーザプログラムを停止す る際にも使用されます。 <注意事項> 応答速度最適化が有効の場合 , ユーザプログラムブレーク時に動作周波数を自動的に変更 します。動作周波数を自動的に変更したくない場合は , 応答速度最適化を無効にしてくだ さい。 170 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support Soft Ma nual 原発振周波数 2.5.1.2 本デバッガでは , 原発振周波数の設定が必要です。 ■ 原発振周波数の設定 BGM アダプタ (MB2146-07) とユーザシステムの通信速度は , ターゲット MCU の動作 周波数により変化します。ターゲット MCU の動作速度を計算するためにメインクロッ ク原発振クロック (FCH) を設定します。デフォルトは指定 MCU がメインクロックで動 作する最大周波数となっています。メインクロック原発振クロック (FCH) の詳細はご 使用の品種のハードウェアマニュアルを参照してください。 ■ 設定方法 原発振周波数はセットアップウィザードで設定します。 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」 を参照してください。 <注意事項> 内蔵メイン CR クロックだけ使用している場合はデフォルト値のままご使用ください。 内蔵メイン CR クロックの詳細はご使用の品種のハードウェアマニュアルを参照してくだ さい。 September 1, 2014, CM25-00324-6a 171 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t So ft Manu al BGM アダプタへの電源供給 2.5.1.3 本デバッガでは , BGM アダプタへの電源供給の設定が必要です。 ■ 電源供給の設定 エミュレータデバッガ (MB2146-07) ではターゲットヘ直接電源を供給できます。 ■ 設定方法 BGM アダプタへの電源供給は以下のとおり設定します。 デフォルトは無効になっています。 • セットアップウィザード 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」 を参照してください。 <注意事項> セットアップウィザードの「BGM アダプタからターゲットへ電源を供給」を有効にして も , 以下のどちらかの場合 , ターゲットは動作しません。詳細はターゲットボードの仕様 書または BGM アダプタ (MB2146-07) のハードウェアマニュアルを参照してください。 - BGM アダプタ (MB2146-07) からターゲット内へ電源線を配線していない - BGM アダプタ (MB2146-07) からターゲットに供給した電圧が , ターゲットを駆動す るために必要な値に満たない 172 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.1.4 Soft Ma nual デバッガ起動時のフラッシュメモリの同期 本デバッガでは , デバッガ起動時にフラッシュメモリを同期するかの設定が必要で す。 ■ フラッシュメモリの同期の設定 BGM アダプタ (MB2146-07) ではフラッシュメモリの内容をデバッガ内のバッファに確 保しており , 読出し / 書込み時にバッファの内容を参照します。デバッガ起動時にこの バッファの内容を最新のフラッシュメモリの情報と同期を取るかどうかを指定しま す。フラッシュメモリの同期についての詳細は「2.5.2 フラッシュメモリへの書込み / 消去」を参照してください。 ■ 設定方法 フラッシュメモリの同期は以下のとおり設定します。 デフォルトは有効になっています。 • セットアップウィザード 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」 を参照してください。 September 1, 2014, CM25-00324-6a 173 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.1.5 So ft Manu al ファームウェア自動アップデート 本デバッガでは , デバッグ開始時にファームウェアを自動的にアップデートするか の設定が必要です。 ■ ファームウェア自動アップデート BGM アダプタ (MB2146-07) では , デバッグ開始時にエミュレータ内部の情報を参照し て最新のファームウェアを自動的にアップデートします。 アップデート用に比較されるファームウェアは , SOFTUNE インストールディレクトリ の Lib¥907 の下にあリます。 ■ 設定方法 ファームウェア自動アップデートは以下のとおり設定します。 デフォルトは有効になっています。 • セットアップウィザード 詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.4 セットアップウィザード」 を参照してください。 174 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.2 Soft Ma nual フラッシュメモリへの書込み / 消去 本デバッガではフラッシュメモリへの書込み / 消去をサポートしています。 ■ フラッシュメモリへの書込み / 消去 エミュレータデバッガ (MB2146-07) ではフラッシュメモリへの書込み / コードブレー ク ( ソフトウェアブレーク ) 機能をサポートしています。 また本デバッガではフラッシュメモリの内容をデバッガ内のバッファに確保しており, 読出し / 書込み時にバッファの内容を参照します。コードブレーク ( ソフトウェアブ レーク ) の詳細は「2.5.7.1 コードブレーク」を参照してください。 フラッシュメモリへの書込みは以下の場合に自動的に行います。 • プログラム実行処理前 • リセット処理前 • デバッグ終了前 フラッシュメモリへの書込み時は , 以下のダイアログが表示されます。 フラッシュメモリの書込み / 消去を手動で行う場合は , 以下のいずれかの方法でおこな います。 • フラッシュメモリの更新 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの更新 ] メニュー ) フラッシュメモリの書込みを行います。通常は実行またはリセットの処理を行う前 に自動的に更新されますが , それ以前にフラッシュメモリを更新したい場合に使用 してください。 なおこのメニューは , フラッシュメモリのデータが変更され , フラッシュメモリへ の書込みが必要な場合に有効となります。 September 1, 2014, CM25-00324-6a 175 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t So ft Manu al • フラッシュメモリの同期 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの同期 ] メニュー ) デバッガ内のバッファの内容とフラッシュメモリの内容の同期を取ります。 同期は以下の手順で自動的におこないます。 1. デバッガがフラッシュメモリの内容を読出す 2. デバッガ内のバッファの内容と比較する 3. 内容に相違があった場合 , バッファの内容をフラッシュメモリの内容で上書き する ユーザプログラムでフラッシュメモリの書込みを行った場合 , 必ず同期を行ってく ださい。 フラッシュメモリの同期を行わない場合 , 以下の問題が発生する可能性がありま す。 - デバッガでメモリ内容が正しく参照できない - ユーザプログラムが正しく実行できない • フラッシュメモリの消去 ([ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの消去 ] メニュー ) フラッシュメモリの全削除を行います。この際 , コードブレーク ( ソフトウェアブ レーク ) の設定も全て消去されますのでご注意ください。 <注意事項> コードブレーク ( ソフトウェア ) を設定する場合 , 指定したアドレスのフラッシュメモリ の内容を一時的に書き換えます。 176 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support Soft Ma nual FRAM 領域への書込み / 消去 2.5.3 本デバッガでは FRAM 領域への書込み / 消去をサポートしています。 ■ FRAM への書込み / 消去 本デバッガでは FRAM 品への書込み / 消去をサポートしています。 書込み / 消去 共に通常の RAM 領域と同様にメモリウィンドウで操作できます。 FRAM 領域を全消去したい場合は以下のメニューを選択してください。 [ 環境 ] - [ フラッシュ領域操作 ] - [ フラッシュメモリの消去 ] メニュー <注意事項> FRAM 品をご使用の場合 , 以下のメニューを選択しても FRAM 領域の更新や同期はおこ ないません。 - [フラッシュ領域操作]-[フラッシュメモリの更新]メニュー - [フラッシュ領域操作]-[フラッシュメモリの同期]メニュー September 1, 2014, CM25-00324-6a 177 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.4 So ft Manu al プログラム実行時の注意 本デバッガでは , プログラム実行時に以下の 1 点にご注意ください。 ■ スタンバイモード中のブレーク スタンバイモード中に実行の中断を行うと , デバッガはスタンバイモードを解除して 実行を中断します。そのため , スタンバイモードに移行する命令の次のアドレスで中断 します。 178 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.5 Soft Ma nual フラッシュセキュリティ検出機能 本デバッガでは , MCU に実装されたフラッシュセキュリティ機能をサポートしてい ます。 ■ フラッシュセキュリティ 本デバッガは , MCU に実装されたフラッシュセキュリティ機能をサポートしていま す。フラッシュセキュリティ機能とは , フラッシュメモリ内のプログラム等をプロテク ト状態にして , 第三者に内容を非公開にする機能です。MCU 内のセキュリティバイト (*1) に特定の値を書き込むとフラッシュメモリはプロテクト状態 (*2) となります。プロ テクト状態はフラッシュメモリを全消去することで解除できます。 (*1) セキュリティバイト : MCU ごとに決められたフラッシュメモリ内の 1 バイト の領域 (*2) プロテクト状態 : フラッシュメモリの消去以外のデバッグ操作を受け付 けない フラッシュセキュリティ機能によるプロテクト状態を検出するタイミングは以下の 2 つがあります。 - デバッガ起動時 :フラッシュメモリがすでにプロテクト状態にある場合 - デバッグ中 :メモリライト等の操作によりプロテクト状態に移行した場合 フラッシュメモリがプロテクト状態の場合 , 以下のダイアログを表示します。 「はい」を選択した場合はフラッシュメモリの消去をおこないます。デバッガ起動時の 場合はデバッガが起動します。 「いいえ」を選択した場合はデバッガを終了します。 ■ FRAM 品の場合 フラッシュセキュリティと同様に FRAM メモリセキュリティ機能をサポートしていま す。 September 1, 2014, CM25-00324-6a 179 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.6 So ft Manu al デバッガの起動 / 終了時の注意 本デバッガでは , デバッガ起動時および終了時において以下の点にご注意ください。 ■ デバッガ起動時 • フラッシュメモリの同期 フラッシュメモリの制御がバッファ方式のため , デバッガ起動時にフラッシュメモ リと同期を取る必要があります。 - 同期する:フラッシュメモリの内容を全部読み出します。 - 同期しない:フラッシュメモリの内容を消去します。 この設定はセットアップウィザードでおこないます。詳細は『SOFTUNE Workbench 操作マニュアル』の「4.7.2.5 セットアップウィザード」を参照してください。 同期を取る場合 , 同期を取らない場合に比べ以下の条件でデバッガ起動に掛かる時 間が最大 20 秒長くなります。 フラッシュメモリ :セクタサイズが 16KB クロック :クロックアップモードが有効 • 電源監視 本デバッガでは電源監視が可能であり , デバッガ起動時に異常を検出した場合 , 以 下のダイアログを表示します。 「OK」を選択した場合はデバッガの起動をリトライし , 「キャンセル」を選択した場合 はデバッガを終了します。 180 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support Soft Ma nual • CR トリミングの検出 本デバッガではクロックの状態が正常でなければデバッガを起動できないため , デ バッガ起動時に異常を検出した場合 , 以下のダイアログを表示します。 「はい」を選択した場合はデバッガの起動をリトライし , 「いいえ」を選択した場合は デバッガを終了します。CR トリミングについてはご使用の品種のハードウェアマニュ アルを参照してください。 ■ デバッグ終了時 デバッグ終了後に MCU をスタンドアロンで使用することを考慮し , 本デバッガでは フラッシュメモリ内に設定したソフトウェアブレークをデバッグ終了時に自動的に削 除します。そのため , ソフトウェアブレークが設定されているセクタ単位でフラッシュ メモリを更新します。フラッシュメモリの更新にかかる時間はソフトウェアブレーク の設定状況に依存します。 <注意事項> ソフトウェアブレークを設定している場合 , 以下の条件においてスタンドアロンでの動作 は保障できません。 1. デバッグ終了時のフラッシュメモリの更新中に中断 2. デバッグ中に Workbench が異常終了 3. デバッグ中にハードウェアとの接続を切断 September 1, 2014, CM25-00324-6a 181 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.7 So ft Manu al ブレーク 本デバッガでは , 2 種類のブレーク機能を使用できます。各ブレーク機能によりプロ グラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示しま す。 ■ ブレーク機能 本デバッガでは , 次の 2 種類のブレーク機能をサポートしています。 • コードブレーク • 強制ブレーク 182 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.7.1 Soft Ma nual コードブレーク 指定したアドレスを監視することでプログラム実行を中断する機能です。指定され たアドレスの命令を実行する前にブレークします。 ■ コードブレークとは 指定したアドレスをハードウェアまたはソフトウェアで監視することでプログラムを 中断する機能です。指定されたアドレスの命令を実行する前にブレークします。 ブレークの最大設定数は以下のとおりです。 ハードウェア:3 ポイント ソフトウェア:256 ポイント コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 - ハードウェア Break at アドレス by hardware breakpoint - ソフトウェア Break at アドレス by breakpoint ■ 設定方法 コードブレークの設定は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1) 」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ/逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 September 1, 2014, CM25-00324-6a 183 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.7.2 So ft Manu al 強制ブレーク プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでプログラムが停止した場合は , ステータスバーに次のメッセージが表 示されます。 Break at アドレス by command abort request ■ 制御方法 強制ブレークの制御は次の方法で行います。 • コマンド - ABORT 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「2.4 ABORT」を参 照してください。 • メニュー - [デバッグ]-[停止]メニュー 『SOFTUNE Workbench 操作マニュアル』の「4.6.2 停止」を参照してください。 184 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support 2.5.8 Soft Ma nual RAM モニタリング ユーザプログラム実行中に特定アドレスのメモリ内容を監視する機能です。 ■ RAM モニタリングとは ユーザプログラム実行中に特定アドレスのメモリ内容を監視する機能です。 なお , 監視中はサンプリング周期 ( 図 2.5-1 参照 ) ごとにメモリ内容を読み出すため , 定 期的にユーザプログラムが停止します。 アドレスは 16bit 単位で 16 個まで設定できます。 設定したアドレスは RAM モニタリングウィンドウで監視します。 ■ 使用条件 RAM モニタリングは , 以下の条件を満たした場合に使用できます。 SOFTUNE Workbench :版数 V30L33 以降 BGM アダプタ (MB2146-07) :型格 MB2146-07 ■ 設定方法 RAM モニタリングの制御は次の方法で行います。 • コマンド - SET RAMMONITOR 『SOFTUNE Workbench コマンドリファレンスマニュアル』 の 「4.29 SET RAMMONITOR」 を参照してください。 • ダイアログ - RAM モニタリング設定ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.4.15 RAM モニタリング」を参照 してください。 ■ モニタリング時の停止時間 RAM モニタリング機能では , 読み出し時に一時的にユーザプログラムの実行を停止し , 読み出し後に実行を再開します。 読み出し時の停止時間は , 以下の内容によって異なります。 • ユーザプログラムの動作周波数 • 指定したアドレスの数 September 1, 2014, CM25-00324-6a 185 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t So ft Manu al 図 2.5-1 ユーザプログラム停止時間 (Tstp) Tcyc Tcyc Tstp Tstp Tstp Tstp Tr Tp (Tr * N) Ts 読み出し時の停止時間は , 以下の式で算出できます。 ユーザプログラム停止時間 (Tstp) = プログラム停止処理時間 (Tp) + (1 アドレス読み出し時間 (Tr) * アドレス数 (N)) + プログラム再開処理時間 (Ts) サンプリング周期 (Tcyc) :初期値 1 秒 , 設定可能範囲 100ms ~ 65535ms 表 2.5-1 ユーザプログラム停止時間の目安 停止時間 CPU 品種 (Target Version) 動作 周波数 MB95F636 (3.1 ~ ) 8 MHz 約 55 ms 約 60 ms 1 MHz (*) 約 55 ms 約 60 ms 8 MHz 約 58 ms 約 65 ms 1 MHz (*) 約 76 ms 約 83 ms 8 MHz 約 78 ms 約 105 ms 1 MHz (*) 約 84 ms 約 120 ms MB95F564 (2.x) MB95F264 (1.x) 備考 最小 (N=1) 最大 (N=16) * 応答速度最適化が無効の場合 * 応答速度最適化が無効の場合 * 応答速度最適化が無効の場合 応答速度最適化の詳細は「2.5.1.1 応答速度最適化」を参照してください。 Target Version の確認方法は「2.5.9 デバッガの状態を確認するには」を参照してくだ さい。 186 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support Soft Ma nual <注意事項> • 本機能はユーザプログラムの実行を一時的に停止してメモリを読み出します。そのた め , アドレスを多く登録している場合は停止時間が長くなります。 • ユーザプログラムがサブクロックで動作している場合 , 長時間 (1 秒以上 ) ユーザプロ グラムが停止します。ユーザプログラムが長時間停止して性能測定に影響が出る場合 は , RAM モニタリング機能は使用しないでください。 • サンプリング周期は変更できますが, サンプリング周期を停止時間より短くするとユー ザプログラムが停止したままになります。適切なサンプリング周期を設定してくださ い。 September 1, 2014, CM25-00324-6a 187 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t 2.5.9 So ft Manu al デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本エミュレータデバッガでは , デバッガ起動時に以下の情報を確認できます。 • SOFTUNE Workbench のファイル情報 • ハードウェアに関する情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 弊社営業また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 デバッガの情報は以下のとおり表示します。 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path :CPU 情報ファイルのパス Cpu information file version :CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 188 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Support Soft Ma nual Product name : SOFTUNE Workbench File Path : SiM896.dll のパス Version : SiM896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools - Compiler File Path : fcc896s.exe のパス - Assembler File Path : fasm896s.exe のパス - Linker File Path : flnk896s.exe のパス - Librarian File Path : flib896s.exe のパス - FJ-OMF to S-FORMAT Converter File Path : f2ms.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type :現在のデバッガ種別 MCU type :現在選択しているターゲット MCU VCpu dll name :現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version :現在使用している仮想デバッガ部 DLL のバージョン Adapter type :現在使用している BGM アダプタ Adapter version :BGM アダプタのバージョン Target type :現在使用している BGM ターゲット Target version :BGM ターゲットのバージョン Communication device :デバイス種別 ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス Version : SiIODef.dll のバージョン ======================================================= September 1, 2014, CM25-00324-6a 189 第 2 章 依存機能 2.5 エミュレータデバッガ (MB2146-07) Su pp or t So ft Manu al Current path :現在使用しているプロジェクトのパス Language :現在使用している言語 Help file path :ヘルプファイルのパス 190 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.6 モニタデバッガ Support 2.6 Soft Ma nual モニタデバッガ F2MC-8FX ファミリ用モニタデバッガの機能について説明します。 ■ モニタデバッガ モニタデバッガは , ターゲットシステム上にデバッグ用のモニタプログラムを組み込 み , ホストコンピュータと通信することにより , デバッグ機能を実現します。 ご使用になる前に , モニタプログラムをターゲットハードウェアに合わせて移植する 必要があります。詳細は『SOFTUNE Workbench 操作マニュアル』の「付録 E モニタ デバッガの組込み」を参照してください。 <注意事項> モニタデバッガの使用には , BGM アダプタ (MB2146-09A 以降 ) が必要です。従来の BGM アダプタ (MB2146-09) ではご利用になれません。従来の BGM アダプタ (MB2146-09) を モニタデバッガとして使用した場合 , システム故障の原因となります。 September 1, 2014, CM25-00324-6a 191 第 2 章 依存機能 2.6 モニタデバッガ Su pp or t So ft Manu al フラッシュメモリへの書込み 2.6.1 モニタデバッガではフラッシュメモリへの書込みをサポートしています。 ■ フラッシュメモリへの書込み モニタデバッガではフラッシュメモリへの書込みを行います。書込みはファイルの ロード時にだけ行います。 フラッシュメモリへの書込み時は , 以下のダイアログが表示されます。 ■ ロード失敗時のエラーメッセージ フラッシュメモリへロードするファイルの内容により , 以下のエラーメッセージを表 示します。詳しくは『SOFTUNE Workbench コマンドリファレンスマニュアル』の「付 録 B デバッガ関係のエラーメッセージ」を参照してください。 1. ロード以外でフラッシュメモリへアクセスした場合 「LOAD コマンド以外でフラッシュ領域の変更はできません。」 2. ROM/RAM 領域が混在したファイルをロードした場合 「ROM/RAM 領域が混在したファイルのロードはできません。 」 <注意事項> • フラッシュメモリへの書込みはファイルのロード時だけ行います。メモリウィンドウ やメモリ操作系コマンドから直接フラッシュメモリの編集はできません。 • フラッシュメモリへロードするファイルは必ずフラッシュメモリ範囲内で作成して下 さい。フラッシュメモリ以外のデータが混在している場合 , フラッシュメモリへの書込 みは行えません。 • 1 セクタ品の場合は自動的にチップ消去をおこないます。 192 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.6 モニタデバッガ Support 2.6.2 Soft Ma nual 高速ダウンロード モニタデバッガではフラッシュメモリへのダウンロード時間を短縮できます。 ■ 高速ダウンロードとは フラッシュメモリへプログラムをロードする場合 , ロード時間を通常より約 1/6 に短縮 できます。 ただし以下の操作を Workbench が自動的におこないます。 • フラッシュメモリの全消去 • ターゲットファイルのリセット • RAM 領域の書き換え ■ 使用条件 高速ダウンロードは , 以下の条件を満たした場合に使用できます。 SOFTUNE Workbench :版数 V30L32 以降 BGM アダプタ :型格 MB2146-09B-E ■ 設定方法 高速ダウンロードの制御は次の方法でおこないます。 • コマンド - LOAD 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「7.1 LOAD」を参 照してください。 • ダイアログ - デバッグ環境設定ダイアログ[ロード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.7.2.3 デバッグ環境設定」を参照し てください。 September 1, 2014, CM25-00324-6a 193 第 2 章 依存機能 2.6 モニタデバッガ Su pp or t 2.6.3 So ft Manu al プログラム実行時の注意 本エミュレータでは , プログラム実行時に以下の点にご注意ください。 ■ ステップ実行時のコードブレーク設定 モニタデバッガにおいて , 機械命令単位のステップイン動作を行う場合 , ワイルドレジ スタを一時的に使用します。その間はコードブレーク用の設定ができなくなるため , コードブレークポイントが無効になります。 特にステップ実行中の「割込みマスク」を無効にした状態で , 割込み処理内にブレーク ポイントを設定している場合などに注意が必要です。割込み処理内のブレークポイン トが無効になっているため , ブレークポイントの処理が実行されていても停止しませ ん。 194 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.6 モニタデバッガ Support 2.6.4 Soft Ma nual ブレーク 本デバッガでは , 2 種類のブレーク機能を使用できます。各ブレーク機能によりプロ グラム実行が中断された場合は , ブレークしたアドレスとブレーク要因を表示しま す。 ■ ブレーク機能 本デバッガでは , 次の 2 種類のブレーク機能をサポートしています。 - コードブレーク - 強制ブレーク September 1, 2014, CM25-00324-6a 195 第 2 章 依存機能 2.6 モニタデバッガ Su pp or t 2.6.4.1 So ft Manu al コードブレーク 指定したアドレスを監視することでプログラム実行を中断する機能です。指定され たアドレスの命令を実行する前にブレークします。 ■ コードブレークとは 指定したアドレスを監視することでプログラムを中断する機能です。指定されたアド レスの命令を実行する前にブレークします。本デバッガでは 2 個設定可能です。 コードブレークでブレークした場合 , ステータスバーには次のメッセージが表示され ます。 Break at アドレス by breakpoint ■ 設定方法 コードブレークの制御は次の方法で行います。 • コマンド - SET BREAK 『SOFTUNE Workbench コマンドリファレンスマニュアル』の「3.1 SET BREAK (type 1)」を参照してください。 • ダイアログ - ブレークポイント設定ダイアログ[コード]タブ 『SOFTUNE Workbench 操作マニュアル』の「4.6.4 ブレークポイント」を参照し てください。 • ウィンドウ - ソースウィンドウ / 逆アセンブルウィンドウ 『SOFTUNE Workbench 操作マニュアル』の「3.7 ソースウィンドウ」または「3.9 逆アセンブルウィンドウ」を参照してください。 196 CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.6 モニタデバッガ Support 2.6.4.2 Soft Ma nual 強制ブレーク プログラムの実行を強制的に中断する機能です。 ■ 強制ブレークとは プログラムの実行を強制的に中断する機能です。 強制ブレークでブレークした場合は , ステータスバーに次のメッセージが表示されま す。 Break at アドレス by command abort request September 1, 2014, CM25-00324-6a 197 第 2 章 依存機能 2.6 モニタデバッガ Su pp or t 2.6.5 So ft Manu al デバッガの状態を確認するには デバッガの情報を確認する方法について説明します。 ■ デバッガの情報 本モニタデバッガでは , デバッガ起動時に以下の情報を確認できます。 • SOFTUNE Workbench のファイル情報 • ハードウェアに関する情報 SOFTUNE Workbench の動作に問題があった場合は , この情報を確認し , 営業部門また はサポート部門までお問合せください。 ■ 確認方法 デバッガの情報の確認は次の方法で行います。 • コマンド - SHOW SYSTEM 『SOFTUNE Workbench コ マ ン ド リ フ ァ レ ン ス マ ニ ュ ア ル』の「1.12 SHOW SYSTEM」を参照してください。 • ダイアログ - バージョン情報ダイアログ 『SOFTUNE Workbench 操作マニュアル』の「4.9.3 バージョン情報」を参照して ください。 ■ 表示内容 デバッガの情報は以下のとおり表示します。 F2MC-8L/8FX Family SOFTUNE Workbench VxxLxx (c) Copyright Spansion, All Rights Reserved 1997-2014 ======================================================= Cpu information file path : CPU 情報ファイルのパス Cpu information file version : CPU 情報ファイルのバージョン ======================================================= Add in DLLs ------------------------------------------------------SiCmn Product name : SOFTUNE Workbench File Path : SiC896.dll のパス Version : SiC896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - SiiEd File Path : SiiEd3.ocx のパス Version : SiiEd3.ocx のバージョン ------------------------------------------------------SiM896 198 Product name : SOFTUNE Workbench File Path : SiM896.dll のパス Version : SiM896.dll のバージョン CM25-00324-6a, September 1, 2014 第 2 章 依存機能 2.6 モニタデバッガ Support Soft Ma nual - - - - - - - - - - - - - - - - - - - - - - - - - - - Language Tools - Compiler File Path - Assembler : fcc896s.exe のパス File Path - Linker : fasm896s.exe のパス File Path - Librarian : flnk896s.exe のパス File Path : flib896s.exe - FJ-OMF to S-FORMAT Converter File Path : flib896s.exe のパス - FJ-OMF to INTEL-HEX Converter File Path : f2is.exe のパス - FJ-OMF to INTEL-EXT-HEX Converter File Path : f2es.exe のパス - FJ-OMF to HEX Converter File Path : f2hs.exe のパス ------------------------------------------------------SiOsM Product name : Softune Workbench File Path : SiOsM896.dll のパス Version : SiOsM896.dll のバージョン ------------------------------------------------------F2MC-8L/8FX Family Debugger DLL Product name : SOFTUNE Workbench File Path : SiD896.dll のパス Version : SiD896.dll のバージョン - - - - - - - - - - - - - - - - - - - - - - - - - - - Debugger type : 現在のデバッガ種別 MCU type : 現在選択しているターゲット MCU VCpu dll name : 現在使用している仮想デバッガ部 DLL のパスと名前 VCpu dll version : 現在使用している仮想デバッガ部 DLL のバージョン Adapter type : 現在使用している BGM アダプタ Adapter version : BGM アダプタのバージョン Target type : 現在使用している BGM ターゲット Target version : BGM ターゲットのバージョン Clock mode : メインクロック/サブクロック Communication device : デバイス種別 ------------------------------------------------------SiIODef Product name : Softune Workbench File Path : SiIODef.dll のパス Version : SiIODef.dll のバージョン ======================================================= Current path : 現在使用しているプロジェクトのパス Language : 現在使用している言語 Help file path : ヘルプファイルのパス September 1, 2014, CM25-00324-6a 199 第 2 章 依存機能 2.6 モニタデバッガ Su pp or t 200 So ft Manu al CM25-00324-6a, September 1, 2014 Support Soft Ma nual 付録 付録では , マネージャ関係およびデバッガ関係の , メッセージを掲載しています。 付録 A 主な変更内容 September 1, 2014, CM25-00324-6a 245 付録 付録 A 主な変更内容 Su pp or t 付録 A ページ So ft Manu al 主な変更内容 場所 変更箇所 Revision 6.1 - 246 - 社名変更および記述フォーマットの変換 CM25-00324-6a, September 1, 2014 索引 Support Soft Ma nual 索引 Symbols C /CYCLE すべてのバスサイクルを表示 (/CYCLE を指定 ) ..........................................................................107 /INSTRUCTION 命令実行だけ表示 (/INSTRUCTION を指定 ) ..........................................................................108 /SOURCE ソース行単位で表示 (/SOURCE を指定 ) ..........108 C 言語 C 言語シンボルでの注意 .......................................32 C 言語の変数の指定方法 .......................................32 F FRAM FRAM 品の場合 ....................................................179 FRAM への書込み / 消去 .............................158, 177 M MCU MCU 動作モードの設定 ........................................ 61 R RAM RAM モニタリングとは ..............................147, 185 S STUB 機能 STUB 機能とは ....................................................... 41 September 1, 2014, CM25-00324-6a 203 索引 Su pp or t あ アクセス属性 メモリエリアのアクセス属性 .........................36, 63 アクティブ アクティブなプロジェクト構成について .............5 アクティブプロジェクト アクティブプロジェクトについて .........................2 アセンブル 逆アセンブル ...........................................................28 ラインアセンブル ...................................................28 い 依存関係 依存関係の解析 .......................................................10 プロジェクト間の依存関係について .....................6 イベント イベントの設定 ...............................................79, 115 ノーマルモード時に使用できる イベント関連コマンド ....................................81 パフォーマンスモード時に使用できる イベント関連コマンド ....................................86 マルチトレースモード時に使用できる イベント関連コマンド ....................................83 イベントモード イベントモード .......................................................80 イベントモードの設定 .........................................114 え エディタ 外部エディタ ...........................................................15 標準エディタ ...........................................................14 エミュレータ エミュレータデバッガ .....................25, 59, 127, 153 エミュレータデバッガ エミュレータデバッガ .....................25, 59, 153, 168 エミュレータデバッガ (MB2146-09/09A/09B) ....................................127 エラージャンプ エラージャンプ機能について ...............................12 エラーメッセージ ロード失敗時のエラーメッセージ .....................192 お 応答速度最適化 応答速度最適化とは .............................................170 オプション オプションの設定について .........................8, 15, 17 オプションの設定例 ...............................................16 ツールオプションについて ...................................11 ツールオプションの設定機能 ...............................11 オンザフライ オンザフライ中のメモリの読出し , 書込み ............................................................................67 オンザフライで実行できるコマンド ...................66 シングルトレース時のオンザフライによる トレースデータの読出し ..............................109 204 So ft Manu al マルチトレース時のオンザフライによる トレースデータの読出し ..............................110 か ガーデッドアクセスブレーク ガーデッドアクセスブレークとは ................ 46, 75 外部エディタ 外部エディタ .......................................................... 15 外部ツール 外部ツールについて .............................................. 17 外部プローブ 外部プローブデータが使用できるコマンド ..........................................................................124 外部プローブデータの表示 , 設定 .....................123 外部プローブによるサンプリング .................... 123 外部プローブのサンプリングタイミング ..........................................................................123 書換え フラッシュメモリの消去 / 書換え .............133, 156 書込み FRAM への書込み / 消去 .............................158, 177 フラッシュメモリへの書込み / 消去 ................. 175 拡張デバッグ 拡張デバッグ機能 ................................................127 拡張方法 測定範囲の拡張方法 ............................................ 149 カバレッジ カバレッジ測定機能 ............................................ 117 カバレッジ測定結果の表示 ................................118 カバレッジ測定操作 ............................................ 117 カバレッジ測定手順 ............................................ 117 カバレッジ測定範囲の設定 ................................118 カバレッジの測定 ................................................118 き 逆アセンブル 逆アセンブル .......................................................... 28 強制ブレーク 強制ブレークとは ............ 48, 78, 140, 165, 184, 197 行番号情報 行番号情報 .............................................................. 30 く クロックアップモード クロックアップモードの設定 ............................131 け 検索手順 シンボルの指定と検索手順 ..................................31 原発振周波数 原発振周波数の設定 ............................ 132, 155, 171 こ コードブレーク コードブレークとは ................44, 70, 136, 183, 196 ステップ実行時のコードブレーク設定 ............194 CM25-00324-6a, September 1, 2014 索引 Support Soft 誤差 誤差 .........................................................................150 ご使用の前に ご使用の前に .................................................127, 153 コマンド オンザフライで実行できるコマンド ...................66 外部プローブデータが使用できるコマンド ..........................................................................124 ノーマルモード時に使用できる イベント関連コマンド ....................................81 パフォーマンスモード時に使用できる イベント関連コマンド ....................................86 マルチトレースモード時に使用できる イベント関連コマンド ....................................83 さ Ma nual 使用条件 使用条件 .................................................. 87, 147, 149 シングルトレース シングルトレース ..................................................98 シングルトレース時のオンザフライによる トレースデータの読出し ..............................109 シングルトレース時のフレーム番号と ステップ番号 ....................................................99 シングルトレースの設定方法 ............................100 シンタックス シンタックスについて .......................................... 12 シンボル C 言語シンボルでの注意 .......................................32 シンボル情報の登録 .............................................. 29 シンボルの指定と検索手順 ..................................31 シンボルの種類 ......................................................29 す 最小測定単位 タイマの最小測定単位の設定 .......................65, 114 サブプロジェクト サブプロジェクトについて .....................................3 サンプリング 外部プローブによるサンプリング .....................123 外部プローブのサンプリングタイミング ..........................................................................123 シーケンサによるトレースサンプリング制御 ............................................................................92 トレースデータのサンプリング .........................141 スコープ スコープ .................................................................. 31 スコープの移動 ......................................................31 スタンバイモード スタンバイモード中のブレーク ..........................................................146, 159, 178 ステップ番号 シングルトレース時のフレーム番号と ステップ番号 ....................................................99 し せ シーケンサ シーケンサによる時間測定 ...................................94 シーケンサによる時間測定例 ...............................95 シーケンサによる制御 ...........................................87 シーケンサによるトレースサンプリング制御 ............................................................................92 シーケンサによるブレーク ...................................91 シーケンサの設定 ...................................................89 シーケンシャルブレーク シーケンシャルブレークとは .......................73, 139 シーケンス シーケンス機能とは ...............................................87 時間測定 時間測定の表示 .....................................................116 実行サイクル数測定 実行サイクル数測定とは .....................................149 自動アップデート ファームウェア自動アップデート .....................174 シミュレーション シミュレーション範囲 ...........................................34 シミュレーションメモリ空間 ...............................36 命令シミュレーション ...........................................35 メモリのシミュレーション ...................................36 シミュレータ シミュレータデバッガ .....................................25, 34 シミュレータデバッガ シミュレータデバッガ .....................................25, 34 消去 FRAM への書込み / 消去 .............................158, 177 フラッシュメモリの消去 / 書換え .............133, 156 フラッシュメモリへの書込み / 消去 .................175 設定方法 設定方法 ........................ 132, 147, 171, 172, 173, 174 September 1, 2014, CM25-00324-6a そ ソース行単位 ソース行単位で表示 (/SOURCE を指定 ) ..........108 測定結果 測定結果のクリア ................................................150 測定結果の表示 ....................................................150 測定範囲 測定範囲の拡張方法 ............................................ 149 た タイマ タイマの最小測定単位の設定 ......................65, 114 つ ツールオプション ツールオプションについて ..................................11 ツールオプションの設定機能 ..............................11 205 索引 Su pp or t て データ監視ブレーク データ監視ブレークとは .....................................138 データブレーク データブレークとは .................................45, 72, 137 デバッガ エミュレータデバッガ .....................25, 59, 127, 153 シミュレータデバッガ .....................................25, 34 デバッガ起動時 .............................................161, 180 デバッガ終了時 .....................................................162 デバッガの種類 .......................................................25 デバッガの情報 .....................................................188 モニタデバッガ ...............................................25, 191 デバッグ デバッグ終了時 .....................................................181 展開例 マクロの展開例 .......................................................21 電源供給 電源供給の設定 .....................................................172 Manu al パフォーマンス測定データ パフォーマンス測定データのクリア ................ 115 パフォーマンス測定データの表示 .................... 115 パフォーマンスバッファフルブレーク パフォーマンスバッファフルブレークとは ............................................................................77 パフォーマンスバッファフルブレークの指定 ..........................................................................114 パフォーマンスモード パフォーマンスモード時に使用できる イベント関連コマンド ....................................86 パフォーマンスモード時の動作 .......................... 85 ひ 標準エディタ 標準エディタ .......................................................... 14 ビルド ビルド機能 ................................................................ 7 ビルドのカスタマイズ機能について .................... 8 と ふ 動作環境 動作環境 ...................................................................23 動作環境の設定 ...............................60, 130, 154, 169 動作モード MCU 動作モードの設定 ........................................61 トレース シーケンサによるトレースサンプリング制御 ............................................................................92 トレース .................................................................141 トレースデータ シングルトレース時のオンザフライによる トレースデータの読出し ..............................109 トレースデータ .....................................................141 トレースデータの格納状況の表示 .....................105 トレースデータのクリア .....................................143 トレースデータのサンプリング .........................141 トレースデータの表示位置の指定 .....................106 トレースデータの表示形式 .................................143 トレースデータ格納情報の表示 .........................143 マルチトレース時のオンザフライによる トレースデータの読出し ..............................110 トレースバッファブレーク トレースバッファブレークとは .....................47, 76 ファームウェア ファームウェア自動アップデート .................... 174 フラッシュセキュリティ フラッシュセキュリティ ............................160, 179 フラッシュメモリ フラッシュメモリの消去 / 書換え .............133, 156 フラッシュメモリの同期の設定 ........................ 173 フラッシュメモリへの書込み ............................192 フラッシュメモリへの書込み / 消去 ................. 175 ブレーク ガーデッドアクセスブレークとは ................ 46, 75 強制ブレークとは ....................48, 78, 140, 165, 197 コードブレークとは ................44, 70, 136, 183, 196 シーケンサによるブレーク ..................................91 シーケンシャルブレークとは ......................73, 139 スタンバイモード中のブレーク ................146, 159 ステップ実行時のコードブレーク設定 ............194 データ監視ブレークとは .................................... 138 データブレークとは ................................ 45, 72, 137 トレースバッファブレークとは .................... 47, 76 パフォーマンスバッファフルブレークとは ............................................................................77 パフォーマンスバッファフルブレークの指定 ..........................................................................114 ブレーク機能 ............................43, 69, 135, 163, 195 命令実行ブレークの注意 ...................................... 70 ブレーク機能 ブレーク機能 ........................................................ 182 フレーム番号 シングルトレース時のフレーム番号と ステップ番号 ....................................................99 フレーム番号 ........................................................ 141 マルチトレース時のフレーム番号 .................... 102 プログラム プログラム実行 ....................................................115 プロジェクト アクティブなプロジェクト構成について ............5 アクティブプロジェクトについて ........................ 2 サブプロジェクトについて ....................................3 の ノーマルモード ノーマルモード時に使用できる イベント関連コマンド ....................................81 ノーマルモード時の動作 .......................................81 は バスサイクル すべてのバスサイクルを表示 (/CYCLE を指定 ) ..........................................................................107 パフォーマンス測定 パフォーマンス測定の機能 .................................113 206 So ft CM25-00324-6a, September 1, 2014 索引 Support Soft 複数プロジェクト登録の制限について .................3 プロジェクト間の依存関係について .....................6 プロジェクト管理機能 .............................................4 プロジェクト形式について .....................................4 プロジェクト構成について .....................................5 プロジェクトについて .............................................2 プロジェクト構成 アクティブなプロジェクト構成について .............5 プロジェクト構成について .....................................5 へ 変数 C 言語の変数の指定方法 .......................................32 ま マクロ マクロ一覧 ...............................................................18 マクロについて .......................................................18 マクロの展開例 .......................................................21 マクロリスト マクロリストについて .............................................8 マルチトレース マルチトレース .....................................................102 マルチトレース時のオンザフライによる トレースデータの読出し ..............................110 マルチトレース時のフレーム番号 .....................102 マルチトレースの設定方法 .................................104 マルチトレースモード マルチトレースモード時に使用できる イベント関連コマンド ....................................83 マルチトレースモード時の動作 ...........................83 Ma nual も モード イベントモード ......................................................80 イベントモードの設定 ........................................ 114 クロックアップモードの設定 ............................131 スタンバイモード中のブレーク ................146, 159 ノーマルモード時に使用できる イベント関連コマンド ....................................81 ノーマルモード時の動作 ...................................... 81 パフォーマンスモード時に使用できる イベント関連コマンド ....................................86 パフォーマンスモード時の動作 .......................... 85 マルチトレースモード時に使用できる イベント関連コマンド ....................................83 マルチトレースモード時の動作 .......................... 83 モニタ モニタデバッガ ..............................................25, 191 モニタデバッガ モニタデバッガ ..............................................25, 191 モニタリング RAM モニタリングとは ..............................147, 185 モニタリング時の停止時間 ........................147, 185 ら ラインアセンブル ラインアセンブル ..................................................28 れ レジスタ レジスタ操作 .......................................................... 27 め ろ メイク メイク機能 .................................................................7 命令 命令実行だけ表示 (/INSTRUCTION を指定 ) ..........................................................................108 命令シミュレーション ...........................................35 命令実行ブレーク 命令実行ブレークの注意 .......................................70 メモリ オンザフライ中のメモリの読出し , 書込み ............................................................................67 メモリ操作機能 .......................................................26 メモリのシミュレーション ...................................36 メモリエリア メモリエリアのアクセス属性 .........................36, 63 メモリエリアの種類 ...............................................62 メモリ空間 シミュレーションメモリ空間 ...............................36 メモリマップ メモリマップの作成・表示 ...................................63 ロード ロード失敗時のエラーメッセージ .................... 192 September 1, 2014, CM25-00324-6a わ ワークスペース ワークスペース管理機能 ........................................ 2 ワークスペースについて ........................................ 2 207 索引 Su pp or t 208 So ft Manu al CM25-00324-6a, September 1, 2014 Support Soft Ma nual 奥付 CM25-00324-6a Spansion • SOFTWARE SUPPORT MANUAL F2MC®-8L/8FX ファミリ SOFTUNE® Workbench 機能説明書 2014 年 9 月 Rev. 6.1 発行 Spansion Inc. 編集 コーポレートコミュニケーション部 September 1, 2014, CM25-00324-6a 209 Su pp or t So ft Manu al 免責事項 本資料に記載された製品は、通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途 ( ただし、用途の限定はあ りません ) に使用されることを意図して設計・製造されています。(1) 極めて高度な安全性が要求され、仮に当該安全性が 確保されない場合、社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 ( 原子力施設における 核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生命維持のための医療機器 , 兵器シ ステムにおけるミサイル発射制御等をいう ) 、ならびに (2) 極めて高い信頼性が要求される用途 ( 海底中継器 , 宇宙衛星等を いう ) に使用されるよう設計・製造されたものではありません。上記の製品の使用法によって惹起されたいかなる請求また は損害についても、Spansion は、お客様または第三者、あるいはその両方に対して責任を一切負いません。半導体デバイス はある確率で故障が発生します。当社半導体デバイスが故障しても、結果的に人身事故 , 火災事故 , 社会的な損害を生じさ せないよう、お客様において、装置の冗長設計 , 延焼対策設計 , 過電流防止対策設計 , 誤動作防止設計などの安全設計をお 願いします。本資料に記載された製品が、外国為替及び外国貿易法、米国輸出管理関連法規などの規制に基づき規制され ている製品または技術に該当する場合には、本製品の輸出に際して、同法に基づく許可が必要となります。 商標および注記 このドキュメントは、断りなく変更される場合があります。本資料には Spansion が開発中の Spansion 製品に関する情報が 記載されている場合があります。Spansion は、それらの製品に対し、予告なしに仕様を変更したり、開発を中止したりする 権利を有します。このドキュメントに含まれる情報は、現状のまま、保証なしに提供されるものであり、その正確性 , 完全 性 , 実施可能性および特定の目的に対する適合性やその市場性および他者の権利を侵害しない事を保証するものでなく、ま た、明示 , 黙示または法定されているあらゆる保証をするものでもありません。Spansion は、このドキュメントに含まれる 情報を使用することにより発生したいかなる損害に対しても責任を一切負いません。 Copyright © 2004 - 2014 Spansion All rights reserved. 商標:Spansion®, Spansion ロゴ ( 図形マーク ), MirrorBit®, MirrorBit® EclipseTM, ORNANDTM 及びこれらの組合せは、米国・ 日本ほか諸外国における Spansion LLC の商標です。第三者の社名・製品名等の記載はここでは情報提供を目的として表記 したものであり、各権利者の商標もしくは登録商標となっている場合があります。 210 CM25-00324-6a, September 1, 2014
© Copyright 2024 Paperzz