お客様各位

カタログ等資料中の旧社名の扱いについて
2010 年 4 月 1 日を以って NEC エレクトロニクス株式会社及び株式会社ルネサステクノロジが合併し、両社の全ての事業が当社に承継されております。従いまして、本資料中には旧社名での表記が残っておりますが、当社の資料として有効ですので、ご理解の程宜しくお願い申し上げます。
ルネサスエレクトロニクス ホームページ（http://www.renesas.com）

2010 年 4 月 1 日
ルネサスエレクトロニクス株式会社【発行】ルネサスエレクトロニクス株式会社（http://www.renesas.com）【問い合わせ先】http://japan.renesas.com/inquiryご注意書き１． 本資料に記載されている内容は本資料発行時点のものであり、予告なく変更することがあります。当社製品のご購入およびご使用にあたりましては、事前に当社営業窓口で最新の情報をご確認いただきますとともに、
当社ホームページなどを通じて公開される情報に常にご注意ください。
2.

本資料に記載された当社製品および技術情報の使用に関連し発生した第三者の特許権、著作権その他の知的財産権の侵害等に関し、当社は、一切その責任を負いません。当社は、本資料に基づき当社または第三者の特許権、著作権その他の知的財産権を何ら許諾するものではありません。

3.

当社製品を改造、改変、複製等しないでください。

4.

本資料に記載された回路、ソフトウェアおよびこれらに関連する情報は、半導体製品の動作例、応用例を説明するものです。お客様の機器の設計において、回路、ソフトウェアおよびこれらに関連する情報を使用する場合には、お客様の責任において行ってください。これらの使用に起因しお客様または第三者に生じた損
害に関し、当社は、一切その責任を負いません。

5.

輸出に際しては、「外国為替及び外国貿易法」その他輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続を行ってください。本資料に記載されている当社製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的その他軍事用途の目的で使用しないでください。また、当社製品および技術を国内外の法令および規則により製造・使用・販売を禁止されている機器に使用することができません。

6.

本資料に記載されている情報は、正確を期すため慎重に作成したものですが、誤りがないことを保証するものではありません。万一、本資料に記載されている情報の誤りに起因する損害がお客様に生じた場合においても、当社は、一切その責任を負いません。

7.

当社は、当社製品の品質水準を「標準水準」、「高品質水準」および「特定水準」に分類しております。また、各品質水準は、以下に示す用途に製品が使われることを意図しておりますので、当社製品の品質水準をご確認ください。お客様は、当社の文書による事前の承諾を得ることなく、「特定水準」に分類された用途に当社製品を使用することができません。また、お客様は、当社の文書による事前の承諾を得ることなく、意図されていない用途に当社製品を使用することができません。当社の文書による事前の承諾を得ることなく、「特定水準」に分類された用途または意図されていない用途に当社製品を使用したことによりお客様または第三者に生じた損害等に関し、当社は、一切その責任を負いません。なお、当社製品のデータ・シート、データ・ブック等の資料で特に品質水準の表示がない場合は、標準水準製品であることを表します。
標準水準：

コンピュータ、OA 機器、通信機器、計測機器、AV 機器、家電、工作機械、パーソナル機器、
産業用ロボット

高品質水準： 輸送機器（自動車、電車、船舶等）、交通用信号機器、防災・防犯装置、各種安全装置、生命維持を目的として設計されていない医療機器（厚生労働省定義の管理医療機器に相当）
特定水準：

航空機器、航空宇宙機器、海底中継機器、原子力制御システム、生命維持のための医療機器（生命維持装置、人体に埋め込み使用するもの、治療行為（患部切り出し等）を行うもの、その他
直接人命に影響を与えるもの）（厚生労働省定義の高度管理医療機器に相当）またはシステム
等

8.

本資料に記載された当社製品のご使用につき、特に、最大定格、動作電源電圧範囲、放熱特性、実装条件その他諸条件につきましては、当社保証範囲内でご使用ください。当社保証範囲を超えて当社製品をご使用された場合の故障および事故につきましては、当社は、一切その責任を負いません。

9.

当社は、当社製品の品質および信頼性の向上に努めておりますが、半導体製品はある確率で故障が発生した
り、使用条件によっては誤動作したりする場合があります。また、当社製品は耐放射線設計については行っておりません。当社製品の故障または誤動作が生じた場合も、人身事故、火災事故、社会的損害などを生じさせないようお客様の責任において冗長設計、延焼対策設計、誤動作防止設計等の安全設計およびエージン
グ処理等、機器またはシステムとしての出荷保証をお願いいたします。特に、マイコンソフトウェアは、単独での検証は困難なため、お客様が製造された最終の機器・システムとしての安全検証をお願いいたします。

10.

当社製品の環境適合性等、詳細につきましては製品個別に必ず当社営業窓口までお問合せください。ご使用に際しては、特定の物質の含有･使用を規制する RoHS 指令等、適用される環境関連法令を十分調査のうえ、かかる法令に適合するようご使用ください。お客様がかかる法令を遵守しないことにより生じた損害に関して、当社は、一切その責任を負いません。

11.

本資料の全部または一部を当社の文書による事前の承諾を得ることなく転載または複製することを固くお断りいたします。

12.

本資料に関する詳細についてのお問い合わせその他お気付きの点等がございましたら当社営業窓口までご照会ください。

注 1.

本資料において使用されている「当社」とは、ルネサスエレクトロニクス株式会社およびルネサスエレク
トロニクス株式会社がその総株主の議決権の過半数を直接または間接に保有する会社をいいます。

注 2.

本資料において使用されている「当社製品」とは、注 1 において定義された当社の開発、製造製品をいいます。

User’s Manual

H8S、H8/300 シリーズ シミュレータ／デバッガ
ユーザーズマニュアル
ルネサスマイクロコンピュータ開発環境システム

www.renesas.com

Rev.4.00

2007.07

本資料ご利用に際しての留意事項
１． 本資料は、お客様に用途に応じた適切な弊社製品をご購入いただくための参考資料であり、本資料中に記載の技術情報について弊社または第三者の知的財産権その他の権利の実施、使用を許諾または保証するものではありません。
２． 本資料に記載の製品データ、図、表、プログラム、アルゴリズムその他応用回路例など全ての情報の使用に起因する損害、第三者の知的財産権その他の権利に対する侵害に関し、弊社は責任を負いません。
３． 本資料に記載の製品および技術を大量破壊兵器の開発等の目的、軍事利用の目的、あるいはその他
軍事用途の目的で使用しないでください。また、輸出に際しては、「外国為替及び外国貿易法」
その他輸出関連法令を遵守し、それらの定めるところにより必要な手続を行ってください。
４． 本資料に記載の製品データ、図、表、プログラム、アルゴリズムその他応用回路例などの全ての情報は本資料発行時点のものであり、弊社は本資料に記載した製品または仕様等を予告なしに変更することがあります。弊社の半導体製品のご購入およびご使用に当たりましては、事前に弊社営業窓口で最新の情報をご確認頂きますとともに、弊社ホームページ(http://www.renesas.com)などを通じて公開される情報に常にご注意下さい。
５． 本資料に記載した情報は、正確を期すため慎重に制作したものですが、万一本資料の記述の誤りに起因する損害がお客様に生じた場合においても、弊社はその責任を負いません。
６． 本資料に記載の製品データ、図、表などに示す技術的な内容、プログラム、アルゴリズムその他
応用回路例などの情報を流用する場合は、流用する情報を単独で評価するだけでなく、システム全体で十分に評価し、お客様の責任において適用可否を判断して下さい。弊社は、適用可否に対する責任は負いません。
７． 本資料に記載された製品は、各種安全装置や運輸・交通用、医療用、燃焼制御用、航空宇宙用、原子力、海底中継用の機器・システムなど、その故障や誤動作が直接人命を脅かしあるいは人体に危害を及ぼすおそれのあるような機器・システムや特に高度な品質・信頼性が要求される機器・システムでの使用を意図して設計、製造されたものではありません（弊社が自動車用と指定する製品を自動車に使用する場合を除きます）。これらの用途に利用されることをご検討の際には、必ず事前に弊社営業窓口へご照会下さい。なお、上記用途に使用されたことにより発生した損害等について弊社はその責任を負いかねますのでご了承願います。
８． 第７項にかかわらず、本資料に記載された製品は、下記の用途には使用しないで下さい。これらの用途に使用されたことにより発生した損害等につきましては、弊社は一切の責任を負いません。
１）生命維持装置。
２）人体に埋め込み使用するもの。
３）治療行為（患部切り出し、薬剤投与等）を行なうもの。
４）その他、直接人命に影響を与えるもの。
９． 本資料に記載された製品のご使用につき、特に最大定格、動作電源電圧範囲、放熱特性、実装条件
およびその他諸条件につきましては、弊社保証範囲内でご使用ください。弊社保証値を越えて製品をご使用された場合の故障および事故につきましては、弊社はその責任を負いません。
１０．弊社は製品の品質および信頼性の向上に努めておりますが、特に半導体製品はある確率で故障が発生したり、使用条件によっては誤動作したりする場合があります。弊社製品の故障または誤動作が生じた場合も人身事故、火災事故、社会的損害などを生じさせないよう、お客様の責任において冗長設計、延焼対策設計、誤動作防止設計などの安全設計（含むハードウエアおよびソフトウエア）およびエージング処理等、機器またはシステムとしての出荷保証をお願いいたします。特にマイコンソフトウエアは、単独での検証は困難なため、お客様が製造された最終の機器・システム
としての安全検証をお願い致します。
１１．本資料に記載の製品は、これを搭載した製品から剥がれた場合、幼児が口に入れて誤飲する等の事故の危険性があります。お客様の製品への実装後に容易に本製品が剥がれることがなきよう、お客様の責任において十分な安全設計をお願いします。お客様の製品から剥がれた場合の事故につきましては、弊社はその責任を負いません。
１２．本資料の全部または一部を弊社の文書による事前の承諾なしに転載または複製することを固くお断り致します。
１３．本資料に関する詳細についてのお問い合わせ、その他お気付きの点等がございましたら弊社営業窓口までご照会下さい。

はじめに

このマニュアルについて
このマニュアルは、High-performance Embedded Workshop (HEW)に付属しているシミュレータ・デ
バッガのデバッグ機能について説明します。
このマニュアルでは C/C++言語、アセンブリ言語の書き方や、オペレーティングシステムの使い方、個々のデバイスに適したプログラムの書き方などについては説明していません。それらについては、各々のマニュアルを参照してください。
HEW は、インストール上、各種言語にカスタマイズされています。このマニュアルでは、HEW ア
プリケーションの日本語版について説明します。

Microsoft, MS-DOS, Windows, Windows NT は米国 Microsoft 社の米国およびその他の国における登録商標です。
Visual SourceSafe は Microsoft 社の米国およびその他の国における商標です。
IBM は International Business Machines Corporation の登録商標です。
その他、記載されている製品名は各社の商標または登録商標です。

このマニュアルの記号
このマニュアルで使われている記号の意味を説明します。

表 1: 記号一覧
記号意味[Menu->Menu Option]

太字と ‘->‘ はメニューオプションを示します ( 例 [File->Save As...] )FILENAME.C

大文字の名前はファイル名を示します“文字列の入力”

下線は入力する文字列を示します ( “” を省く)

Key + Key

キー入力を示します。例えば、CTRL+N キーでは CTRL キーと N キーを同時に押しますÂ
(「操作方法」マーク)

このマークが左端にあるとき、その右の文章は何かの操作方法を示します

目次

1.

はじめに

1

2.

シミュレータ・デバッガの機能

3

2.1

特長 ....................................................................................................................................................... 3

2.2

デバッグ対象プログラム ................................................................................................................... 3

2.3

シミュレーション範囲 ....................................................................................................................... 4

2.4

メモリ管理 ........................................................................................................................................... 5

2.5

命令実行リセット処理 ....................................................................................................................... 5

2.6

例外処理 ............................................................................................................................................... 6

2.7

H8S/2000CPU 特殊機能 ........................................................................................................................ 6

2.8

H8S/2600CPU 特殊機能 ........................................................................................................................ 6

2.9

H8SX シリーズ CPU 特殊機能............................................................................................................. 7

2.10

制御レジスタ ....................................................................................................................................... 7

2.11

タイマ（H8S シリーズ、H8SX シリーズ）..................................................................................... 8

2.12

2.11.1
サポート範囲 ....................................................................................................................... 8
2.11.2
制御レジスタ ....................................................................................................................... 8
2.11.3クロック............................................................................................................................... 8
2.11.4
タイマを使用する ............................................................................................................... 8
2.11.5
タイマ使用時の注意 ........................................................................................................... 9
トレース ............................................................................................................................................... 92.13

標準入出力およびファイル入出力処理............................................................................................ 92.14

命令実行サイクル数の計算 ............................................................................................................. 10

2.15

ブレーク条件 ..................................................................................................................................... 11

2.16

浮動小数点データ ............................................................................................................................. 132.17

関数呼び出し履歴の表示 ................................................................................................................. 14

2.18

パフォーマンス測定 ......................................................................................................................... 14

2.19

2.18.1
プロファイラ ..................................................................................................................... 14
2.18.2
パフォーマンス解析 ......................................................................................................... 14
擬似割込み ......................................................................................................................................... 14

2.20

カバレジ ............................................................................................................................................. 15

3.

デバッグ

3.1

ワークスペースの作成 ..................................................................................................................... 17

3.2

3.1.1
ターゲットの選択 ............................................................................................................. 17
3.1.2
シミュレータ用ワークスペースの設定.......................................................................... 19
シミュレータ・デバッガの設定を変更する.................................................................................. 20

17

3.3

シミュレータシステムの設定を変更する...................................................................... 20
3.2.1
3.2.2
メモリマップおよびメモリリソースの設定を変更する .............................................. 22
3.2.3
メモリマップ設定ダイアログボックス.......................................................................... 23
3.2.4
メモリリソース設定ダイアログボックス...................................................................... 24
周辺機能シミュレーションを設定する.......................................................................................... 25

3.4

3.3.1
周辺機能シミュレーションモジュールを登録する...................................................... 25
3.3.2
周辺機能のアドレスを変更する ..................................................................................... 26
3.3.3
周辺機能の割り込み要因情報を変更する...................................................................... 27
3.3.4
割り込み優先順位レジスタのメモリリソースを確保する .......................................... 28
3.3.5
接続されている周辺機能を確認する.............................................................................. 28
シミュレータ・デバッガのブレークポイントを使用する .......................................................... 28

3.5

3.4.1
ブレークポイントを一覧表示する ................................................................................. 29
3.4.2
ブレークポイントを設定する ......................................................................................... 31
3.4.3
ブレークポイントの設定内容を変更する...................................................................... 38
3.4.4
ブレークポイントを有効にする ..................................................................................... 38
3.4.5
ブレークポイントを無効にする ..................................................................................... 39
3.4.6
ブレークポイントを削除する ......................................................................................... 39
3.4.7
ブレークポイントをすべて削除する.............................................................................. 39
3.4.8
ブレークポイントのソース行を表示する...................................................................... 39
3.4.9
入出力ファイルを閉じる ................................................................................................. 39
3.4.10
入出力ファイルをすべて閉じる ..................................................................................... 39
トレース情報を見る ......................................................................................................................... 39

3.6

3.5.1
トレースウィンドウを開く ............................................................................................. 39
3.5.2
トレース情報取得条件を設定する ................................................................................. 39
3.5.3
トレース情報を取得する ................................................................................................. 40
3.5.4
トレース情報を検索する ................................................................................................. 41
3.5.5
トレース情報をクリアする ............................................................................................. 42
3.5.6
トレース情報をファイルに保存する.............................................................................. 42
3.5.7
ソースファイルを表示する ............................................................................................. 42
3.5.8
ソース表示を整形する ..................................................................................................... 423.5.9
統計情報を解析する ......................................................................................................... 43
プロファイル情報を見る ................................................................................................................. 44

3.7

3.6.1
スタック情報ファイル ..................................................................................................... 44
3.6.2
プロファイル情報ファイル ............................................................................................. 45
3.6.3
スタック情報ファイルのロード ..................................................................................... 46
3.6.4
プロファイルを有効にする ............................................................................................. 473.6.5
測定方法を指定する ......................................................................................................... 47
3.6.6
ユーザプログラムを実行し結果を確認する.................................................................. 47
3.6.7
List シート.......................................................................................................................... 47
3.6.8
Tree シート......................................................................................................................... 48
3.6.9
プロファイルチャートウィンドウ ................................................................................. 51
3.6.10
表示データの種類および用途 ......................................................................................... 52
3.6.11
プロファイル情報ファイルを作成する.......................................................................... 53
3.6.12
注意事項............................................................................................................................. 54
パフォーマンスを解析する ............................................................................................................. 54
3.7.1

パフォーマンス解析ウィンドウを開く.......................................................................... 543.8

評価関数を設定する ......................................................................................................... 55
3.7.2
3.7.3
データ収集を開始する ..................................................................................................... 55
3.7.4
データをリセットする ..................................................................................................... 55
3.7.5
評価関数を削除する ......................................................................................................... 55
3.7.6
すべての評価関数を削除する ......................................................................................... 55
3.7.7
現在の表示内容をセーブする ......................................................................................... 55
コードカバレジを測定する ............................................................................................................. 56

3.9

3.8.1
カバレジウィンドウを開く ............................................................................................. 56
3.8.2
カバレジ情報をすべて取得する ..................................................................................... 58
3.8.3
カバレジ情報をすべてクリアする ................................................................................. 58
3.8.4
ソースファイルを表示する ............................................................................................. 58
3.8.5
新しいカバレジ測定範囲を設定する.............................................................................. 58
3.8.6
カバレジ測定範囲を変更する ......................................................................................... 58
3.8.7
カバレジ測定範囲を削除する ......................................................................................... 60
3.8.8
カバレジ情報を取得する ................................................................................................. 60
3.8.9
カバレジ情報をクリアする ............................................................................................. 60
3.8.10
カバレジ情報をファイルに保存する.............................................................................. 60
3.8.11
カバレジ情報をファイルからロードする...................................................................... 61
3.8.12
最新の情報に更新する ..................................................................................................... 61
3.8.13
Confirmation Request ダイアログボックス ..................................................................... 61
3.8.14
カバレジ情報を保存ダイアログボックス...................................................................... 62
3.8.15
エディタウィンドウへのカバレジ結果表示.................................................................. 63
3.8.16
逆アセンブリウィンドウへのカバレジ結果表示.......................................................... 64
手動で擬似割込みを発生させる...................................................................................................... 65

3.10

3.9.1
トリガウィンドウ ............................................................................................................. 65
3.9.2
GUI I/O ウィンドウ........................................................................................................... 67
標準入出力およびファイル入出力を行う...................................................................................... 68

3.11

3.10.1
I/O シミュレーションウィンドウを開く ....................................................................... 68
3.10.2
入出力機能 ......................................................................................................................... 69
仮想入出力パネルを作成する.......................................................................................................... 71
3.11.1
3.11.2
3.11.33.11.43.11.5
3.11.6
3.11.73.11.83.11.93.11.10
3.11.11

GUI 入出力ウィンドウを開く ......................................................................................... 71
ボタンを作成する ............................................................................................................. 72
ラベルを作成する ............................................................................................................. 73
LED を作成する ................................................................................................................ 75
テキスト文字列を作成する ............................................................................................. 78
アイテムのサイズ/配置を変更する ................................................................................ 78
アイテムをコピーする ..................................................................................................... 79
アイテムを削除する ......................................................................................................... 79
グリッド線を表示する ..................................................................................................... 79
入出力パネル情報を保存する ......................................................................................... 80
入出力パネル情報を読み込む ......................................................................................... 80

4.

ウィンドウ

81

5.

コマンドライン83

5.1

コマンド一覧（機能別） ................................................................................................................. 83
5.1.1

実行関連............................................................................................................................. 83

5.2

ダウンロード関連 ............................................................................................................. 83
5.1.2
5.1.3
レジスタ操作関連 ............................................................................................................. 84
5.1.4
メモリ操作関連 ................................................................................................................. 84
5.1.5
アセンブル/逆アセンブル関係 ........................................................................................ 84
5.1.6
ブレーク設定関連 ............................................................................................................. 84
5.1.7
トレース関連 ..................................................................................................................... 85
5.1.8
カバレジ計測関連 ............................................................................................................. 85
5.1.9
パフォーマンス測定関連 ................................................................................................. 85
5.1.10
ウォッチ関連 ..................................................................................................................... 85
5.1.11
スクリプト/ログファイル関連 ........................................................................................ 86
5.1.12
マップ関連 ......................................................................................................................... 86
5.1.13シミュレーションの設定関連 ......................................................................................... 86
5.1.14標準入出力およびファイル入出力関連.......................................................................... 86
5.1.15ユーティリティ関連 ......................................................................................................... 87
5.1.16
プロジェクト/ワークスペース関連 ................................................................................ 87
5.1.17
テスト支援機能関連 ......................................................................................................... 87
コマンド一覧（アルファベット順）.............................................................................................. 88

6.

メッセージ一覧

6.1

インフォメーションメッセージ...................................................................................................... 91

6.2

エラーメッセージ ............................................................................................................................. 92

7.

チュートリアル7.1

デバッグの準備 ................................................................................................................................. 95

7.2

7.1.1
サンプルプログラム ......................................................................................................... 95
7.1.2
サンプルプログラムの作成 ............................................................................................. 95
デバッグのための設定 ..................................................................................................................... 96

7.3

7.2.1
メモリリソースの確保 ..................................................................................................... 96
7.2.2
サンプルプログラムのダウンロード.............................................................................. 97
7.2.3
ソースプログラムの表示 ................................................................................................. 98
7.2.4
PC ブレークポイントの設定 ........................................................................................... 99
7.2.5
プロファイラの設定 ....................................................................................................... 100
7.2.6
I/O シミュレーションの設定 ......................................................................................... 101
7.2.7
トレース情報取得条件の設定 ....................................................................................... 102
7.2.8
スタックポインタ、プログラムカウンタの設定........................................................ 103
デバッグ開始 ................................................................................................................................... 103
7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7
7.3.8

91

95

プログラムの実行 ........................................................................................................... 103
トレースバッファの使い方 ........................................................................................... 106
トレース検索の実行 ....................................................................................................... 107
I/O シミュレーションの確認 ......................................................................................... 108
ブレークポイントの確認 ............................................................................................... 108
変数の参照 ....................................................................................................................... 109
プログラムのステップ実行 ........................................................................................... 110
プロファイラ情報の確認 ............................................................................................... 113

1.

はじめに

シミュレータ・デバッガは、ルネサステクノロジのマイクロコンピュータのCPUシミュレーション
機能およびデバッグ機能を持っています。シミュレータ・デバッガを利用することによって、C/C++
言語やアセンブリ言語で作成されたプログラムを効率よくデバッグすることができます。
シミュレータ・デバッガは、High-performance Embedded Workshop (HEW)とともに動作します。HEW
は、ルネサステクノロジのマイクロコンピュータ用に、C/C++言語およびアセンブリ言語で書かれたアプリケーションの開発およびデバッグを簡単に行うためのグラフィカルユーザインタフェースを提供します。アプリケーションを実行するシミュレータ・デバッガのアクセス、計測、および変更に関して、HEWは高機能でしかも直観的な手段を提供することを目的としています。
シミュレータ・デバッガを使用するにあたっては、シミュレータ・デバッガ、およびHEWのヘルプも参照ください。

1

1.

2

はじめに

2.

シミュレータ・デバッガの機能

本章では、H8S,H8/300シリーズ シミュレータ・デバッガの機能について説明します。

2.1

特長

本シミュレータ・デバッガには、次のような特長があります。
（1） ホスト計算機上で動作するので、実機がなくてもプログラムのデバッグを開始することができ、システム全体の開発期間を短縮できます。
（2） シミュレーション時にプログラムの命令実行サイクル数を計算します。これにより実機がな
くても性能評価が行えます。
（3） 擬似割込み機能、およびI/Oシミュレーション機能を持ち、簡易的なシステムレベルシミュ
レーションを行えます。
（4） 下記のような機能を持ち、プログラムのテスト、およびデバッグを効率よく進めることができます。
• H8S、H8/300 シリーズの各 CPU に対応• ユーザプログラムの実行中に異常が発生した場合、異常を無視して続行するか、または停止するかを制御する機能• プロファイルデータ取得、および関数単位のパフォーマンス測定• 豊富なブレーク機能• メモリマップの設定・編集• 関数呼び出し履歴の表示• C/C++およびアセンブラソースレベルのカバレジ表示• イメージ表示、波形表示による視覚的デバッグ機能®
（5） Windows 上で動作し、ブレークポイント・メモリマップ・パフォーマンス・トレースをダイ
アログボックス上で設定することができます。H8S、H8/300マイコンの各々のメモリマップに対応した環境設定もダイアログボックス上で行うことができます。
また、下記のような特徴を持ちます。
• 直観的なユーザインタフェース• オンラインヘルプ• 共通した表示と操作性

2.2

デバッグ対象プログラム

シミュレータ・デバッガでは、ELF/DWARF2 フォーマットのロードモジュールがシンボリックデバッグ可能です。その他のフォーマットのロードモジュールについては、ダウンロードと命令実行はできますが、シンボリックデバッグはできません。詳しくは、｢High-performance Embedded Workshop
V.4.03 ユーザーズマニュアル｣の｢17.18.2 Elf/Dwarf2 のサポート｣を参照してください。

3

2.

シミュレータ・デバッガの機能

2.3

シミュレーション範囲（1） H8/300、H8/300L、H8/300H、H8S/2600、H8S/2000およびH8SXシリーズのシミュレーションをサポートします。
（2） シミュレータ・デバッガは、H8SX、H8S、H8/300シリーズマイコンの下記機能をサポートしています。
• 全実行命令• 例外処理• レジスタ• 全アドレス空間• 表 2-1に示す各 CPU モード
表2-1

プラットフォームと CPU モードの対応

デバッグ
プラットフォーム名

対応 CPU

H8/300 Simulator

H8/300H8/300L Simulator

H8/300L

H8/300HA Simulator

H8/300H

アドバンストモード

H8/300HN Simulator

H8/300H

ノーマルモード

H8S/2600A Simulator

H8S/2600 アドバンストモード

H8S/2600N Simulator

H8S/2600 ノーマルモード

H8S/2000A Simulator

H8S/2000 アドバンストモード

H8S/2000N Simulator

H8S/2000 ノーマルモード

H8SX Normal Simulator

H8SX ノーマルモード

H8SX Advanced Simulator

H8SX アドバンストモード

H8SX Maximum Simulator

H8SX マキシマムモード（3） シミュレータ・デバッガは、H8SX、H8S、H8/300シリーズマイコンの下記機能をサポートしていません。下記機能を使用したプログラムは、H8SX、H8S、H8/300シリーズ用エミュ
レータを使用してデバッグしてください。
• デュアルポート RAM• タイマ（H8/300 シリーズのみ未サポート）• パルス幅変換器（PWM）• シリアルコミニュケーションインタフェース（SCI）• A/D 変換器
• I/O ポート
• 割込みコントローラ

4

2.

2.4

メモリ管理

(1)

メモリマップの設定

シミュレータ・デバッガの機能

メモリマップは、シミュレーション時のメモリアクセスサイクル数の計算に使用します。設定できる項目は次の通りです。
•
•
•
•

メモリ種別
メモリ領域の先頭位置、終了位置
メモリアクセスのサイクル数
メモリのデータバス幅

詳細は、「3.2.2 メモリマップおよびメモリリソースの設定を変更する」を参照してください。
なお、ユーザプログラムは、内蔵 I/O 空間を除くすべてのメモリで実行可能です。

(2)

メモリリソースの設定

ユーザプログラムをロードして実行させるためにメモリリソースを設定する必要があります。設定
できる項目は以下の通りです。
• 開始アドレス• 終了アドレス• アクセス種別
アクセス種別は、読み書き可能、読み出しのみ可能、書き込みのみ可能があります。
ユーザプログラムで、読み出しのみ可能メモリへ書き込みを行う等の不正なアクセスを行ったときはエラーとなるので、誤ったメモリアクセスを検出することができます。
EEPROM については、他のメモリと異なりアクセス種別が読み出しのみ可能な場合でも、EEPMOV
命令により書き込みできます。反対に書き込み可能でも、EEPMOV 命令以外では書き込みできません。
メモリリソース設定の詳細は、｢3.2.2 メモリマップおよびメモリリソースの設定を変更する｣を参照してください。

2.5

命令実行リセット処理

シミュレータ・デバッガでは、以下の場合に命令実行数および命令実行サイクル数をリセットします。
①
命令シミュレーション停止後再実行までにPCを変更した②
実行開始アドレスを指定したRunコマンドを実行した③
イニシャライズまたはプログラムをロードした

5

シミュレータ・デバッガの機能

2.

2.6

例外処理

シミュレータ・デバッガでは、TRAPA 命令（H8/300H、H8S、および H8SX シリーズのみ）、トレース例外（H8S、H8SX シリーズのみ）の発生を検出し、例外処理をシミュレーションします。これにより、例外発生時のシミュレーションも行うことができます。
例外処理のシミュレーションは、次の手順で行います。
(a)
(b)

(c)
(d)

(e)

2.7

命令の実行中に例外の発生を検出します。
スタック領域に PCと CCRを退避します。EXRの有効ビットが ONのときには EXRも退避します。退避処理でエラーが発生した場合は、例外処理を中止し、例外処理エラーが発生したことを表示後、シミュレータ･デバッガのコマンド待ちに戻ります。
CCRの Iビットを１にセットします。
ベクタ番号に対応するベクタアドレスから、スタートアドレスを読み出します。読み出し処理でエラーが発生した場合は、例外処理を中止し、例外処理エラーが発生したことを表
示後、シミュレータ･デバッガのコマンド待ちに戻ります。
スタートアドレスから命令実行を行います。スタートアドレスが０の場合は、例外処理を中止し、例外処理エラーが発生したことを表示後、シミュレータ・デバッガのコマンド待ち状態に戻ります。

H8S/2000CPU 特殊機能

H8S/2000シリーズ シミュレータ・デバッガでは割り込みモードをサポートします。
割り込みモードは、SYSCRのINTM1、INTM0ビットで設定します。
SYSCRは、INTM1、INTM0ビットのみサポートします。
SYSCRのアドレスの初期値はH’FF39ですが、[シミュレータシステム]ダイアログボックスの[SYSCRアドレス]で変更できます。変更したアドレスは、セッションファイルに保存します。
設定可能な割り込みモードはCPUにより異なりますが、シミュレータ・デバッガでは、モード0、
モード1、モード2をサポートします。
イベント機能により割り込みを発生する場合のコントロールレベルは下記のようになります。
・ [ブレーク種別の選択]ダイアログボックスの[動作種別]フィールドで、[割り込み]を選択し、[優先順位]に0を設定
コントロールレベルは0・ [ブレーク種別の選択]ダイアログボックスの[動作種別]フィールドで、[割り込み]を選択し、[優先順位]に0以外を設定
コントロールレベルは1

2.8
(1)

H8S/2600CPU 特殊機能
MAC 命令H8S/2600CPU では、積和演算（MAC 命令）が行えます。この命令では飽和演算、非飽和演算が選択できます。本シミュレータ･デバッガでは内蔵 I/O の SYSCR レジスタのビット７（以下 MACS ビットとする）の値により判定します。
MACS ビット
０：
非飽和演算
１：
飽和演算
6

2.

(2)

シミュレータ・デバッガの機能

EXR レジスタ

H8S/2600CPU では EXR レジスタを使用できます。また、このレジスタの有効/無効を設定することもできます。
本シミュレータ･デバッガでは内蔵 I/O の SYSCR レジスタのビット５（以下 EXR ビットとする）の値により判定します。
EXR ビット
０：EXR 無効
１：EXR 有効SYSCR アドレスは、[シミュレータシステム]ダイアログボックスの [SYSCR アドレス]で設定します。
【注】 SYSCR アドレスは内蔵 I/O に設定してください。内蔵 I/O 以外に SYSCR アドレスを設定している場合は MACS ビットを０（非飽和）、EXR ビットを０（EXR 無効）と判断しますのでご注意ください。
詳しくは、「3.2.1

2.9
(1)

シミュレータシステムの設定を変更する」を参照してください。

H8SX シリーズ CPU 特殊機能
乗算器、除算器の有効／無効切替

乗算器および除算器の有効／無効を切り替えできます。これにより、乗算器、除算器有無によるプ
ログラムパフォーマンスの違いを確認できます。乗算器および除算器の有効／無効は、[シミュレー
タシステム]ダイアログボックスの [乗算器]および[除算器]で設定します。
(2)

フェッチモード

16ビットフェッチおよび32ビットフェッチを指定できます。これにより、フェッチサイズによるプ
ログラムパフォーマンスの違いを確認できます。SYSCRレジスタのFETCHMDビットで指定してください。
(3)

エンディアン

MCUモードがアドバンストまたはマキシマムモードでアドレス空間サイズが16Mまたは256Mの場合のみENDIANCRレジスタによりエンディアンを設定できます。
メモリ上のデータ格納形式としてビッグエンディアンの他にリトルエンディアンのバイト順をサポートしています。これにより、リトルエンディアンで作成したユーザプログラムのシミュレーショ
ン、デバッグが可能になります。
(4)

割り込み制御選択モード

INTCR(割り込みコントロールレジスタ)の INTM1 ビットのみサポートします。本ビットにより割り込み制御モードを選択できます。

2.10

制御レジスタH8S/2600 シリーズおよび H8SX シリーズでは、メモリにマッピングした制御レジスタとして、
SYSCR（システムコントロールレジスタ）をサポートしています。これにより、積和演算、EXR ア
クセスを行っているユーザプログラムのシミュレーション、デバッグを行うことができます。
SYSCR アドレスは、[シミュレータシステム]ダイアログボックスの [SYSCR アドレス]で設定します。制御レジスタの変更や表示は [IO]ウィンドウをご利用ください。
詳しくは、「3.2.1 シミュレータシステムの設定を変更する」、「High-performance Embedded
7

2.

シミュレータ・デバッガの機能

Workshop V.4.03 ユーザーズマニュアル」の「17.6 I/Oレジスタを見る」を参照してください。

2.11

タイマ（H8S シリーズ、H8SX シリーズ）

2.11.1

サポート範囲H8S シリーズおよび H8SX シリーズシミュレータ・デバッガでは 16 ビットタイマパルスユニット
0 のチャネル 0 をサポートしています。
また、オーバフロー／コンペアマッチによる割り込みだけをサポートしており、インプットキャプ
チャ等の端子入出力をともなう機能はサポートしていません。

2.11.2

制御レジスタシミュレータ・デバッガではタイマの制御レジスタをサポートしています。シミュレータ・デバッ
ガでサポートしている制御レジスタを表 2-2に示します。
表中サポート状況の○はサポート、△は｢2.11.1 サポート範囲｣で説明した機能に関するビットのみサポートしています。
タイマ制御レジスタのアドレス、割り込みベクタ番号、および割り込み優先順位レジスタ位置は[周辺モジュールの構成]ダイアログボックスで参照・変更することができます。[周辺モジュールの構成]
ダイアログボックスの詳細については、｢3.3 周辺機能シミュレーションを設定する｣を参照してく
ださい。
表2-2

2.11.3シミュレータ・デバッガでサポートするタイマ制御レジスタ
タイマ名

サポートする制御レジスタ

サポート状況

TPU0

TSTR

△

TCR

△

TIER

◯

TSR

◯

TCNT

◯

TGRA

◯

TGRB

◯

TGRC

◯

TGRD

◯

クロック

シミュレータ・デバッガでは、メモリアクセスにかかわる内部クロック、周辺機能用クロック、タ
イマを動かすクロックをサポートします。
メモリマップで指定するサイクル数は内部クロックになります。内部クロックと周辺機能用クロッ
クの比は、[周辺機能シミュレーションの設定]ダイアログボックスで設定してください。
タイマを動かすクロックの分周率は、タイマ制御レジスタで指定してください。

2.11.4

タイマを使用する

タイマを使用するにはシミュレータ・デバッガ起動時に表示される[周辺機能シミュレーションの設定]ダイアログボックスでタイマモジュールを登録する必要があります。

8

2.

タイマモジュール登録の詳細については、｢3.3てください。

2.11.5シミュレータ・デバッガの機能

周辺機能シミュレーションを設定する｣を参照しタイマ使用時の注意(1) 0 クリアだけ可能なビットも、１をライト可能となっています。
(2)タイマ割込み発生時にブレークするか、しないかを選択できます。
[シミュレータシステム]ダイアログボックスまたは EXEC_STOP_SET コマンドで設定してくだ
さい。

2.12

トレース

シミュレータ・デバッガは、実行結果をトレースバッファに書き込みます。トレース情報の取得条
件は、[トレース取得]ダイアログボックスで指定します。[トレース取得]ダイアログボックスは、[トレース]ウィンドウ上で右クリックしてポップアップメニューを表示し、[設定...]を選択することによって表示できます。取得したトレース情報は、[トレース]ウィンドウに表示します。
トレース情報は検索することができます。検索条件は、[トレース検索]ダイアログボックスで設定します。[トレース検索]ダイアログボックスは、[トレース]ウィンドウ上で右クリックしてポップアッ
プメニューを表示し、[検索...]を選択することによって表示できます。
詳しくは、「3.5 トレース情報を見る」を参照してください。

2.13

標準入出力およびファイル入出力処理

シミュレータ・デバッガでは、ユーザプログラムから標準入出力およびファイル入出力を行うことができます。入出力機能を利用する場合は、必ず [I/O シミュレーション]ウィンドウをオープンしておいてください。
サポートしている入出力処理は以下の通りです。機能コードには、16 ビットアドレス版、24 ビッ
トアドレス版、32 ビットアドレス版があります。使用する CPU に合わせて選択してください。
表2-3

入出力機能一覧

番号

機能コード

機能名

内 容

1

H'01 (16 ビットアドレス)
H'11 (24 ビットアドレス)
H'21 (32 ビットアドレス)

GETC

標準入力からの１バイト入力

2

H'02 (16 ビットアドレス)
H'12 (24 ビットアドレス)
H'22 (32 ビットアドレス)

PUTC

標準出力への１バイト出力

3H'03 (16 ビットアドレス)
H'13 (24 ビットアドレス)
H'23 (32 ビットアドレス)

GETS

標準入力からの１行入力

4

H'04 (16 ビットアドレス)
H'14 (24 ビットアドレス)
H'24 (32 ビットアドレス)

PUTS

標準出力への１行出力

5H'05 (16 ビットアドレス)
H'15 (24 ビットアドレス)
H'25 (32 ビットアドレス)

FOPEN

ファイルのオープン9

シミュレータ・デバッガの機能

2.

番号

機能コード

機能名

6

H'06

FCLOSE

ファイルのクローズ

内 容

7

H'07 (16 ビットアドレス)
H'17 (24 ビットアドレス)
H'27 (32 ビットアドレス)

FGETC

ファイルからの１バイト入力

8

H'08 (16 ビットアドレス)
H'18 (24 ビットアドレス)
H'28 (32 ビットアドレス)

FPUTC

ファイルへの１バイト出力

9H'09 (16 ビットアドレス)
H'19 (24 ビットアドレス)
H'29 (32 ビットアドレス)

FGETS

ファイルからの１行入力

10

H'0A (16 ビットアドレス)
H'1A (24 ビットアドレス)
H'2A (32 ビットアドレス)

FPUTS

ファイルへの１行出力

11

H'0B

FEOF

エンドオブファイルのチェック

12

H'0C

FSEEK

ファイルポインタの移動

13

H'0D

FTELL

ファイルポインタの現在位置を得る

入出力機能の詳細は、｢3.10 標準入出力およびファイル入出力を行う｣を参照してください。

2.14

命令実行サイクル数の計算

シミュレータ･デバッガでの命令実行サイクル数計算は、H8S、H8/300 シリーズ プログラミングマ
ニュアルに記載している計算式とメモリマップのデータバス幅およびアクセスステート数を使用して行います。ただし、以下の理由によりシミュレータ･デバッガで計算した命令実行サイクル数と、実機でプログラムを実行した場合の命令実行サイクル数が異なることがあります。
(1)

MOVFPE、MOVTPE 命令

E クロック同期命令のデータ転送サイクル数は、9〜16 と幅を持った値となっています。シミュレー
タ･デバッガでは「11+オペランドアクセスサイクル数」で計算します。オペランドアクセスサイクル
数は、メモリのデータバス幅およびアクセスステート数より求めます。
(2)

EEPMOV 命令

EEPROM 書き込み専用命令のサイクル数は、命令読み出しに要するサイクル数と、データを転送するのに要するサイクル数の合計となります。
(3)

SLEEP 命令

シミュレータ･デバッガでは、SLEEP 命令がプログラム停止用命令として使用している場合を考慮
して、サイクル数を加算しません。
(4)

標準入出力およびファイル入出力処理

標準入出力およびファイル入出力処理は、シミュレータ･デバッガ固有の機能であるため、サイクル数に加算しません。なお、標準入出力およびファイル入出力処理とは、BSR、JSR 命令で I/O シミュ
レーションアドレスで指定した位置への分岐が完了してから入出力処理を行いコール元に戻るまで
です。

10

2.

2.15

シミュレータ・デバッガの機能

ブレーク条件

ユーザプログラムのシミュレーションを中断する条件として以下のものがあります。
• ブレーク系コマンドの条件成立によるブレーク• ユーザプログラムの実行時エラー検出によるブレーク• トレースバッファ満杯によるブレーク• SLEEP 命令実行によるブレーク• [停止]ボタンによるブレーク(1)

ブレーク系コマンドの条件成立によるブレーク

ブレーク条件を設定するコマンドには次の 5 種類があります。
•
•
•
•
•
•

BREAKPOINT
BREAK_ACCESSBREAK_CYCLEBREAK_DATA
BREAK_REGISTER
BREAK_SEQUENCE：命令実行位置によるブレーク：メモリ範囲のアクセスによるブレーク：実行サイクル数によるブレーク：メモリ書き込みデータ値によるブレーク：レジスタ書き込みデータ値によるブレーク：実行順序を指定したブレーク

ブレーク条件成立時の動作を[Stop]と指定した場合、そのブレーク条件が成立するとプログラムを中断します。詳しくは、「3.4 シミュレータ・デバッガのブレークポイントを使用する」を参照してください。
ユーザプログラム実行中にブレーク条件が成立しプログラムが中断した場合、ブレークポイントの命令を実行しないで停止するか、実行してから停止するかを表 2-4に示します。
表2-4

ブレーク条件成立時の処理

コマンド名

ブレーク条件成立命令
実行する

実行しない
○

BREAKPOINT
BREAK_ACCESS○BREAK_CYCLE○BREAK_DATA○

BREAK_REGISTER○

BREAK_SEQUENCE○

BREAKPOINT、BREAK_SEQUENCE の場合、実行命令の先頭位置以外にブレークポイントを設定するとブレークを検出できません。
ユーザプログラム実行中にブレーク条件が成立すると、ブレーク条件成立のメッセージをステータ
スバーに表示して、命令実行を中断します。
(2)

ユーザプログラムの実行時エラー検出によるブレーク

シミュレータ・デバッガでは、CPU の例外発生機能では検出できないプログラムの誤りを検出するためにシミュレーションエラーを設けています。これらのエラーが発生した場合に、シミュレー
ションを停止するか、続行するかを [シミュレータシステム]ダイアログボックスにより選択できます。
エラーの種類、エラーメッセージ、エラー発生要因、および続行時のシミュレータ・デバッガの動作を表 2-5に示します。
11

2.

シミュレータ・デバッガの機能

表2-5
エラーの種類/メッセージ

シミュレーションエラー一覧
エラー発生要因

続行モード時処理

アドレスエラー/Address Error

•
•
•
•

PC 値が奇数内蔵 I/O 空間からの命令フェッチ
奇数アドレスからのワードアクセス
奇数アドレスからのロングワードア
クセス

デバイスと同一動作をする

メモリアクセスエラー/
Memory Access Error(Address:H’nnnnnn)•

確保していないメモリ領域をアクセスしようとした
書き込み不可属性を持つメモリへ書き込みを行おうとした
読み出し不可属性を持つメモリから読み出しを行おうとした
メモリが存在しない領域をアクセスしようとしたEEPMOV 命令以外の命令でのEEPROM 書き込み

メモリへの書き込み時、何も書き込まないメモリ読み出し時、全ビット"
１"を読み出す

•
•
•
•
•

不当命令/
Illegal Instruction•

命令ではないコードの実行

そのまま実行するが結果は保証しない

DAA 命令、DAS 命令で CCR の C フ
ラグ、H フラグと補正前の値の関係不正•
DIVXU 命令、DIVXS 命令のゼロ除算
またはオーバフロー

そのまま実行するが結果は保証しない•

命令実行不正/Illegal Operation

常に停止する

MOV.B Rn,@-SP または MOV.B@SP+,Rn の実行

停止モードの場合、シミュレーションエラーが発生するとシミュレータ・デバッガは、命令実行を中止してエラーメッセージを表示後、コマンド待ち状態に戻ります。シミュレーションエラー停止後の PC の状態を表 2-6に示します。なお、シミュレーションエラー停止後 CCR の内容は変化しません。
表2-6
エラーの種類

シミュレーションエラー停止時のレジスタ
PC の内容アドレスエラー、
メモリアクセスエラー

命令読込時：
エラーが発生した命令の先頭アドレス
命令実行時：
エラーが発生した命令の次命令のアドレス

不当命令

エラーが発生した命令の先頭アドレス

命令実行不正エラーが発生した命令の次命令のアドレス

シミュレーションエラーが発生する命令を組み込んだプログラムのデバッグは、次の手順で行って
ください。
(a)
最初は停止モードで実行させて、意図している箇所以外にエラーがないかどうかを確認して
ください。
(b)
確認が完了したら、続行モードで実行してください。
【注】 停止モードでエラーが発生して停止した状態から、モードを続行モードに変更してシミュ12

2.

シミュレータ・デバッガの機能

レーションを再開すると、正しくシミュレーションできない場合があります。シミュレー
ションを再開する場合は、レジスタ内容、メモリの内容をエラー発生前の状態に戻してから再実行するようにしてください。
(3)

トレースバッファ満杯によるブレーク[トレース取得]ダイアログボックスの [トレースバッファ満杯時の動作]で [停止]モードを指定し、命令実行中にトレースバッファが満杯になると、シミュレータ・デバッガは、実行を中断します。中
断時には以下のメッセージを[アウトプット]ウィンドウに表示します。
Trace Buffer Full
(4)

SLEEP 命令実行によるブレーク

命令実行時に、SLEEP 命令を実行すると、シミュレータ・デバッガは実行を中断します。中断時には、以下のメッセージを[アウトプット]ウィンドウに表示します。
Sleep【注】 実行を再開する場合は、PC の値を再開位置の命令アドレスに変更してください。
(5)[停止]ボタンによるブレーク

命令実行中にユーザにより強制的に実行を中断することができます。中断時には以下のメッセージをステータスバーに表示します。
Stop
Go、Step コマンドにより実行を再開できます。

2.16

浮動小数点データ

実数データとして浮動小数点数を指定することができます。これにより、データ値等で浮動小数点を扱う場合の操作が容易になります。浮動小数点を指定できる項目は次の通りです。
・[ブレーク種別の選択]ダイアログボックスにおいて、ブレーク種別を [ブレークデータ] や [ブレークレジスタ]と指定したときのデータ
・[メモリ]ウィンドウにおけるデータ
・[メモリフィル]ダイアログボックスにおけるデータ
・[メモリ検索]ダイアログボックスにおけるデータ・レジスタ値編集ダイアログボックスでの入力値

浮動小数点データフォーマットは、ANSI C の浮動小数点フォーマットに準拠しています。
シミュレータ・デバッガでは、浮動小数点数の 10 進->2 進変換で発生する丸めのモードに RN（最近値丸め）を使用します。
なお、10 進->2 進変換および 2 進->10 進変換で非正規化数を指定した場合、非正規化数のまま処理します。また、10 進->2 進変換時にオーバフローが発生した場合、無限大を設定します。

13

シミュレータ・デバッガの機能

2.

2.17

関数呼び出し履歴の表示

シミュレーションの中断時に、関数の呼び出し履歴を [スタックトレース]ウィンドウに表示します。これにより、プログラムの動作の流れを確認することができます。また、[スタックトレース]ウィ
ンドウ上で関数名を選択することにより、該当するソースプログラムを [エディタ]ウィンドウ上に表示します。これにより、中断している関数の他に、その関数を呼び出した元の関数をチェックすることができます。
関数呼び出し履歴を更新するのは、以下のような場合です。
•••「2.15 ブレーク条件」に示す条件によりシミュレーションが中断した時
上記中断した状態で、レジスタの値を変更した時
シミュレーションをステップ実行している時

詳しくは、「High-performance Embedded Workshop V.4.03 ユーザーズマニュアル」の「17.15
呼び出し履歴を見る」を参照してください。

2.18

関数

パフォーマンス測定

シミュレータ・デバッガはユーザプログラムのパフォーマンスを測定するためにプロファイラ機能およびパフォーマンス解析機能を提供します。

2.18.1

プロファイラプロファイラは、ユーザプログラムの全体について関数とグローバル変数のアドレス、サイズ、関数の呼び出し回数、およびプロファイルデータを表示します。プロファイルデータは CPU により異なります。
プロファイル情報はリスト形式、ツリー形式、チャート形式で表示します。
プロファイル情報を用いることにより、サイズが小さく、呼び出し回数が多い関数をインライン関数にするなどの最適化を検討することが出来ます。
また、ファイルに出力したプロファイル情報を用いて、最適化リンケージエディタで動的情報に基づいた最適化を実行することができます。
詳しくは、「3.6 プロファイル情報を見る」および「最適化リンケージエディタマニュアル 4.2.4
最適化オプション PROfile」を参照してください。

2.18.2

パフォーマンス解析

パフォーマンス解析はユーザプログラム内の指定関数について実行サイクル数、呼び出し回数を表示します。指定関数のみについてパフォーマンスデータを取得するため、プロファイラよりも高速なシミュレーションが可能です。詳しくは、「3.7 パフォーマンスを解析する」を参照してください。

2.19

擬似割込み

シミュレータ・デバッガでは、シミュレーション中に擬似割込みを発生させることができます。擬似割込みを発生させるには、以下の 2 通りの方法があります。
(1)

ブレーク条件成立時の動作による擬似割込み発生

ブレーク系コマンドで、ブレーク条件成立時の動作に[Interrupt]を指定することにより、擬似割込
14

2.

シミュレータ・デバッガの機能みを発生させることができます。
詳しくは、「3.4 シミュレータ・デバッガのブレークポイントを使用する」を参照してください。
(2)

ウィンドウによる擬似割込み発生[トリガ]ウィンドウ、または[GUI I/O]ウィンドウのボタンをクリックすることにより、擬似割込みを発生させることができます。
詳しくは、「3.9 手動で擬似割込みを発生させる」を参照してください。
なお、擬似割込みが発生してからその割込みを受け付けるまでの間に、次の擬似割込みが発生した
場合は、優先順位の高い割込みだけを受付けます。
(3)

擬似割込み発生によるブレーク

擬似割込み発生時にブレークするか、しないかを選択できます。
[シミュレータシステム]ダイアログボックスまたはEXEC_STOP_SETコマンドで設定してください。
【注】 擬似割込みでは、割込みを受け付けるかどうかの判定には、ベクタ番号ではなく割込み情報の[優先順位]を使用します。優先順位に H'8 以上を指定した場合は、常に割込みを受け付けます。また、割込みコントローラはシミュレーションしていません。

2.20

カバレジ

シミュレータ・デバッガでは、ユーザが指定した測定範囲について命令実行中に命令カバレジ情報を収集できます。
測定範囲は直接アドレスを指定して設定するほかに、ソースファイル名を指定してそのファイルに含まれる全関数を設定することができます。
命令カバレジ情報を利用することで各命令の実行状態を観察できます。さらにプログラムのどの部分が未実行であるかを容易に特定できます。
収集した命令カバレジ情報は[カバレジ]ウィンドウに表示します。
命令カバレジ情報は命令実行済のソース行に対応するカラムを [エディタ]ウィンドウ上に強調表示します。
また、測定対象のアドレス範囲または関数について、カバレジ統計情報をパーセント形式で表示します。これによりプログラムがどのくらい実行されているかを定量的に把握できます。
命令カバレジ情報はファイルへの保存およびファイルからのロードが行えます。ロードできるのは”.COV”ファイル形式のみです。
詳しくは、｢3.8 コードカバレジを測定する｣を参照してください。

15

2.

16

シミュレータ・デバッガの機能

3.

デバッグ

この章では、シミュレータ・デバッガ特有の操作と関連するウィンドウおよびダイアログボックスについて説明します。
HEWで共通な下記機能については、HEWのヘルプを参照ください。
・デバッグの準備
・プログラムを表示する
・メモリ内容を参照／設定する・メモリ内容を波形形式で表示する・メモリ内容を画像形式で表示する
・任意のアドレスのメモリ内容を参照／設定する
・I/Oレジスタを参照／設定する・レジスタを参照／設定する・プログラムを実行／停止、リセットする
・現在の状態の参照
・複数デバッギングプロットフォームの同期
・コマンドラインインタフェースのデバッグ
・Elf／Dwarf2のサポート
・ラベルを参照／設定する

3.1

ワークスペースの作成

シミュレータ・デバッガを使用するためには、まずHEWでワークスペースを作成する必要があります。ここでは、シミュレータ・デバッガ特有の説明のみをします。ワークスペース作成の詳細は、HEWのマニュアルを参照ください。

3.1.1

ターゲットの選択

HEWを起動し、新規プロジェクトワークスペースの作成を行う場合、下記ダイアログボックスを表示します。
ここで、シミュレータ・デバッガのターゲットを選択してください。

17

3.

デバッグ

図 3-1

[ターゲット][ターゲットタイプ]【注】18

デバッガターゲット設定画面 (7/9)

デバッガターゲットを設定します。デバッガターゲットを選択(チェック)してください。デバッガターゲットは未選択でも複数選択してもかまいません。
[ターゲット]に表示するターゲットの種類を指定します。

2/9 で選択した[オペレーティングモード] と違う動作モードのデバッガターゲットを選択した場合、デバッグが出来ない場合があります。

3.

3.1.2

デバッグ

シミュレータ用ワークスペースの設定

新規プロジェクト-8/9では、シミュレータ用ワークスペースの設定を行うことができます。

図 3-2 デバッガオプション設定画面 (8/9)[コンフィギュレーション名][詳細オプション]

HEWはデフォルトで[Release]と[Debug]の二つのコンフィグレーションを作成しますが、デバッガターゲットを選択すると選択したターゲット
用のコンフィグレーションも作成します(ターゲット名を含んだ略称となります)。このコンフィグレーション名は[コンフィギュレーション名]
で変更できます。
デバッガターゲットのオプションを設定します。変更する場合は、[Item]
を選択して[変更]をクリックしてください。なお、変更できない項目の場合、[Item]を選択しても[変更]はグレーのままです。
[Simlator I/O]
ユーザプログラムから標準入出力またはファイル入出力を行うI/Oシミュレーションは有効([Enable])または無効([Disable])[Simulator I/O
上記I/Oシミュレーション開始アドレス
addr.][Bus mode]
現状未使用

19

3.

デバッグ

3.2

シミュレータ・デバッガの設定を変更する

本節ではシミュレータ・デバッガ起動後にシミュレータシステム、メモリマップ、およびメモリリ
ソースを変更する方法について説明します。

3.2.1

シミュレータシステムの設定を変更する

I/O シミュレーションの開始位置、実行モード等の設定変更は、[シミュレータシステム]ダイアロ
グボックスの[システム]タブで行います。
[シミュレータシステム]ダイアログボックス[システム]タブを開くには、[基本設定->シミュレータ->システム…]を選択するか、[シミュレータシステム]ツールバーボタン
をクリックします。

図 3-3

20

シミュレータシステムダイアログボックス(システムタブ)

3.

デバッグ

本ダイアログボックスでは下記項目を設定または表示します。
[CPU][データエリアビット
サイズ][プログラムエリア
ビットサイズ]

現在設定している CPU。
（CPU は、[デバッグの設定]ダイアログボックスにより設定します。）
アドレス空間のビット数を指定します。各 CPU で指定できる値は以下の通りです。
H8/300、H8/300L、H8/300HN、H8S/2600N、H8S/2000N： 16
H8/300HA：
17〜24
H8S/2600A、H8S/2000A：
17〜32
プログラム領域のビット数を指定します。各 CPU で指定できる値は以下の通りです。
H8/300、H8/300L、H8/300HN、H8S/2600N、H8S/2000N： 16
アドレス空間ビット数
H8/300HA：と同一[SYSCR アドレス][I/O シミュレーション
アドレス][レスポンス][実行モード]H8S/2600A、H8S/2000A：
17〜24
SYSCR レジスタのアドレスを指定します。
ユーザプログラムから標準入出力またはファイル入出力を行うための I/O シミュレー
ションの開始位置を指定します。
[有効]
チェックすると I/O シミュレーションが有効となります。
何命令ごとにウィンドウをリフレッシュするかを指定します。
(1~D’2,147,483,647、デフォルトは D’40000)
シミュレーションエラーが発生した場合のシミュレータ・デバッガ動作を規定します。
割り込みはシミュレーションエラーに含み、本設定に従います。
また、[詳細]ボタンで、割り込み発生時の動作を規定することもできます。
[停止]
シミュレーションを停止します。
[続行]
シミュレーションを続行します。

変更内容は、[OK]ボタンまたは[適用]ボタンをクリックすることにより設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。

21

デバッグ

3.

3.2.2

メモリマップおよびメモリリソースの設定を変更する

メモリマップの設定および変更とメモリリソースの設定および変更は、[シミュレータシステム]ダ
イアログボックスの[メモリ]タブで行います。

図 3-4

シミュレータシステムダイアログボックス(メモリタブ)

本ダイアログボックスでは以下の項目を設定します。
[メモリマップ][メモリリソース]

メモリ情報として、メモリ種別とその先頭アドレス・終了アドレス、データ
バス幅、アクセスステート数を表示します。
現在設定しているメモリリソースのアクセス種別とその先頭アドレス・終了
アドレスを表示します。

[メモリリソース]は次の各ボタンにより追加・変更・削除することができます。
[メモリリソース]の項目を追加します。クリックすることにより、[メモリリソース設定]ダイア
ログボックスが開き、追加することができます。
[メモリリソース]の項目を変更します。変更したい項目をリストボックス上で選択後、ボタンをクリックします。クリックすることにより、[メモリリソース設定]ダイアログボックスが開き、変更することができます。
[メモリリソース]の項目を削除します。削除したい項目をリストボックス上で選択後、ボタンをクリックします。

[メモリリソース]は、[H8S,H8/300 Standard Toolchain]ダイアログボックスの[デバッガ]シートの[メモリリソース]と同一の設定情報です。おたがいの変更が反映されます。

22

3.

デバッグ

[メモリマップ]は、以下の各ボタンにより追加・変更・削除ができます。
[メモリマップ]の項目を追加します。クリックすると、[メモリマップ設定]ダイアログボックス(図 3-5 参照)が開き、追加することができます。
[メモリマップ]の項目を変更します。変更したい項目をリストボックス上で選択後、ボタンをク
リックします。クリックすると、[メモリマップ設定]ダイアログボックス(図 3-5 参照)が開き、変更することができます。
[メモリマップ]の項目を削除します。削除したい項目をリストボックス上で選択後、ボタンをク
リックします。

なお、[メモリマップ]・[メモリリソース]は、 ボタンによりデフォルト値にリセットすることができます。
変更内容は、[OK]ボタンまたは[適用]ボタンをクリックすることにより設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。
最適化リンケージエディタが出力するリンケージリストファイル(.map)がある場合、メモリマップ
およびリンケージマップ情報に基づきメモリリソースを自動的に確保することができます。
詳しくは｢High-performance Embedded Workshop V.4.03 ユーザーズマニュアル｣の｢13.1.9 メモリリ
ソースを自動的に確保する｣を参照してください。

3.2.3

メモリマップ設定ダイアログボックス[メモリマップ設定]ダイアログボックスでは、対象 CPU のメモリマップを設定します。
各項目に表示する内容は、対象 CPU によって異なります。シミュレータ・デバッガはこれらの値をメモリアクセスサイクル数の算出に使用します。

図 3-5

メモリマップ設定ダイアログボックス

23

デバッグ

3.

本ダイアログボックスでは以下の項目を設定します。
[メモリ種別][開始アドレス][終了アドレス][データバスサイズ][リードステート数][ライトステート数]

メモリ種別
[ROM]
内蔵 ROM[RAM]
内蔵 RAM
[EXT]
外部メモリ
[IO]
内蔵 I/O[EEPROM] EEPROM
メモリ種別に対応するメモリの先頭アドレス
メモリ種別に対応するメモリの終了アドレス
メモリのデータバス幅
メモリのリードアクセスステート数
メモリのライトアクセスステート数

変更内容は、[OK]ボタンをクリックすることにより設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。
【注】 メモリリソースを確保している領域のメモリマップは、削除・変更することができません。
あらかじめ、[シミュレータシステム]ダイアログボックスの[メモリ]タブによりメモリリソー
スを削除してから、メモリマップを削除・変更してください。

3.2.4

メモリリソース設定ダイアログボックス[メモリリソース設定]ダイアログボックスでは、メモリリソースの設定・変更を行います。

図 3-6

メモリリソース設定ダイアログボックス

本ダイアログボックスでは以下の項目を設定します。
[開始アドレス][終了アドレス][アクセス種別]確保するメモリ領域の先頭アドレス
確保するメモリ領域の終了アドレス
アクセス種別[Read]
読み出しのみ可能[Write]
書き込みのみ可能[Read/Write]
読み書き可能各項目を指定後、[OK]ボタンをクリックすることによりメモリリソースの設定・変更を行います。
[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。
24

3.

デバッグ

【注】メモリリソースを設定すると、PC のメモリを使用します。したがって、メモリリソースを大きく取りすぎると、PC の動作が極端に遅くなる場合があります。

3.3

周辺機能シミュレーションを設定する

シミュレータ・デバッガは周辺機能シミュレーションを DLL 形式のモジュールで実現しています。
ここでは周辺機能シミュレーションを有効にするための周辺機能シミュレーションモジュールの登録方法および周辺機能シミュレーション構成の設定方法を説明します。

3.3.1

周辺機能シミュレーションモジュールを登録する

周辺機能シミュレーションモジュールの登録は[周辺機能シミュレーションの設定]ダイアログ
ボックスで行います。[周辺機能シミュレーションの設定]ダイアログボックスはシミュレータ・デバッ
ガ起動時に表示されます。
本ダイアログボックスで周辺機能シミュレーションモジュールを登録すると、当該周辺機能シミュ
レーションモジュールが提供する周辺機能シミュレーションを利用可能となります。シミュレータ・
デバッガ起動後は、周辺機能シミュレーションモジュール登録内容を変更することはできません。利
用する周辺機能シミュレーションモジュールを変更する場合はシミュレータ・デバッガを再起動し、本ダイアログボックスを表示させてください。

図 3-7

周辺機能シミュレーションの設定ダイアログボックス

25

デバッグ

3.

本ダイアログボックスでは以下の項目を設定します。
[周辺機能]
周辺機能シミュレーションモジュールの情報を表示します。

[すべて登録][すべて解除][詳細…][周辺クロックレート][Module Name]

シミュレーションする周辺機能名[File Name]

周辺機能シミュレーションモジュールファイル名[Module name]欄のチェックボックスをチェックした周辺機能シミュレーショ
ンモジュールが登録されて、利用可能となります。
すべての周辺機能シミュレーションモジュールを有効にします。
すべての周辺機能シミュレーションモジュールを無効にします。
周辺機能情報の表示、周辺機能の開始アドレス、および割り込み要因情報の変更を行うための[周辺モジュールの構成]ダイアログボックスを表示します。
周辺クロックと内部クロックの比(周辺1クロックが内部クロックいくつに相当するか)を指定します。
(1,2,3,4,6,8,12,16,24,32から選択)

各項目を指定後、[OK]ボタンをクリックすることにより周辺機能シミュレーションの設定、変更を行います。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。
[このダイアログを表示しない]チェックボタンをチェックすると、次回以降シミュレータ・デバッ
ガ起動時に本ダイアログボックスを表示しなくなります。

3.3.2

周辺機能のアドレスを変更する

周辺機能のアドレス変更は[周辺モジュールの構成]ダイアログボックス[アドレス]タブで行います。
[周辺モジュールの構成]ダイアログボックスを開くには、[周辺機能シミュレーションの設定]ダイ
アログボックスの[周辺機能]欄で周辺機能を選択して、[詳細...]ボタンをクリックします。

図 3-8 周辺モジュールの構成ダイアログボックス (アドレスタブ)
26

3.

デバッグ

本ダイアログボックスでは以下の項目を表示、設定します。
[モジュール]
選択した周辺機能シミュレーションモジュールでサポートしている周辺機能
名[開始アドレス][モジュール]で選択した周辺機能の開始アドレス[レジスタアドレス][モジュール]で指定した周辺機能のレジスタ名、レジスタアドレスを表示します。個々のレジスタアドレスは変更できません。
各項目を指定後、[OK]ボタンをクリックすることにより周辺機能のアドレスを設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。

3.3.3

周辺機能の割り込み要因情報を変更する

周辺機能の割り込み要因情報は[周辺モジュールの構成]ダイアログボックス[割り込み]タブで参照できます。
[周辺モジュールの構成]ダイアログボックスを開くには、[周辺機能シミュレーションの設定]ダイ
アログボックスの[周辺機能]欄で周辺機能を選択して、[詳細...]ボタンをクリックします。

図 3-9 周辺モジュールの構成ダイアログボックス (割り込みタブ)
本ダイアログボックスでは以下の項目を表示します。
割り込み要因情報
Interrupt Source
周辺機能でサポートしている割り込み要因名
Vector Number
割り込みベクタ番号
Priority Register Address/
割り込み優先順位レジスタアドレスとレジスタ
Bit Field Position
内のビット位置
割り込み要因情報を変更する場合は、変更したい割り込み要因をダブルクリックします。[割り込み要因情報の設定]ダイアログボックスが表示されます。

27

3.

デバッグ

図 3-10 割り込み要因情報の設定ダイアログボックス
本ダイアログボックスでは以下の項目を表示、設定します。
割り込み要因割り込み要因名
割り込みベクタ番号 割り込みベクタ番号(接頭辞省略時は 10 進入力、10 進表示)
優先順位レジスタアドレス
割り込み優先順位レジスタのアドレス
優先順位レジスタサイズ
割り込み優先順位レジスタのサイズ
優先順位レジスタビット位置
割り込み優先順位レジスタ内ビット位置
各項目を指定後、[OK]ボタンをクリックすることにより割り込み要因情報を設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。

3.3.4

割り込み優先順位レジスタのメモリリソースを確保する

周辺機能シミュレーションモジュールは割り込み順位レジスタ(IPR)メモリ領域を確保しません。
割り込み順位レジスタ(IPR)領域は、ユーザ操作でメモリリソースを確保してください。メモリリソー
ス設定の詳細は、｢3.2.2 メモリマップおよびメモリリソースの設定を変更する｣を参照してください。

3.3.5

接続されている周辺機能を確認する

シミュレータ・デバッガ起動後は、 [ステイタス]ウィンドウの[Platform]シートの[Peripheral
Modules]項目に接続されている周辺機能名を表示します。

3.4

シミュレータ・デバッガのブレークポイントを使用する

シミュレータ・デバッガでは HEW 標準の PC ブレークポイントとは別により高度なブレークポイ
ント機能を持っています。
これらブレークポイントについて、ブレーク条件の設定、ブレーク条件成立時の動作、および設定されているブレークポイントの表示が行えます。

28

3.

3.4.1

デバッグ

ブレークポイントを一覧表示する

現在設定されているブレークポイントを一覧表示するには[イベントポイント]ウィンドウを開きます。
[イベントポイント]ウィンドウは[表示->コード->イベントポイント]を選択するか、[イベントポイ
ント]ツールバーボタン をクリックします。

図 3-11

イベントポイントウィンドウ

29

3.

デバッグ

表示する項目は以下の通りです。
[Type][State][Condition][Action]

ブレーク種別を表示します。
[BP]：PC ブレーク[BA]：ブレークアクセス[BD]：ブレークデータ[BR]：ブレークレジスタ[BS]：ブレークシーケンス[BCY] ：ブレークサイクル
該当ブレークポイントの有効/無効を示します。
[Enable]：有効[Disable]：無効
Break が成立する条件を表示します。表示内容はブレーク種別により異なります。
ブレーク種別が BR の時はレジスタ名を、BCY の時はサイクル数を表示します。
BP 時：PC=プログラムカウンタ（対応するファイル名／行、シンボル名）
BA 時：Address=アドレス（シンボル名）
BD 時：Address=アドレス（シンボル名）
BR 時：Register=レジスタ名
BS 時：PC=プログラムカウンタ（対応するファイル名／行、シンボル名）
BCY 時：Cycle=サイクル数（16 進表示）
ブレーク条件成立時の動作を表示します。
[Stop]：実行停止[File Input]（ファイル名）［ファイルの状態］ ：ファイルからのメモリデータ読みこみ[File Output]（ファイル名）［ファイルの状態］ ：ファイルへメモリデータ書きこみ[Interrupt]（割込み種別／優先順位）：割込み処理[Action]の設定で、[Stop]を指定した条件を[Software Break]タブに、[Stop]以外を指定した条件を[Software Event]タブに表示します。

30

3.

3.4.2

デバッグ

ブレークポイントを設定する[イベントポイント]ウィンドウのポップアップメニューで[設定…]を選択すると、[ブレーク種別の選択]ダイアログボックスが開きブレークポイントを設定できます。
[ブレーク種別の選択]ダイアログボックスからブレーク条件を設定する[条件の設定]ダイアログ
ボックスとブレーク成立時の動作を設定する[動作の設定]ダイアログボックスが開きます。[動作種別]として、[停止]を指定する場合は[Software Break]タブで、[停止]以外を指定する場合は[Software
Event]タブでポップアップメニューを選択します。
(1)

ブレーク種別を選択する[イベントポイント]ウィンドウのポップアップメニューで[設定]を選択すると、[ブレーク種別の選択]ダイアログボックスが開きます。
ブレーク種別は[ブレーク種別の選択]ダイアログボックスの[ブレーク種別]フィールドで選択します。

図 3-12 ブレーク種別の選択ダイアログボックス
選択内容を以下に示します。
ブレーク種別内容[PCブレークポイント]
実行命令位置によるブレークポイント[ブレークアクセス]
メモリ範囲のアクセスによるブレーク[ブレークデータ]メモリのデータ値によるブレーク[ブレークレジスタ]
レジスタのデータ値によるブレーク[ブレークシーケンス]
実行順序を指定したブレークポイント[ブレークサイクル]
サイクル数によるブレーク(2)

ブレーク条件を設定する[ブレーク種別の選択]ダイアログボックスでブレーク種別を選択後[詳細]をクリックすると、各ブ
レーク種別の条件を設定するダイアログボックスを表示します。
(a)

PC ブレークポイント

図 3-13 PC ブレークポイント条件の設定ダイアログボックス

31

3.

デバッグ

PCブレークポイント条件を設定します。
[PCブレークポイント]
1,024個まで指定可能[アドレス]
ブレークする命令の位置[回数]
指定位置の命令をフェッチする回数(接頭辞省略時は10進入力、10進表示)(1~16,383、省略すると1となります)(b)

ブレークアクセス

図 3-14 ブレークアクセス条件の設定ダイアログボックス
ブレークアクセス条件を設定します。
[ブレークアクセス]
1,024 個まで指定可能[開始アドレス]
アクセスするとブレークするメモリの開始位置[終了アドレス]
アクセスするとブレークするメモリの終了位置(省略すると開始位置のみが範囲となります)[アクセス種別]
アクセス種別(c)

ブレークレジスタ

図 3-15 ブレークレジスタ条件の設定ダイアログボックス
ブレークレジスタ条件を設定します。
[ブレークレジスタ]
1,024 個まで指定可能[レジスタ]
ブレーク条件を設定するレジスタ名[オプション]
データの一致/不一致[データ]
ブレーク条件となるデータ値(省略するとレジスタへ書き込むたびにブレークします)[データマスク]
マスク条件(0 を指定したビットがマスクされます)[サイズ]
データのサイズ
32

3.

(d)

デバッグ

ブレークシーケンス

図 3-16 ブレークシーケンス条件の設定ダイアログボックス
ブレークシーケンス条件を設定します。
[ブレークシーケンス]
1 組のみ指定可能[アドレス(1)]~[アドレス(8)]ブレークの発生条件となる通過アドレス(8 ポイントすべてを設定する必要はありませ
ん)

33

3.

デバッグ

(e)

ブレークサイクル

図 3-17 ブレークサイクル条件の設定ダイアログボックス
ブレークサイクル条件を設定します。
[ブレークサイクル]
1,024 個まで指定可能[サイクル]
ブレーク判定を行なうサイクル数(1~H’FFFFFFFF)[サイクル]×n のサイクルで条件が一致します
ただし、指定したサイクルと実際に条件が一致するサイクルはずれることがあります
[回数]

34

ブレークが成立する回数[すべて]条件が一致するごとにブレークが成立します[回数指定]
条件が一致した回数が[回数指定]以下の時だけブレークが成立します(接頭辞省略時は 16 進入力、16 進表示)(1~65,535)

3.

(f)

デバッグ

ブレークデータ

図 3-18 ブレークデータ条件の設定ダイアログボックス
ブレークデータ条件を設定します。
[ブレークデータ]
1,024 個まで指定可能[アドレス]
ブレーク判定を行うメモリの位置
判定方法[オプション]
一致
メモリのデータと指定値([データ])が一致で成立
不一致
メモリのデータと指定値([データ])が不一致で
成立
*1
符号反転
前回メモリ書き込み値と今回メモリ書き込み値
で符号が反転した場合に成立*1
前回メモリ書き込み値と今回メモリ書き込み値差分の差分が指定値([データ])を超えた場合に成立[データ]
ブレーク条件となるデータ値[データマスク]
マスク条件(0 を指定したビットがマスクされます)
データの一致/不一致オプション時のみ有効です[サイズ]
データのサイズ[符号]
データの符号
データの差分オプション時のみ有効です*1： [符号反転]、および[差分]は前回書き込み値と比較するため、リセット後、およびブレーク成立
後 1 回目の判定は常に不成立となります。

35

3.

(3)

デバッグ

動作種別を選択する

各ブレーク条件設定ダイアログボックスで条件設定後[OK]をクリックすると、再度[ブレーク種別の選択]ダイアログボックスが開きます。
[ブレーク種別の選択]ダイアログボックスの[動作種別]フィールドで動作種別を選択します。

図 3-19 ブレーク種別の選択ダイアログボックス
選択内容を以下に示します。
動作種別
内容
[停止]
条件成立時にユーザプログラムの実行を停止します[ファイル入力]
条件成立時に指定ファイルから読み込んだデータを指定メモリへ書き込みます[ファイル出力]
条件成立時に指定メモリの内容を指定ファイルへ書き込みます[割り込み]
条件成立時に割り込み処理を行います

36

3.

(4)

デバッグ

動作内容を設定する[ブレーク種別の選択]ダイアログボックスで動作種別を選択後[詳細]をクリックすると、[停止]を除く各動作種別の内容を設定するダイアログボックスを表示します。
(a)

ファイル入力図 3-20 ファイル入力動作の設定ダイアログボックス
ファイル入力動作内容を設定します。
[ファイル入力]
条件成立時に指定ファイルから読み込んだデータを指定メモリへ書き込みます[入力ファイル]
読み込むデータファイルを指定します
ファイルの終端まで読み込んだら先頭から繰り返して読み込
みます[アドレス]
データを書き込むメモリのアドレスを指定します[データサイズ]
読み込むデータ 1 個のサイズ(バイト数)を指定します(1/2/4/8)[データ数]
読み込むデータの個数を指定します(接頭辞省略時は 10 進入力、10 進表示)(1~H’FFFFFFFF)(b)

ファイル出力図 3-21 ファイル出力動作の設定ダイアログボックス
ファイル出力動作内容を設定します。
37

3.

デバッグ

[ファイル出力](c)

条件成立時に指定メモリの内容を指定ファイルへ書き込みます[出力ファイル]
書き込むデータファイルを指定します[追記]
既存のファイルを[出力ファイル]で指定した場合にファイルの最後に追加出力するかを指定します[アドレス]
データを読み出すメモリのアドレスを指定します[データサイズ]
書き込むデータ 1 個のサイズ(バイト数)を指定します(1/2/4/8)[データ数]
書き込むデータの個数を指定します(接頭辞省略時は 10 進入力、10 進表示)(1~H’FFFFFFFF)

割り込み

図 3-22 割り込み動作の設定ダイアログボックス
割り込み動作内容を設定します。
[割り込み]
条件成立時に割り込み処理を行います。詳細は｢2.19 擬似割込み｣を参照してください。
[割り込み種別 1]
割り込みベクタ番号を指定します。(接頭辞省略時は 16 進入力、16進表示)[優先順位]
割り込み優先順位を指定します。(接頭辞省略時は 16 進入力、16進表示)(0~H’11)
割り込みを受け付けるかどうかの判定は、選択されたデバッグプ
ラットフォームの CPU 仕様に従います。ただし、優先順位に H’8以上を指定した場合は、常に割り込みを受け付けます。
(d)

留意事項

複数の[ファイル入力]で同一ファイルを指定した場合、ブレーク成立順にファイルからデータを読み込みます。複数の[ファイル出力]で同一ファイルを指定した場合、ブレーク成立順にファイルへデー
タを書き込みます。ただし、[ファイル入力]と[ファイル出力]で同一ファイルを指定した場合は、最初に成立した動作のみが有効となります。

3.4.3

ブレークポイントの設定内容を変更する

変更したいブレークポイントを選択後ポップアップメニューから[編集…]を選択すると、[ブレーク
種別の選択]ダイアログボックスが開き、ブレーク条件を変更することができます。[編集…]メニュー
はブレークポイントを 1 個選択しているときのみ有効となります。

3.4.4

ブレークポイントを有効にする

ブレークポイントを選択後ポップアップメニューから[有効]を選択すると、選択しているブレーク
ポイントを有効にします。

38

3.

3.4.5

デバッグ

ブレークポイントを無効にする

ブレークポイントを選択後ポップアップメニューから[無効]を選択すると、選択しているブレーク
ポイントを無効にします。無効にした場合は、ブレークポイントはリストには残りますが、指定した条件が一致してもブレークは成立しません。

3.4.6

ブレークポイントを削除する

ブレークポイントを選択後ポップアップメニューから[削除]を選択すると、選択しているブレーク
ポイントを削除します。ブレークポイントを削除しないで、詳細情報は保持したまま、条件が一致してもブレークを成立させないようにするには、[無効]オプションを使用します(｢3.4.5 ブレークポイン
トを無効にする｣参照)。

3.4.7

ブレークポイントをすべて削除する

ポップアップメニューから[すべて削除]を選択すると、すべてのブレークポイントを削除します。

3.4.8

ブレークポイントのソース行を表示する

ブレークポイントを選択後ポップアップメニューから[ソースファイル表示]を選択すると、ブレー
クポイントのある[ソース]または[逆アセンブリ]ウィンドウをオープンします。[ソースファイル表示]
メニューはブレークポイントを 1 個選択しているときのみ有効となります。

3.4.9

入出力ファイルを閉じる

ブレークポイントを選択後ポップアップメニューから[ファイルを閉じる]を選択すると、選択した[ファイル入力] または[ファイル出力]のデータファイルを閉じ、ファイル読み出し位置をリセットします。

3.4.10

入出力ファイルをすべて閉じる

ポップアップメニューから[すべてのファイルを閉じる]を選択すると、すべての[ファイル入力] および[ファイル出力]のデータファイルを閉じ、ファイル読み出し位置をリセットします。

3.5

トレース情報を見る

シミュレータ・デバッガでは命令の実行結果をトレース情報として取得および表示することができます。
トレース情報は、[トレース]ウィンドウに表示します。トレース情報の取得条件は、[トレース取得]
ダイアログボックスで設定します。

3.5.1

トレースウィンドウを開く[トレース]ウィンドウを開くには、[表示->コード->トレース]を選択するか、[トレース]ツールバー
ボタン をクリックします。

3.5.2

トレース情報取得条件を設定する[トレース]ウィンドウを開いたら、トレース情報取得条件を設定します。
39

デバッグ

3.

トレース情報取得条件は、[トレース取得]ダイアログボックスで設定します。
[トレース取得]ダイアログボックスを開くには、ポップアップメニューから[設定...]を選択します。

図 3-23

トレース取得ダイアログボックス

本ダイアログボックスでは、トレース情報の取得条件を設定します。
[トレース開始/停止]
[無効]
[有効]

トレース情報の取得停止
トレース情報の取得開始[命令種別][全命令][サブルーチン
命令]

全命令のトレース情報を取得
サブルーチン命令のみトレース情報を取得[トレースバッファ満杯時の動作]
[続行]
[停止]

トレース情報取得バッファが満杯になっても取得を続行
トレース情報取得バッファが満杯になった場合、実行停止

また、トレースバッファの大きさは、[トレース容量]により 1K(1,024)、4K(4,096)、16K(16,384)、
32K(32,768)、64K(65,536)、128K(131,072)、または 256K(262,144)レコードの中から選択します。
指定した内容は、[OK]ボタンをクリックすることにより設定します。[キャンセル]ボタンをクリッ
クすると、設定しないでダイアログボックスを閉じます。

3.5.3

トレース情報を取得する

トレース情報の取得を開始した状態で命令を実行すると、トレースを取得できます。
取得したトレース情報は[トレース]ウィンドウに表示します。

40

3.

図 3-24デバッグ

トレースウィンドウ

表示する項目は以下の通りです。
[PTR][Cycle][Address][CCR][Mult][Instruction][Access Data][Source][Label]

3.5.4

トレースバッファ内ポインタ（最後に実行した命令が０となります）
累計命令実行サイクル数（命令実行リセットによりクリアします）
命令アドレスコンディションコードレジスタ（CCR）の内容をニモニックで表示します。
乗算器内部のフラグをニモニックで表示します。（H8S/2600 シリーズのみ）
命令ニモニック
データアクセス（転送先<-転送データの形式で表示）
C/C++またはアセンブラソース
ラベル

トレース情報を検索する

トレース情報を検索するには[トレース検索]ダイアログボックスを使用します。
[トレース検索]ダイアログボックスを開くには、ポップアップメニューの[検索...]を選択します。

図 3-25

トレース検索ダイアログボックス

41

3.

デバッグ

本ダイアログボックスは、トレース情報の検索条件を設定します。[項目]で検索対象項目を指定し、[値]で指定した内容を検索します。
[PTR][サイクル][アドレス][命令]

トレースバッファ内ポインタ。最後に実行した命令が 0 となります。
-nnn の形式で指定してください。
累計命令実行サイクル数
命令アドレス
命令ニモニック[OK]ボタンをクリックすることにより、検索条件を設定し、検索を開始します。[キャンセル]ボタ
ンをクリックすると、設定しないでダイアログボックスを閉じます。
検索の結果一致するトレースレコードが見つかった場合は当該レコード行を青色表示します。一致するトレースレコードが見つからなかった場合は、メッセージダイアログボックスを表示します。
トレースレコードが検索できた場合は、ポップアップメニューで[次を検索]を選択すると、次のトレースレコードを検索できます。

3.5.5

トレース情報をクリアする

トレース情報をクリアするには、ポップアップメニューから[クリア]を選択します。トレース情報を保持しているトレースバッファを空にします。複数の[トレース]ウィンドウが開いているときは、それらは同じバッファをアクセスしているため、すべての[トレース]ウィンドウをクリアすることに
なります。

3.5.6

トレース情報をファイルに保存する

トレース情報をファイルに保存するには、ポップアップメニューから[保存...]を選択します。
[名前を付けて保存]ファイルダイアログボックスを表示します。トレースバッファの内容をテキス
トファイルとして保存します。保存する範囲を、[PTR]の範囲によって指定することができます。このファイルはトレースバッファに再ロードできないことに注意してください。

3.5.7

ソースファイルを表示する

トレースレコードに対応するソースファイルを[エディタ]ウィンドウに表示するには二通りの方法があります。
トレースレコードを選択した状態でポップアップメニューから[ソースファイル表示]を選択

(1)
する
(2)

トレースレコードをダブルクリックする

上記の操作により、[エディタ]ウィンドウあるいは[逆アセンブリ]ウィンドウを開いて、選択した行をカーソルで示します。

3.5.8

ソース表示を整形する

ポップアップメニューで[ソーストリム]を選択すると、ソースプログラムの左側の空白を取り除きます。
取り除いた状態だと[ソーストリム]メニューの左にチェックが付きます。チェックありの状態で
42

3.

デバッグ

[ソーストリム]メニューを選択すると取り除いた空白を元に戻します。

3.5.9

統計情報を解析する指定された条件で統計情報の解析を実行するには、ポップアップメニューから[統計]を選択します。
[統計]ダイアログボックスが開きます。

図 3-26

統計ダイアログボックス

本ダイアログボックスは、トレース情報の統計情報解析に使用します。[項目]で解析対象項目を指定し、[開始]および[終了]で入力値または文字列を指定します。
[デフォルト]を選択すると入力値または文字列を範囲で指定することはできません。範囲で指定する場合は[範囲で指定]を選択してください。
[追加]
[新規]
[解析]
[クリア]

現在の条件に追加設定します
新しい条件を指定します
統計情報解析の結果を取得します
すべての条件と統計情報解析結果を削除します[閉じる]ボタンをクリックすると、ダイアログボックスを閉じます。

43

3.

デバッグ

3.6

プロファイル情報を見る

プロファイル機能は、アプリケーションプログラムの実行パフォーマンスを関数単位に測定します。アプリケーションプログラム中の性能劣化の原因となっている場所および要因を調査することができます。
HEWはプロファイルデータの参照方法、参照目的に応じて、３つのウィンドウでプロファイル測定結果を表示します。

3.6.1

スタック情報ファイル

プロファイル機能は、最適化リンカ(Ver.7.0以降)が出力するスタック情報ファイル（拡張子".SNI"）を読み込むことができます。このファイルには、ソースファイル上の(静的な)関数呼び出し関係の情報が入っています。HEWがスタック情報ファイルを読み込むことで、ユーザアプリケーションが未実行（プロファイルデータの測定を行う前）でも、関数の呼び出し関係を表示できるようになります。
(但し、[プロファイル]ウィンドウのポップアップメニューで[表示設定->未実行関数を表示しない]をチェックしている場合を除きます。)
HEWがスタック情報ファイルを読み込まない場合、プロファイル機能で表示するデータは、プロ
ファイルデータ測定中に実行した関数についてのみになります。
リンカでスタック情報ファイルを生成するには、[Standard Toolchain]ダイアログボックスの[最適化リンカ]タブで[カテゴリ]リストボックスを[その他]に指定し、[スタック情報ファイル(sni)出力]チェックボックスをチェックしてください。

図 3-27 Standard Toolchain ダイアログボックス(1)
44

3.

3.6.2

デバッグ

プロファイル情報ファイル

プロファイル情報ファイルを作成するためには、アプリケーションプログラムのプロファイルデー
タを測定後に、[プロファイル]ウィンドウのポップアップメニューで[プロファイル情報の保存...]メ
ニューオプションを選択し、ファイル名を指定します。
プロファイル情報ファイルには、関数の呼び出し回数とグローバル変数のアクセス回数の情報が入っています。最適化リンカ(Ver.7.0以降)は、プロファイル情報ファイルを読み込み、関数および変数の配置を実際のプログラム動作状況に合わせた配置に最適化する機能を持っています。
プロファイル情報ファイルをリンカに入力するには、[Standard Toolchain]ダイアログボックスの[最適化リンカ]タブで[カテゴリ]リストボックスを[最適化]に指定し、[プロファイル情報]チェックボッ
クスをチェックして、プロファイル情報ファイル名を指定してください。

図 3-28 Standard Toolchain ダイアログボックス(2)なお、[プロファイル情報]チェックボックスを有効にするには、[最適化]リストボックスを[最適化なし]以外に設定する必要があります。

45

3.

デバッグ

3.6.3

スタック情報ファイルのロード

スタック情報ファイルを読み込むかどうかは、ロードモジュールロード時に表示する、確認のメッ
セージボックスで指定できます。メッセージボックスの[OK]ボタンをクリックするとスタック情報
ファイルをロードします。
確認のメッセージボックスは、次の場合に表示します。
••

スタック情報ファイルが存在する時[オプション]ダイアログボックス(メインメニューの[基本設定->オプション…]を選択すると開きます)の[確認]タブ（図 3-29）で[スタック情報ファイルをロードします (SNI ファイル)]チェックボックスをチェックしている場合

図 3-29 オプションダイアログボックス

46

3.

3.6.4

デバッグ

プロファイルを有効にする[表示->パフォーマンス->プロファイル]を選択し、[プロファイル]ウィンドウをオープンします。
[プロファイル]ウィンドウのポップアップメニューで[有効]メニューオプションを選択します（メニューにチェックマークが付きます）。

3.6.5

測定方法を指定する

プロファイルデータの測定時に、関数呼び出しをトレースするかどうかを指定できます。関数呼び出しをトレースすると、ユーザプログラム実行時の関数呼び出し関係をツリー形式で表示できるようになります。関数呼び出しをトレースしないと、関数呼び出し関係を表示できませんが、プロファイ
ルデータの測定時間を短縮することができます。
関数呼び出しをトレースしないようにするためには、[プロファイル]ウィンドウのポップアップメ
ニュー[関数呼び出しをトレースしない]を選択します。（メニューにチェックマークが付きます。）
また、OSによるタスクスイッチなど、通常の方法以外で関数を呼び出しているプログラムの場合、
関数呼び出しを正しく表示できない場合がありますので、関数呼び出しをトレースせずにプロファイ
ルデータを測定してください。

3.6.6

ユーザプログラムを実行し結果を確認する

ユーザプログラムを実行し、停止すると[プロファイル]ウィンドウに測定結果を表示します。
[プロファイル]ウィンドウには、[List]シートと[Tree]シートがあります。

3.6.7

List シート関数とグローバル変数をリスト表示し、各関数/変数のプロファイルデータを表示します。

図 3-30 List シート
カラムヘッダをクリックすると、アルファベットまたは数値の昇降順にソートして表示します。
[Function/Variable]列または[Address]列をクリックすると、該当するアドレスに対応したソースプロ
グラムを表示します。

47

デバッグ

3.

ウィンドウ内でマウスの右ボタンをクリックするとポップアップメニューを表示します。このポップアップメニューについては｢3.6.8 Tree シート｣を参照してください。

3.6.8

Tree シート関数の呼び出し関係を表示し、各呼び出し位置におけるプロファイルデータを表示します。
[Tree]シートは、[プロファイル]ウィンドウのポップアップメニュー[関数呼び出しをトレースしない]をチェックしていない時のみ有効です。

図 3-31 Tree シート[Function]列の関数をダブルクリックすると、ツリー構造を拡張または収縮表示します。また、'+'／'-'キーでも拡張／収縮表示することができます。[Address]列をダブルクリックすると、該当するア
ドレスに対応したソースプログラムを表示します。
ウィンドウ内でマウスの右ボタンをクリックするとポップアップメニューを表示します。このメ
ニューは以下のオプションを含みます。
(1)

ソースファイル表示

選択している行の該当アドレスに対応したソースプログラムまたは逆アセンブルを表示します。
(2)

チャート表示

選択している行の関数に着目した[プロファイルチャート]ウィンドウを表示します。
(3)

有効

プロファイルデータ測定のオン・オフを切り替えます。プロファイルデータ測定がオンのとき、メニューテキストの左にチェックマークを表示します。

48

3.

(4)

デバッグ

関数呼び出しをトレースしない

本メニューをチェックすると、プロファイルデータ測定時に関数呼び出しをトレースしません。例
えば、OS のタスクスイッチのように通常の方法以外で関数が呼び出されるプログラムのデータを測定する場合に使用します。
[プロファイル]ウィンドウの[Tree]シートで関数呼び出し関係を表示するためには、本メニューをチェックせずにプロファイルデータを測定してください。また、測定結果のプロファイル情報ファイルを使用して、最適化リンケージエディタによる最適化を行う場合も、本メニューをチェックしないでください。
(5)

検索...

[Function]列の文字列を検索する[テキスト検索]ダイアログボックスを表示します。検索したい文字
列をエディットボックスに入力し、[次を検索]ボタンまたは、’Enter’キーを入力すると、検索を開始
します。
(6)

データ検索...

[データ検索]ダイアログボックスを表示します。

図 3-32

データ検索ダイアログボックス[カラム]コンボボックスで検索カラムを、[検索データ]グループで検索方向を設定し、[次を検索]
ボタンまたは、’Enter’キーを入力すると、検索を開始します。また、連続して[次を検索]ボタンまたは’Enter’キーを入力すると、次に大きいデータ（最小値の場合は小さいデータ）を検索します。
(7)

データクリア関数呼び出し回数のカウントおよびプロファイルデータをクリアします。[プロファイル]ウィンドウの[List]シートおよび[プロファイルチャート]ウィンドウのデータもクリアします。

49

デバッグ

3.

(8)

プロファイル情報の保存...

[プロファイル情報の保存]ダイアログボックスを表示します。プロファイル結果をプロファイル情報ファイル（拡張子は".pro"）に保存します。最適化リンケージエディタは、プロファイル情報を元に、ユーザプログラムの最適化を行うことが出来ます。プロファイル情報を使用した最適化についての詳細は、最適化リンケージエディタのマニュアルを参照してください。
【注】 関数呼び出しをトレースしないメニューをチェックして測定した結果のプロファイル情報
では、最適化リンケージエディタによる最適化は行えません。
(9)

テキスト形式で保存...

[プロファイルデータをテキスト形式で保存]ダイアログボックスを表示します。表示している状態
をテキストファイルに保存します。
(10)

表示設定

このメニューには下記サブメニューがあります。（以下の説明には[List]シートのみのメニューも
含みます）
(a)

関数と変数を表示[Function/Variable]列で、関数およびグローバル変数の両方表示します。
(b)

関数を表示

[Function/Variable]列で、関数のみを表示します。
(c)

変数を表示

[Function/Variable]列で、グローバル変数のみを表示します。
(d)

未実行関数を表示しない実行した関数のみ表示することができます。最適化リンケージエディタが出力するスタック使用量
情報ファイル(拡張子：sni)がロードモジュールと同一ディレクトリに存在しない場合、このチェック
ボックスの設定に関わらず、実行関数のみ表示します。
(e)子関数の実行結果を含んで表示表示するプロファイルデータに、関数内で呼び出した子関数のプロファイルデータを含めるかどうかを設定します。
(11)

プロパティ...

本シミュレータ・デバッガでは使用できません。

50

3.

3.6.9

デバッグ

プロファイルチャートウィンドウ[プロファイルチャート]ウィンドウは、特定の関数に着目した関数の呼び出し関係を表示します。
本ウィンドウは、着目する関数を中心に表示し、その左側には着目した関数を呼び出した関数、右側には、着目している関数が呼び出した関数を、それぞれ表示します。また、各呼び出しを行った回数も表示します。

図 3-33 プロファイルチャートウィンドウ
ウィンドウ内でマウスの右ボタンをクリックするとポップアップメニューを表示します。このメ
ニューは以下のオプションを含みます。
(1)

ソースファイル表示

マウスの右ボタンをクリックしたときの位置にある関数の該当アドレスに対応したソースプログ
ラムまたは逆アセンブルを表示します。マウスの右ボタンをクリックしたときの位置が関数ではない場合、このメニューオプションはグレー表示となります。
(2)

チャート表示マウスの右ボタンをクリックしたときの位置にある関数に着目した[プロファイル-チャート]ウィ
ンドウを表示します。マウスの右ボタンをクリックしたときの位置が関数ではない場合、このメ
ニューオプションはグレー表示となります。
(3)

有効

プロファイルデータ収集の有効／無効を切り替えます。プロファイルデータ測定が有効のとき、メニューテキストの左にチェックマークを表示します。
(4)

データクリア関数呼び出し回数のカウントをクリアします。[プロファイル]ウィンドウの[List]シートおよび[Tree]シートのデータもクリアします。

51

デバッグ

3.

(5)

チャートウィンドウを複数開く[プロファイル-チャート]ウィンドウを表示する際、既に[プロファイル-チャート]ウィンドウが開いているとき、別のウィンドウを開くか同ウィンドウに表示するかを設定します。メニューテキストの左にチェックマークを表示していれば、別のウィンドウを開きます。
(6)

プロファイル情報の保存...

[プロファイル情報の保存]ダイアログボックスを表示します。プロファイル結果をプロファイル情報ファイル（拡張子は".pro"）に保存します。最適化リンケージエディタは、プロファイル情報を元に、ユーザプログラムの最適化を行うことが出来ます。プロファイル情報を使用した最適化についての詳細は、最適化リンケージエディタのマニュアルを参照してください。
(7)拡大

各関数の間隔を広げて表示します。また、'+'キーでも広げて表示することができます。
(8)

縮小

各関数の間隔を縮めて表示します。また、'-'キーでも縮めて表示することができます。

3.6.10

表示データの種類および用途

プロファイル機能から下記情報を得ることができます。
(1)

Address関数を配置しているメモリ上の位置を知ることができます。アドレス順にソート表示することにより、メモリ上の配置イメージで関数とグローバル変数を並べることができます。
(2)

Size

サイズ順にソート表示すれば、サイズが小さくて頻繁に呼び出している関数を見つけることができます。そのような関数があればinline関数にすることで、関数呼び出しのオーバヘッドを減らせる場
合があります。
(3)

Stack Size

関数呼び出しのネストが深い場合、関数呼び出し経路をたどり、その経路上の全関数のスタックサ
イズを合計することで、おおよそのスタック使用量を見積もれます。
(4)

Times

呼び出し（アクセス）回数順にソート表示すれば、頻繁に呼び出している関数や頻繁にアクセスしている変数を容易に調べることができます。

52

3.

デバッグ

プロファイルデータ

(5)
•
•
•
•

[Cycle]（実行サイクル数）[Ext_mem]（外部メモリアクセス回数）[I/O_area]（内蔵 I/O アクセス回数）[Int_mem]（内部メモリアクセス回数）

実行サイクル数は、当該関数コール命令実行時の累計実行サイクル数と当該関数からのリターン命
令実行時の累計実行サイクル数の差から求めています。

3.6.11

プロファイル情報ファイルを作成する

プロファイル情報ファイルを作成する場合は、Pop-upメニューの[プロファイル情報の保存...]メ
ニューオプションを選択します。[プロファイル情報の保存]ダイアログボックスを表示します。ファイル名を選択して[保存]ボタンを押すと、選択したファイルにプロファイル情報を書きこみます。[全て保存]ボタンを押すと、全てのファイルにプロファイル情報を書きこみます。

図 3-34 プロファイル情報の保存ダイアログボックス

53

デバッグ

3.

3.6.12

注意事項（１） アプリケーションプログラムの実行サイクル数をプロファイル機能で測定した場合のデー
タには誤差があります。プロファイル機能では、アプリケーションプログラム全体の中で各関数が占める実行時間の比率を調べることができますが、より厳密に関数の実行サイクル数を測定したい場合には、パフォーマンス解析機能を使用してください。
（２） デバッグ情報が無いロードモジュールでプロファイル情報の測定を行った場合、関数名を表示しない場合があります。
（３） スタック情報ファイル(拡張子".SNI")はロードモジュールファイル(拡張子".ABS")と同一のディレクトリに置いてある必要があります。
（４） 測定結果の蓄積はできません。
（５） 測定結果の編集はできません。

3.7

パフォーマンスを解析する

関数名を指定してパフォーマンス解析する場合は、[パフォーマンス解析]ウィンドウを使用します。

3.7.1

パフォーマンス解析ウィンドウを開く[パフォーマンス解析]ウィンドウを開くには、[表示->パフォーマンス->パフォーマンス解析]を選択するか、[パフォーマンス解析]ツールバーボタン
をクリックします。

図 3-35

パフォーマンス解析ウィンドウ本ウィンドウは、指定関数ごとの実行サイクル数を表示します。
実行サイクル数は、以下の計算で求めています。
実行サイクル数 = 指定関数からのリターン命令実行時累計実行サイクル数 - 指定関数コール命
令実行時累計実行サイクル数
表示する項目は以下の通りです。
[Index][Function][Cycle][Count][%][Histogram]54

設定条件のインデックス番号
測定対象の関数名（または関数の開始アドレス）
当該関数の累計実行サイクル数
当該関数の累計呼び出し回数
プログラム全体の実行サイクル数に占める当該関数の実行サイクル数の割合
上記割合のヒストグラム表示

3.

3.7.2

デバッグ

評価関数を設定する[パフォーマンス解析]ウィンドウを開いたら、評価する関数を設定します。ポップアップメニュー
から[範囲の追加...]を選択すると、[パフォーマンスオプション]ダイアログボックスが開きます。また、'Insert'キーでも[パフォーマンスオプション]ダイアログボックスを開くことができます。

図 3-36

パフォーマンスオプションダイアログボックス

本ダイアログボックスでは、性能評価する関数（ラベルも可）を設定します。評価関数は255個まで設定可能です。
[OK]ボタンをクリックすることにより、評価関数を設定します。[キャンセル]ボタンをクリックすると、設定しないでダイアログボックスを閉じます。
設定した評価関数を選択後、ポップアップメニューの[範囲の編集]を選択すると[パフォーマンスオ
プション]ダイアログボックスを表示して、評価関数を変更できます。また、'Enter'キーでも[パフォーマンスオプション]ダイアログボックスを開くことができます。

3.7.3

データ収集を開始する

ポップアップメニューの[有効]をチェックして、プログラムを実行するとパフォーマンスデータを収集できます。

3.7.4

データをリセットする

ポップアップメニューから[リセット]を選択すると、現在のプログラムのパフォーマンスデータをクリアします。

3.7.5

評価関数を削除する

評価関数を選択した状態で、ポップアップメニューから[範囲の削除]を選択すると、選択された評
価関数を削除し、他の範囲のデータを再計算します。また、'Delete'キーでも評価関数を削除することができます。

3.7.6

すべての評価関数を削除する

ポップアップメニューから[全ての範囲を削除]を選択すると、現在の評価関数をすべて削除し、パフォーマンスデータをクリアします。

3.7.7

現在の表示内容をセーブする

現在ウィンドウに表示している内容をテキストファイルにセーブすることが出来ます。ポップアッ
55

デバッグ

3.

プメニューから[ファイルに保存…]を選択してください。

3.8

コードカバレジを測定する[カバレジ]ウィンドウは、ユーザが指定したアドレス範囲についてコードカバレジ情報(C0 カバレ
ジおよび C1 カバレジ)を収集し、結果を表示します。

3.8.1

カバレジウィンドウを開く[表示->コード->カバレジ…]を選択するか[カバレジ]ツールバーボタン
レジの設定]ダイアログボックスが開きます。

図 3-37をクリックすると、[カバカバレジの設定ダイアログボックス[カバレジの設定]ダイアログボックスでは、カバレジ測定範囲を指定します。
新たなカバレジ範囲を設定するには、以下に示す 2 通りの方法があります。
• [新しいカバレジ測定範囲]で開始アドレスおよび終了アドレスを指定する
指定項目は以下のとおりです。
[先頭アドレス][終了アドレス]

カバレジ情報表示の開始アドレスを指定します。（接頭辞省略時は 16 進で入力）
カバレジ情報表示の終了アドレスを指定します。（接頭辞省略時は 16 進で入力）• [新しいカバレジ測定範囲]でファイルを指定する
指定項目は以下のとおりです。
[ファイル]

現在のプロジェクト中の”.C”または”.CPP”を拡張子にもつソースファイルを指定します。
これにより指定ファイル内に存在する関数をカバレジ範囲として設定します。
拡張子を省略した場合は、”.C”を補います。”.C”または”.CPP”以外の拡張子を持つファイルは指定できません。
プレースホルダまたは[参照...]ボタンが利用できます。

56

3.

デバッグ

カバレジ情報ファイルに保存した内容を再設定する場合は、[最近使ったカバレジ情報ファイル]から選択するか、[別のカバレジファイルを参照]でファイルオープンダイアログボックスを表示して選択します。
[最近使ったカバレジ情報ファイル]では最近保存されたファイルを 4 個まで表示します。
[OK]ボタンをクリックすると[カバレジ]ウィンドウを表示します。
アドレス指定で[カバレジ]ウィンドウが既に表示されている場合は、そのウィンドウに設定が追加
されます。
(1)

カバレジウィンドウ（アドレス指定）

図 3-38

カバレジウィンドウ(アドレス指定)

カバレジ範囲とカバレジ統計情報を表示します。
表示する項目は以下の通りです。
[Range][Statistic][Status]

アドレス範囲C0 カバレジ値(パーセント表示)
各カバレジ範囲の有効/無効状態[カバレジ]ウィンドウをクローズすると取得したカバレジ情報と取得条件の設定をクリアします。
(2)

カバレジウィンドウ（ソースファイル指定）

図 3-39

カバレジウィンドウ(ソースファイル指定)

カバレジ範囲とカバレジ統計情報を表示します。
57

デバッグ

3.

表示する項目は以下の通りです。
[Functions][Statistic][Status]•

カバレジ対象の関数
C0 カバレジ値(パーセント表示)
各関数の有効/無効状態

カラムタブをクリックすることで関数名または C0 カバレジ値の降順または昇順に並べ替えることができます。

[カバレジ]ウィンドウをクローズすると取得したカバレジ情報と取得条件の設定をクリアします。

3.8.2

カバレジ情報をすべて取得する

ポップアップメニューで[すべて有効]をチェック後、命令を実行するとすべてのカバレジ情報を取得します。デフォルトで[すべて有効]はチェックされています。

3.8.3

カバレジ情報をすべてクリアする

ポップアップメニューから[すべてクリア]を選択すると、取得したすべてのカバレジ情報をクリア
します。

3.8.4

ソースファイルを表示する

ポップアップメニューから[ソースファイル表示]を選択すると、[エディタ]ウィンドウを開いて、[カバレジ]ウィンドウ上のカーソル位置のアドレスに対応するソースファイルを表示します。

3.8.5

新しいカバレジ測定範囲を設定する

ポップアップメニューで[測定範囲追加…]を選択すると、[カバレジの設定]ダイアログボックス（図3-37）を表示します。[カバレジの設定]ダイアログボックスについては、「3.8.1 カバレジウィンドウを開く」を参照してください。

3.8.6
(1)

カバレジ測定範囲を変更する
カバレジ測定範囲をアドレスで指定した場合

カバレジ測定範囲を選択し、ポップアップメニューで[測定範囲編集...]を選択すると、[カバレジ測
定範囲]ダイアログボックスを表示します。

図 3-40

カバレジ測定範囲ダイアログボックス(アドレス指定)

本ダイアログボックスで命令実行情報取得の条件を変更します。下記項目を指定できます。
[先頭アドレス][終了アドレス]

58

先頭アドレス（接頭辞省略時は 16 進で入力）
終了アドレス（接頭辞省略時は 16 進で入力）

3.

デバッグ

[OK]ボタンをクリックするとカバレジ測定範囲を変更します。
カバレジ測定範囲をソースファイルで指定した場合(2)

ポップアップメニューで[測定範囲編集...]を選択すると、[カバレジ測定範囲]ダイアログボックスを表示します。

図 3-41

カバレジ測定範囲ダイアログボックス(ソースファイル指定)

本ダイアログボックスで命令実行情報取得の条件を変更します。下記項目を指定できます。
[ファイル]

現在のプロジェクト中の”.C”または”.CPP”を型名にもつソースファイルを指定します。
これにより指定ファイル内に存在する関数をカバレジ範囲として設定します。
ファイル型名を省略した場合は、”.C”を補います。”.C”または”.CPP”以外のファイル型
名を持つファイルは指定できません。
プレースホルダまたは[参照...]ボタンが利用できます。

[OK]ボタンをクリックするとカバレジ測定範囲を変更します。

3.8.7

カバレジ測定範囲を削除する

カバレジ測定範囲を選択し、ポップアップメニューから[カバレジ測定範囲削除]を選択すると、選択したカバレジ測定範囲を削除します。

3.8.8

カバレジ情報を取得する

カバレジ測定範囲を選択し、ポップアップメニューから[有効]をチェック後、命令を実行するとカバレジ情報を取得します。デフォルトで[有効]はチェックされています。

3.8.9

カバレジ情報をクリアする

カバレジ測定範囲を選択し、ポップアップメニューから[クリア]を選択すると、取得したカバレジ
情報をクリアします。

3.8.10

カバレジ情報をファイルに保存する

ポップアップメニューから[保存...]を選択すると、カバレジ情報をファイルに保存するための[カバレジ情報を保存]ダイアログボックスを表示します。

59

デバッグ

3.

図 3-42

カバレジ情報を保存ダイアログボックス

保存するカバレジ情報ファイルの場所と名前を指定します。プレースホルダまたは[参照…]ボタンが使用できます。
ファイル拡張子の入力を省略すると、ファイル拡張子として”.COV”を自動的に付加します。
ファイル拡張子として、”.COV”または”.TXT”以外を入力するとエラーメッセージを出力します。

3.8.11

カバレジ情報をファイルからロードする

ポップアップメニューから[ロード...]を選択すると、カバレジ情報をファイルからロードするための[カバレジ情報ロード]ダイアログボックスを表示します。

図 3-43

カバレジ情報ロードダイアログボックス

ロードするカバレジ情報ファイルの場所と名前を指定します。プレースホルダまたは[参照…]ボタンが使用できます。
ロードできるファイル拡張子は”.COV”のみです。その他のファイル拡張子を入力するとエラー
メッセージを出力します。

3.8.12

最新の情報に更新する

ポップアップメニューから[最新の情報に更新]を選択すると、[カバレジ]ウィンドウ内容を最新に更新します。

3.8.13

Confirmation Request ダイアログボックス[すべてクリア] 、[クリア]、[測定範囲編集...]、[測定範囲削除]をクリックするか、[カバレジ]ウィ
ンドウを閉じようとすると、確認のダイアログボックスを表示します。

60

3.

図 3-44

デバッグ

Confirmation Request ダイアログボックス[OK]ボタンをクリックすると、カバレジデータをクリアします。
[カバレジ情報を保存]をチェックすると、｢図 3-42｣に示す[カバレジ情報を保存]ダイログボックスを表示し、クリアする前にカバレジデータをファイルに保存できます。

3.8.14

カバレジ情報を保存ダイアログボックス[ファイル->セッションの保存]メニューオプションをクリックすると、[カバレジ情報を保存]ダイ
ログボックスを表示します。[カバレジ]ウィンドウのデータを別々またはまとめて保存することができます。

図 3-45•••

カバレジ情報を保存ダイアログボックス[カバレジ]ウィンドウが複数開いているとウィンドウ数分の[カバレジ情報を保存]ダイアロ
グボックスが開きます。
[すべていいえ]ボタンをクリックすると、すべてのカバレジ情報を保存しないでダイアログ
ボックスを閉じます。
[すべてはい]ボタンをクリックすると、すべての[カバレジ]ウィンドウデータを 1 個のファイルに保存します。

61

3.

デバッグ

3.8.15

エディタウィンドウへのカバレジ結果表示

命令実行済のソース行に対応するカバレジカラムを強調表示することで[エディタ]ウィンドウにもカバレジ結果を表示します。[カバレジ]ウィンドウでカバレジに関する設定を変更すると、対応するカバレジカラムの表示も更新します。

図 3-46 カバレジカラム (ソース)

62

3.

3.8.16

デバッグ

逆アセンブリウィンドウへのカバレジ結果表示

命令実行済の逆アセンブリ行に対応するカバレジ-ASM カラムを強調表示することで[逆アセンブ
リ]ウィンドウにもカバレジ結果を表示します。[カバレジ]ウィンドウでカバレジに関する設定を変更
すると、対応するカバレジ-ASM カラムの表示も更新します。

図 3-47 カバレジカラム (逆アセンブリ)

63

デバッグ

3.

3.9

手動で擬似割込みを発生させるウィンドウ上のボタンを押下して手動で擬似割込みを発生させるには、[トリガ]ウィンドウ、または[GUI I/O]ウィンドウを使用します。

3.9.1

トリガウィンドウ[トリガ]ウィンドウを開くには、[トリガ->CPU->トリガ]を選択するか、[トリガ]ツールバーボタン
をクリックします。

図 3-48

トリガウィンドウ

本ウィンドウは、手動で擬似割込みを発生させるためのトリガボタンを表示します。トリガボタン
押下時に発生する擬似割込みの内容は、[トリガ設定]ダイアログボックスで設定します。
トリガボタンは最大 256 個まで設定できます。
シミュレータ・デバッガの擬似割込み処理については、「2.19 擬似割込み」を参照してください。

64

3.

(1)

デバッグ

トリガボタンを設定する

各トリガボタン押下時に発生する擬似割込みの内容を設定するには[トリガ設定]ダイアログボッ
クスを使用します。
[トリガ設定]ダイアログボックスを開くには、ポップアップメニューの[設定…]を選択します。

図 3-49

トリガ設定ダイアログボックス

本ダイアログボックスでは、トリガボタン押下時に発生する割込みの内容を設定します。
[トリガ番号][名前][有効][割り込み条件 1][割り込み優先順
位]設定するトリガボタンを選択します。
[トリガ]ウィンドウに表示するトリガボタンの名前を指定します。
チェックするとトリガボタンが有効になります。
割込みベクタ番号を指定します。
割込み優先順位を指定します。（接頭辞省略時は 16 進入力、16 進表示）（0〜H’11）
割込みを受付けるかどうかの判定は、選択されたデバッグプラットフォームの CPU の仕様に従います。ただし、優先順位に H’8 以上を指定した場合は、常に割込みを受付けます。

指定した内容は、[OK]ボタンをクリックすることにより設定します。[キャンセル]ボタンをクリッ
クすると、設定しないでダイアログボックスを閉じます。
【注】 複数のトリガボタンの設定を変更した後に[キャンセル]ボタンをクリックすると、すべてのトリガボタンの設定変更が無効になります。
(2)

トリガボタンの数を変える[トリガ]ウィンドウに表示するトリガボタンの数を変えるには、ポップアップメニューから[ボタンの数]のサブメニューで[4]、[16]、[64]、[256]を選択します。
(3)

トリガボタンのサイズを変える[トリガ]ウィンドウに表示するトリガボタンのサイズを変えるには、ポップアップメニューから[サイズ]のサブメニューで[大]、[中]、[小]を選択します。

65

デバッグ

3.

3.9.2

GUI I/O ウィンドウ[GUI I/O]ウィンドウを開くには、[表示->グラフィック->GUI I/O]を選択するか、[GUI I/O]ツール
バーボタン をクリックします。

図 3-50 GUI I/O ウィンドウ本ウィンドウは、手動で擬似割込みを発生させるためのボタンを設定します。ボタン押下時に発生する擬似割込みの内容は、[ボタンの設定]ダイアログボックスで設定します。
シミュレータ・デバッガの擬似割込み処理については、「2.19 擬似割込み」を参照してください。
(1)

ボタンを設定する

擬似割込みを発生させるボタンを設定するには[ボタンの設定]ダイアログボックスを使用します。
まずポップアップメニューの[ボタンの作成]を選択するか、ツールバーの[ボタンの作成]ボタンをクリックしてください。マウスカーソルの形状が"＋"に変化します。
この状態で作成するボタンの左上位置から右下位置までドラッグしてください。

図 3-51GUI I/O ウィンドウ (ボタンの作成)

次にこのボタンをダブルクリックして[ボタンの設定]ダイアログボックスを開きます。
66

3.

図 3-52

デバッグ

ボタンの設定ダイアログボックス

本ダイアログボックスでは、ボタン押下時に発生する割込みの内容を設定します。
[ボタン名][ボタン種別の選択][割り込み][割り込み条件 1][割り込み優先順位]

3.10[GUI I/O]ウィンドウに表示するボタンの名前を指定します。
[割り込み用]、または[入力と割り込みの両用]を選択します。
割込みベクタ番号を指定します。
割込み優先順位を指定します。（接頭辞省略時は 16 進入力、16 進表示）
（0〜H’11）
割込みを受付けるかどうかの判定は、選択されたデバッグプラット
フォームの CPU の仕様に従います。ただし、優先順位に H’8 以上を指定した場合は、常に割込みを受付けます。

標準入出力およびファイル入出力を行う

ユーザプログラムから標準入出力およびファイル入出力の I/O シミュレーションを行うには、[I/O
シミュレーション]ウィンドウを利用します。

3.10.1

I/O シミュレーションウィンドウを開く[I/O シミュレーション]ウィンドウを開くには、[表示->CPU->I/O シミュレーション]を選択するか、[I/O シミュレーション]ツールバーボタン
をクリックします。
67

3.

デバッグ

図 3-53

I/O シミュレーションウィンドウ

ユーザプログラムからの標準出力は本ウィンドウに出力されます。本ウィンドウ上でのキー入力がユーザプログラムへの標準入力となります。

3.10.2

入出力機能サポートしている入出力処理は以下の通りです。機能コードには、16 ビットアドレス版、24 ビッ
トアドレス版、32 ビットアドレス版があります。使用する CPU に合わせて選択してください。
表 3-1

入出力機能一覧

番号

機能コード

機能名

1

H'01 (16 ビットアドレス)
H'11 (24 ビットアドレス)
H'21 (32 ビットアドレス)

GETC

標準入力からの１バイト入力

2

H'02 (16 ビットアドレス)
H'12 (24 ビットアドレス)
H'22 (32 ビットアドレス)

PUTC

標準出力への１バイト出力

3H'03 (16 ビットアドレス)
H'13 (24 ビットアドレス)
H'23 (32 ビットアドレス)

GETS

標準入力からの１行入力

4

H'04 (16 ビットアドレス)
H'14 (24 ビットアドレス)
H'24 (32 ビットアドレス)

PUTS

標準出力への１行出力

5H'05 (16 ビットアドレス)
H'15 (24 ビットアドレス)
H'25 (32 ビットアドレス)

FOPEN

ファイルのオープン

6

H'06

FCLOSE

ファイルのクローズ7

H'07 (16 ビットアドレス)
H'17 (24 ビットアドレス)
H'27 (32 ビットアドレス)

FGETC

ファイルからの１バイト入力

8

H'08 (16 ビットアドレス)
H'18 (24 ビットアドレス)
H'28 (32 ビットアドレス)

FPUTC

ファイルへの１バイト出力

9H'09 (16 ビットアドレス)
H'19 (24 ビットアドレス)
H'29 (32 ビットアドレス)

FGETS

ファイルからの１行入力

68

内 容

3.

番号

機能コード

機能名

10

H'0A (16 ビットアドレス)
H'1A (24 ビットアドレス)
H'2A (32 ビットアドレス)

FPUTS

ファイルへの１行出力

デバッグ

内 容

11

H'0B

FEOF

エンドオブファイルのチェック

12

H'0C

FSEEK

ファイルポインタの移動

13

H'0D

FTELL

ファイルポインタの現在位置を得る

この機能を実現するためには、まず入出力用の特定の位置を [シミュレータシステム]ダイアログ
ボックスの [I/O シミュレーションアドレス]で指定し、[有効]をチェック後、ユーザプログラムを実行します。シミュレータ・デバッガでは、ユーザプログラムの命令を実行中に、指定した位置へのサ
ブルーチン分岐命令（BSR、JSR）すなわち I/O シミュレーション命令を検出すると、R0、R1（H8/300、H8/300L シリーズ）または ER1（H8/300H、H8S、および H8SX シリーズ）の内容をパラメータとして入出力処理を行います。
したがって、I/O シミュレーションを行う前にユーザプログラムの中で次の設定をしておきます。
・R0 レジスタ：機能コード
MSB １バイト
H'01

１バイト
機能コード

LSB
‐‐‐

‐‐‐

・R1、または ER1 レジスタ：パラメータブロックのアドレス（パラメータブロックの内容は各機能の説明を参照してください。）
MSB

LSB
パラメータブロックのアドレス

・パラメータブロックおよび入出力バッファ領域の確保
なお、パラメータブロックの各パラメータにアクセスする場合は、該当するパラメータのサイズでアクセスしてください。
入出力処理が終了すると、I/O シミュレーション命令の次の命令からシミュレーションを再開します。
各入出力機能の詳細は、シミュレータヘルプを参照ください。

69

3.

デバッグ

以下に標準入力（キーボード）から１文字入力する例を示します。I/O シミュレーションアドレス
としてラベル SYS_CALL を指定します。

STOP
SYS_CALL
PARM
INBUF

3.11

MOV.W
MOV.W
JSR
NOP
NOP
.DATA.W.RES.B.END#H'0101, R0#PARM, R1@SYS_CALL

INBUF
2仮想入出力パネルを作成する

シミュレータ・デバッガにはユーザターゲットシステムの簡単なキー入力パネルおよび出力パネル
をウィンドウ上で模擬する GUI 入出力機能があります。この仮想的な入出力パネルを作成するにはGUI 入出力ウィンドウを使用します。GUI 入出力ウィンドウでは、ウィンドウ上に仮想のボタンを配置してデータを入力することや仮想の LED を配置してデータを出力することができます。

図 3-54 GUI I/O ウィンドウ例

3.11.1

GUI 入出力ウィンドウを開く[表示->グラフィック->GUI I/O]を選択するか、[GUI I/O]ツールバーボタン
GUI I/O ウィンドウが開きます。

70

をクリックすると、

3.

デバッグ

図 3-55 GUI I/O ウィンドウ
GUI 入出力ウィンドウでは、以下のアイテムが配置できます。
•

•

•

•

3.11.2

ボタン
ボタンを押下することにより、仮想ポートへのデータ入力や、仮想割り込みを発生させます。
ラベル
指定したアドレス(もしくはビット)に指定した値が書き込まれた際に、文字列を表示/消去
します。
LED
指定したアドレス(もしくはビット)に指定した値が書き込まれた際に、指定した色で表示
します(LED点灯の代用)。
テキスト
テキスト文字列を表示します。

ボタンを作成する

ツールバーの ボタンをクリックするかポップアップメニューの[ボタンの作成]を選択してください。 マウスカーソルの形状が"＋"に変化します。
この状態で作成するボタンの左上位置から右下位置までドラッグしてください。

図 3-56 GUI I/O ウィンドウ (ボタン作成)(1)

ボタンクリック時のイベントを指定する

ツールバーの ボタンをクリックした状態で、作成したボタンをダブルクリックしてください。
以下のダイアログボックスが開きます。
71

デバッグ

3.

図 3-57 ボタンの設定ダイアログボックス
ボタン名、入力ポートアドレスおよび入力データを指定してください。
ボタン名に空白文字を使用することはできません。

3.11.3

ラベルを作成する

ツールバーの ボタンをクリックするか、ポップアップメニューの[ラベルの作成]を選択してください。 マウスカーソルの形状が"＋"に変化します。
この状態で作成する位置の左上位置から右下位置までドラッグしてください。ラベル枠を表示しま
す。

72

3.

デバッグ

図 3-58 GUI I/O ウィンドウ (ラベル作成)
ツールバーの ボタンをクリックするか、ポップアップメニューの[アイテムの選択]を選択後、ラベル枠をダブルクリックしてください。ラベル内容を設定するダイアログボックスが開きます。
イベント発生時の動作を指定してください。ラベル名に空白文字を使用することはできません。
(1)

指定ビットへの任意の値書き込みの場合

アドレス 0x3E0 のビット 3 が 0 であれば"印刷中"、1 であれば"印刷可"と表示する設定を以下に示します。

図 3-59 ラベルの設定ダイアログボックス (ビット指定)

73

3.

デバッグ

(2)

指定アドレスへの任意の値書き込みの場合

アドレス 0x3E0 にデータ 0x10 が書き込まれた時に"印刷中"、データ 0x20 が書き込まれた時に"印刷可"と表示する設定を以下に示します。

図 3-60 ラベルの設定ダイアログボックス (データ指定)

3.11.4

LED を作成するツールバーの ボタンをクリックするか、ポップアップメニューの[LED の作成]を選択してください。 マウスカーソルの形状が"＋"に変化します。
この状態で作成する位置の左上位置から右下位置までドラッグしてください。LED 出力枠を表示します。

図 3-61 GUI I/O ウィンドウ (LED 作成)
74

3.

デバッグ

ツールバーの ボタンをクリックするか、ポップアップメニューの[アイテムの選択]を選択後、LED 出力枠をダブルクリックしてください。LED 出力を設定するダイアログボックスが開きます。
イベント発生時の動作を指定してください。
(1)

指定ビットへの任意の値書き込みの場合

アドレス 0x3E0 のビット 2 が 0 であれば緑色、1 であれば赤色表示する設定を以下に示します。

図 3-62 LED の設定ダイアログボックス (ビット指定)(2)

指定アドレスへの任意の値書き込みの場合

アドレス 0x3E0 にデータ 0x10 が書き込まれた時に緑色表示、データ 0x20 が書き込まれた時に赤色表示する設定を以下に示します。

75

デバッグ

3.

図 3-63 LED の設定ダイアログボックス (データ指定)
表示色 1、表示色 2 ボタンをクリックするとカラー選択ダイアログボックスが開きます。

76

3.

3.11.5

デバッグ

テキスト文字列を作成する

ツールバーの ボタンをクリックするか、ポップアップメニューの[テキストの作成]を選択してください。マウスカーソルの形状が"＋"に変化します。
この状態で作成するテキスト文字列の左上位置から右下位置までドラッグしてください。

図 3-64 GUI I/O ウィンドウ (文字列作成)(1)

テキスト文字列の表示形式を指定する

ツールバーの ボタンをクリックした状態で、作成したテキスト文字列をダブルクリックしてください。
以下のテキスト文字列の表示形式を設定するためのダイアログボックスが開きます。

図 3-65 テキストの設定ダイアログボックス[フォント]ボタンを押して、表示するテキスト文字列のフォントとサイズを設定してください。
[テキスト]ボタンを押して、表示するテキスト文字列の文字色を設定してください。
[背景]ボタンを押して、表示するテキスト文字列の背景色を設定してください。

3.11.6

アイテムのサイズ/配置を変更する

ツールバーの ボタンをクリックした状態で、変更するアイテムをクリックしてください。 以下のようにアイテムが選択された状態となります。
77

デバッグ

3.

図 3-66 GUI I/O ウィンドウ (アイテムの選択)
この状態でドラッグすることにより、アイテムサイズの変更や移動ができます。

3.11.7

アイテムをコピーするツールバーの ボタンをクリックするか、ポップアップメニューの[コピー]を選択してください。
マウスカーソルの形状が"＋"に変化します。
この状態でコピー元のアイテムをクリックしてください。ツールバーの ボタンをクリックする
か、ポップアップメニューの[貼り付け]を選択してください。コピー元と同サイズのアイテムが作成されます。

3.11.8

アイテムを削除する

ツールバーの ボタンをクリックするか、ポップアップメニューの[削除]を選択してください。マウスカーソルの形状が"＋"に変化します。
この状態で削除するアイテムをクリックしてください。

3.11.9グリッド線を表示する

ツールバーのボタンをクリックするか、ポップアップメニューの[グリッドの表示]を選択してください。背景にグリッドを表示します。

図 3-67 GUI I/O ウィンドウ (グリッドの表示)
再度

78

ボタンをクリックすることにより、グリッドを非表示にします。

3.

デバッグ

3.11.10 入出力パネル情報を保存する作成した入出力パネルは、その情報をファイルに保存することにより、再利用することができます。
ツールバーのボタンをクリックするか、ポップアップメニューの[保存]を選択してください。
[GUI I/O パネルファイルの保存]ダイアログボックスが開きます。
保存先ディレクトリとファイル名を指定してください。

3.11.11 入出力パネル情報を読み込む
ツールバーのボタンをクリックするか、ポップアップメニューの[読み込み]を選択してください。 [GUI I/O パネルファイルの読み込み]ダイアログボックスが開きます。
読み込むファイルを指定してください。読み込む前のパネル情報は削除されます。

79

3.

80

デバッグ

4.

ウィンドウ

ウィンドウ一覧を表 4-1に示します。
ツールバーボタンについては、シミュレータ･デバッガヘルプを参照ください。
表 4-1

ウィンドウ一覧

ウィンドウ名機能

IO

I/O レジスタを見る

I/O シミュレーション

標準入出力およびファイル入出力を行う

イベントポイント

シミュレータ・デバッガのブレークポイントを使用する

ウォッチ

変数を表示する（任意の変数）

エディタ

ソースコードを表示する

画像

メモリ内容を画像形式で表示する

カバレジ

コードカバレジを測定する

逆アセンブリ

アセンブリ言語コードを表示する

コマンドラインコマンドラインインタフェースでデバッグ

スタックトレース

関数呼び出し履歴を見る

ステイタス

現在の状態の参照

トリガ

手動で擬似割り込みを発生させる

トレース

トレース情報を見る

波形

メモリ内容を波形形式で表示する

パフォーマンス解析

パフォーマンスを解析する

プロファイル／プロファイル
チャート

プロファイル情報を見る

メモリ

メモリ領域を見る

ラベル

ラベルを参照／設定する

レジスタ

レジスタ内容を見る

ローカル

変数を表示する（ローカル変数）

GUI I/O

仮想入出力パネルを作成する

81

4.

82

ウィンドウ

5.

コマンドライン5.1

コマンド一覧（機能別）

機能別のコマンド一覧を示します。
各コマンドのシンタックスは、ヘルプを参照ください。

実行関連

5.1.1
GO

コマンド名

短縮形
GO

説 明
ユーザプログラムの実行

GO_RESETGR

リセットベクタからのユーザプログラムの実行

GO_TILL

GT

テンポラリブレークポイントまでのユーザプログラムの実行

HALT

HA

ユーザプログラムの停止

RESET

RE

CPU のリセット

STEP

ST

ステップ実行(命令単位またはソース行単位)

STEP_MODE

SM

ステップモードの設定

STEP_OUTSP

PC 位置の関数を終了するまでのステップ実行

STEP_OVER

SO

ステップオーバ実行

STEP_RATE

SR

ステップ実行速度の設定、表示

ダウンロード関連

5.1.2

コマンド名

短縮形

説 明

BUILD

BU

カレントプロジェクトのビルド

BUILD_ALL

BL

カレントプロジェクトのすべてをビルド

BUILD_FILE

BF

ファイルのコンパイル

BUILD_MULTIPLE

BM

複数プロジェクトのビルド

CLEAN

CL

ビルドの中間ファイルおよび出力ファイルの削除

DEFAULT_OBJECT_FORMAT

DO

デフォルトオブジェクト（プログラム）フォーマットの設定

FILE_LOAD

FL

オブジェクト(プログラム)ファイルのロード

FILE_LOAD_ALL

LA

すべてのオブジェクト(プログラム)ファイルのロード

FILE_SAVE

FS

メモリ内容のファイルセーブ

FILE_UNLOAD

FU

オブジェクト(プログラム)ファイルのアンロード

FILE_UNLOAD_ALL

UA

すべてのオブジェクト(プログラム)ファイルのアンロード

FILE_VERIFY

FV

ファイル内容とメモリ内容の比較

GENERATE_MAKE_FILE

GM

カレントワークスペースの make ファイル作成

83

5.

コマンドライン

5.1.3

レジスタ操作関連
コマンド名

短縮形

説 明

REGISTER_DISPLAY

RD

レジスタ値の表示

REGISTER_SET

RS

レジスタ値の設定

5.1.4

メモリ操作関連
コマンド名

短縮形

説 明

CACHE

-

メモリキャッシュの有効化／無効化

MEMORY_COMPARE

MC

メモリ内容の比較

MEMORY_DISPLAY

MD

メモリ内容の表示

MEMORY_EDIT

ME

メモリ内容の変更

MEMORY_FILL

MF

指定データによるメモリ内容の一括変更

MEMORY_FIND

MI

メモリ内容の検索

MEMORY_MOVE

MV

メモリブロックの移動

MEMORY_TEST

MT

メモリブロックのテスト

5.1.5

アセンブル/逆アセンブル関係
コマンド名

短縮形

説 明

ASSEMBLE

AS

アセンブルの実行

DISASSEMBLE

DA

逆アセンブル表示

SYMBOL_ADD

SA

シンボルの設定

SYMBOL_CLEAR

SC

シンボルの削除SYMBOL_LOAD

SL

シンボル情報ファイルのロード

SYMBOL_SAVE

SS

シンボル情報のファイルセーブ

SYMBOL_VIEW

SV

シンボルの表示5.1.6

ブレーク設定関連
コマンド名

短縮形

説 明

BREAKPOINT

BP

実行命令位置によるブレークポイントの設定

BREAK_ACCESS

BA

メモリ範囲のアクセスによるブレーク条件の設定

BREAK_CLEAR

BC

ブレークポイントの削除

BREAK_CYCLE

BCY

サイクルによるブレーク条件の設定

BREAK_DATA

BD

メモリのデータ値によるブレーク条件の設定

BREAK_DATA_DIFFERENCE

BDD

メモリのデータ値の変化量(差分)によるブレーク条件の設定

BREAK_DATA_INVERSE

BDI

メモリのデータ値の符号反転によるブレーク条件の設定

BREAK_DISPLAY

BI

ブレークポイント一覧の表示

BREAK_ENABLE

BE

ブレークポイントの有効/無効の切換え

BREAK_REGISTER

BR

レジスタのデータ値によるブレーク条件の設定

BREAK_SEQUENCE

BS

実行順序を指定したブレークポイントの設定

SET_DISASSEMBLY_SOFT_BRE

SDB

逆アセンブリレベルのソフトウェアブレークポイントの設定

84

5.

コマンド名

短縮形

コマンドライン

説 明
または解除

AK
SET_SOURCE_SOFT_BREAK

SSB

ソースレベルのソフトウェアブレークポイントの設定または解除

STATE_DISASSEMBLY_SOFT_B
REAK

TDB

逆アセンブリレベルのソフトウェアブレークポイントの有効化または無効化

STATE_SOURCE_SOFT_BREAK

TSB

ソースレベルのソフトウェアブレークポイントの有効化または無効化

トレース関連

5.1.7

コマンド名

短縮形

説 明

TRACE

TR

トレース情報の表示

TRACE_ACQUISITION

TA

トレース情報取得の有効/無効の切換え

TRACE_SAVE

TV

トレース情報をファイルへ出力

TRACE_STATISTIC

TST

統計情報解析の実行

カバレジ計測関連

5.1.8

コマンド名

短縮形

説 明

CV

カバレジ測定の有効化／無効化

COVERAGE_DISPLAY

CVD

カバレジ情報の表示

COVERAGE_LOAD

CVL

カバレジ情報のロード

COVERAGE_RANGE

CVR

カバレジ範囲の設定

COVERAGE_SAVE

CVS

カバレジ情報のセーブ

COVERAGE

5.1.9

パフォーマンス測定関連
コマンド名

短縮形

説 明

ANALYSIS

AN

性能分析機能の有効化／無効化

ANALYSIS_RANGE

AR

性能評価関数の設定、表示

ANALYSIS_RANGE_DELETE

AD

性能分析範囲の削除

PROFILEPR

プロファイルの有効化／無効化

PROFILE_DISPLAY

PD

プロファイル情報の表示

PROFILE_SAVE

PS

プロファイル情報のファイル出力

5.1.10

ウォッチ関連
コマンド名

WATCH_ADD

短縮形
WA

説 明
Watch アイテムの追加

WATCH_AUTO_UPDATEWU

Watch アイテムの自動更新の設定または解除

WATCH_DELETE

WD

Watch アイテムの削除

WATCH_DISPLAY

WI

ウォッチウィンドウの内容の表示

85

5.

コマンドライン

コマンド名

短縮形

説 明

WATCH_EDIT

WE

Watch アイテムの値の編集

WATCH_EXPAND

WX

Watch アイテムの展開または縮小

WATCH_RADIX

WR

Watch アイテムの表示基数の変更

WATCH_RECORD

WO

Watch アイテムの値更新履歴をファイルに出力

WATCH_SAVE

WS

ウォッチウィンドウの表示内容をファイルに保存

5.1.11

スクリプト/ログファイル関連
コマンド名

短縮形

説 明

!

-

コメント

ASSERT-

コンディションのチェック

AUTO_COMPLETE

AC

オートコンプリート機能の有効化／無効化

ERASE

ER

コマンドラインウィンドウの内容のクリア

EVALUATE

EV

式の計算

LOG

LO

ロギングファイルの操作

SLEEP

-

コマンド実行の遅延

SUBMIT

SU

コマンドファイルの実行

TCL-

TCL の情報を表示

5.1.12

マップ関連
コマンド名

短縮形

説 明

MAP_DISPLAY

MA

メモリリソース設定の表示

MAP_SETMS

メモリリソースの設定

5.1.13シミュレーションの設定関連
コマンド名

短縮形

説 明

EXEC_MODE

EM

実行モードの設定、表示

EXEC_STOP_SET

ESS

割り込み発生時の実行モードの設定、表示

5.1.14標準入出力およびファイル入出力関連
コマンド名

SIMULATEDIO_CLEAR

短縮形
SIOC

説 明
I/O シミュレーションウィンドウの内容のクリア

TRAP_ADDRESSTP

I/O シミュレーションアドレスの設定

TRAP_ADDRESS_DISPLAY

TD

I/O シミュレーションアドレス設定の表示

TRAP_ADDRESS_ENABLE

TE

I/O シミュレーション有効化／無効化

86

5.

コマンドラインユーティリティ関連

5.1.15

コマンド名
HELP

短縮形
HE

説 明
コマンドラインヘルプの表示

INITIALIZE

IN

デバッグプラットフォームの初期化

QUIT

QU

HEW の終了

RADIX

RA

入力ラディックス(基数)の設定

RESPONSE

RP

ウィンドウリフレッシュ間隔の設定

STATUS

STA

デバッグプラットフォームの状況表示

TOOL_INFORMATION

TO

現在登録されているツールの情報をファイルへ出力

5.1.16

プロジェクト/ワークスペース関連
コマンド名

短縮形

説 明

ADD_FILE

AF

カレントプロジェクトへのファイル追加

CHANGE_CONFIGURATION

CC

コンフィギュレーションの設定

CHANGE_PROJECT

CP

プロジェクトの設定

CHANGE_SESSION

CS

セッションの設定

CHANGE_SUB_SESSION

CB

同期デバッグが有効な場合のアクティブセッションの変更

CLEAR_OUTPUT_WINDOW

COW

アウトプットウィンドウの各タブの表示内容クリア

CLOSE_WORKSPACE

CW

ワークスペースを閉じる

OPEN_WORKSPACE

OW

ワークスペースのオープン

REFRESH_SESSION

RSE

セッション情報の再読み込み

REMOVE_FILE

REM

カレントプロジェクトからのファイル削除

SAVE_SESSION

SE

現在のセッションをセーブ

SAVE_WORKSPACE

SW

ワークスペースをセーブ

UPDATE_ALL_DEPENDENCIES

UD

カレントプロジェクトのすべての依存関係更新

5.1.17

テスト支援機能関連
コマンド名

短縮形

説 明

CTS

テストスウィートを閉じる

COMPARE_TEST_DATA

CTD

テストデータの比較

OPEN_TEST_SUITE

OTS

テストスイートを開く

RUN_TESTRT

テストの実行

CLOSE_TEST_SUITE

87

コマンドライン5.

コマンド一覧（アルファベット順）

5.2

アルファベット順コマンド一覧を示します。
各コマンドのシンタックスは、ヘルプを参照ください。
表 5-1
項番
1

コマンド名
!

コマンド一覧

短縮形

説 明

-

コメント

2

ADD_FILE

AF

カレントプロジェクトへのファイル追加

3

ANALYSIS

AN

性能分析機能の有効化／無効化

4

ANALYSIS_RANGE

AR

性能評価関数の設定、表示

5

ANALYSIS_RANGE_DELETE

AD

性能分析範囲の削除

6

ASSEMBLE

AS

アセンブルの実行

7

ASSERT-

コンディションのチェック

8

AUTO_COMPLETE

AC

オートコンプリート機能の有効化／無効化

9

BREAKPOINT

BP

実行命令位置によるブレークポイントの設定

10

BREAK_ACCESS

BA

メモリ範囲のアクセスによるブレーク条件の設定

11

BREAK_CLEAR

BC

ブレークポイントの削除

12

BREAK_CYCLE

BCY

サイクルによるブレーク条件の設定

13

BREAK_DATA

BD

メモリのデータ値によるブレーク条件の設定

14

BREAK_DATA_DIFFERENCE

BDD

メモリのデータ値の変化量(差分)によるブレーク条件の設定

15

BREAK_DATA_INVERSE

BDI

メモリのデータ値の符号反転によるブレーク条件の設定

16

BREAK_DISPLAY

BI

ブレークポイント一覧の表示

17

BREAK_ENABLE

BE

ブレークポイントの有効/無効の切替

18

BREAK_REGISTER

BR

レジスタのデータ値によるブレーク条件の設定

19

BREAK_SEQUENCE

BS

実行順序を指定したブレークポイントの設定

20

BUILD

BU

カレントプロジェクトのビルド

21

BUILD_ALL

BL

カレントプロジェクトのすべてのビルド

22

BUILD_FILE

BF

ファイルのコンパイル

23

BUILD_MULTIPLE

BM

複数プロジェクトのビルド

24

CACHE

-

メモリキャッシュの有効化／無効化

25

CHANGE_CONFIGURATION

CC

コンフィギュレーションの設定

26

CHANGE_PROJECT

CP

プロジェクトの設定

27

CHANGE_SESSION

CS

セッションの設定

28

CHANGE_SUB_SESSION

CB

同期デバッグが有効な場合のアクティブセッションの変更

29

CLEAN

CL

ビルドの中間ファイルおよび出力ファイルの削除

30

CLEAR_OUTPUT_WINDOW

COW

アウトプットウィンドウの各タブの表示内容クリア

31

CLOSE_TEST_SUITE

CTS

テストスウィートを閉じる

32

CLOSE_WORKSPACE

CW

ワークスペースを閉じる

33

COMPARE_TEST_DATA

CTD

テストデータの比較

34

COVERAGE

CV

カバレジ測定の有効化／無効化

35

COVERAGE_DISPLAY

CVD

カバレジ情報の表示

36

COVERAGE_LOAD

CVL

カバレジ情報のロード

37

COVERAGE_RANGE

CVR

カバレジ範囲の設定

38

COVERAGE_SAVE

CVS

カバレジ情報のセーブ

88

5.

項番

コマンド名

コマンドライン

短縮形

説 明

39

DEFAULT_OBJECT_FORMAT

DO

デフォルトオブジェクト（プログラム）フォーマットの設定

40

DISASSEMBLE

DA

逆アセンブル表示

41

ERASE

ER

[コマンドライン]ウィンドウの内容のクリア

42

EVALUATE

EV

式の計算

43

EXEC_MODE

EM

実行モードの設定、表示

44

EXEC_STOP_SET

ESS

割込み発生時の実行モードの設定、表示

45

FILE_LOAD

FL

オブジェクト(プログラム)ファイルのロード

46

FILE_LOAD_ALL

LA

すべてのオブジェクト(プログラム)ファイルのロード

47

FILE_SAVE

FS

メモリ内容のファイルセーブ

48

FILE_UNLOAD

FU

オブジェクト(プログラム)ファイルのアンロード

49

FILE_UNLOAD_ALL

UA

すべてのオブジェクト(プログラム)ファイルのアンロード

50

FILE_VERIFY

FV

ファイル内容とメモリ内容の比較

51

GENERATE_MAKE_FILE

GM

カレントワークスペースの make ファイル作成

52

GO

GO

ユーザプログラムの実行

53

GO_RESETGR

リセットベクタからのユーザプログラムの実行

54

GO_TILL

GT

テンポラリブレークポイントまでのユーザプログラムの実行

55

HALT

HA

ユーザプログラムの停止

56

HELP

HE

コマンドラインのヘルプ表示

57

INITIALIZE

IN

デバッグプラットフォームの初期化

58

LOG

LO

ロギングファイルの操作

59

MAP_DISPLAY

MA

メモリリソース設定の表示

60

MAP_SETMS

メモリリソースの設定

61

MEMORY_COMPARE

MC

メモリ内容の比較

62

MEMORY_DISPLAY

MD

メモリ内容の表示

63

MEMORY_EDIT

ME

メモリ内容の変更

64

MEMORY_FILL

MF

指定データによるメモリ内容の一括変更

65

MEMORY_FIND

MI

メモリ内容の検索

66

MEMORY_MOVE

MV

メモリブロックの移動

67

MEMORY_TEST

MT

メモリブロックのテスト

68

OPEN_TEST_SUITE

OTS

テストスイートを開く

69

OPEN_WORKSPACE

OW

ワークスペースのオープン

70

PROFILEPR

プロファイルの有効化／無効化

71

PROFILE_DISPLAY

PD

プロファイル情報の表示

72

PROFILE_SAVE

PS

プロファイル情報のファイル出力

73

QUIT

QU

HEW の終了

74

RADIX

RA

入力ラディックス(基数)の設定

75

REFRESH_SESSION

RSE

セッション情報の再読み込み

76

REGISTER_DISPLAY

RD

レジスタ値の表示

77

REGISTER_SET

RS

レジスタ値の設定

78

REMOVE_FILE

REM

カレントプロジェクトからのファイル削除

79

RESET

RE

CPU のリセット

80

RESPONSE

RP

ウィンドウリフレッシュ間隔の設定

81

RUN_TESTRT

テストの実行

82

SLEEP

-

コマンド実行の遅延89

5.

コマンドライン

項番

コマンド名

短縮形
SE

説 明
現在のセッションをセーブ

83

SAVE_SESSION84

SAVE_WORKSPACE

SW

ワークスペースの保存85

SET_DISASSEMBLY_SOFT_BR
EAK

SDB

逆アセンブリレベルのソフトウェアブレークポイントの設定
または解除

86

SET_SOURCE_SOFT_BREAK

SSB

ソースレベルのソフトウェアブレークポイントの設定または解除

87

SIMULATEDIO_CLEAR

SIOC

I/O シミュレーションウィンドウの内容のクリア

88

STATE_DISASSEMBLY_SOFT_
BREAK

TDB

逆アセンブリレベルのソフトウェアブレークポイントの有効化または無効化

89

STATE_SOURCE_SOFT_BREAK

TSB

ソースレベルのソフトウェアブレークポイントの有効化また
は無効化

90

STATUS

STA

デバッグプラットフォームの状況表示

91

STEP

ST

ステップ実行(命令単位またはソース行単位)

92

STEP_MODE

SM

ステップモードの設定

93

STEP_OUTSP

PC 位置の関数を終了するまでのステップ実行

94

STEP_OVER

SO

ステップオーバ実行

95

STEP_RATE

SR

ステップ実行速度の設定、表示

96

SUBMIT

SU

コマンドファイルの実行

97

SYMBOL_ADD

SA

シンボルの設定98

SYMBOL_CLEAR

SC

シンボルの削除

99

SYMBOL_LOAD

SL

シンボル情報ファイルのロード

100

SYMBOL_SAVE

SS

シンボル情報のファイルセーブ

101

SYMBOL_VIEW

SV

シンボルの表示

102

TCL

-

TCL の有効化／無効化

103

TOOL_INFORMATION

TO

現在登録されているツールの情報をファイルへ出力

104

TRACE

TR

トレース情報の表示

105

TRACE_ACQUISITION

TA

トレース情報取得の有効/無効の切替

106

TRACE_SAVE

TV

トレース情報をファイルへ出力

107

TRACE_STATISTIC

TST

統計情報解析の実行

108

TRAP_ADDRESSTP

I/O シミュレーションアドレスの設定

109

TRAP_ADDRESS_DISPLAY

TD

I/O シミュレーションアドレス設定の表示
I/O シミュレーションコール有効化／無効化

110

TRAP_ADDRESS_ENABLE

TE

111

UPDATE_ALL_DEPENDENCIES

UD

カレントプロジェクトのすべての依存関係更新

112

WATCH_ADD

WA

Watch アイテムの追加

113

WATCH_AUTO_UPDATEWU

Watch アイテムの自動更新の設定または解除

114

WATCH_DELETE

WD

Watch アイテムの削除

115

WATCH_DISPLAY

WI

ウォッチウィンドウの内容の表示

116

WATCH_EDIT

WE

Watch アイテムの値の編集

117

WATCH_EXPAND

WX

Watch アイテムの展開または縮小

118

WATCH_RADIX

WR

Watch アイテムの表示基数の変更

119

WATCH_RECORD

WO

Watch アイテムの値更新履歴をファイルに出力

120

WATCH_SAVE

WS

ウォッチウィンドウの表示内容をファイルに保存

90

6.

メッセージ一覧

6.1

インフォメーションメッセージ

シミュレータ・デバッガは実行経過をユーザに知らせるため、インフォメーションメッセージを出力します。シミュレータ・デバッガの出力するインフォメーションメッセージを表 6-1に示します。
表 6-1

インフォメーションメッセージ一覧

メッセージ

内容

Break Access (Access
Address:H’nnnnnn, Type:xxxx,
Access Size:yyyy)

ブレークアクセス条件が成立して実行を中断しました。付加情報として成立したブレークアクセス条件(アクセスアドレス(Access Address)、アクセス種別(Type)、およびアクセスサイズ(Access Size))を表示します。

Break Cycle (Cycle:H’nnnnnnnn)

ブレークサイクル条件が成立して実行を中断しました。付加情報として成立したブレークサイクル条件(サイクル数(Cycle))を表示します。

Break Data (Access
Address:H’nnnnnn, Data:H’mmmm)

ブレークデータ条件(一致、または不一致)が成立して実行を中断しました。付
加情報として成立したブレークデータ条件(アクセスアドレス(Access
Address)、および値(Data))を表示します。

Break Data (Access
Address:H’nnnnnn, Previous
Data:H’mmmm, Current
Data:H’mmmm)

ブレークデータ条件(符号反転、または差分)が成立して実行を中断しました。
付加条件として成立したブレークデータ条件(アクセスアドレス(Access
Address)、前回値(Previous Data)、および今回値(Current Data))を表示します。

Break Register (Register:XX,
Value:H’mmmm)

ブレークレジスタ条件が成立して実行を中断しました。付加情報として成立したブレークレジスタ条件(レジスタ名(Register)、および値(Value))を表示します。

Break Sequence (PC:H’nnnnnn)

ブレークシーケンス条件が成立して実行を中断しました。付加情報として成立したブレークシーケンス条件(最後の命令アドレス(PC))を表示します。

I/O DLL Stop

周辺機能が停止しました。

PC Breakpoint (PC:H’nnnnnn)

ブレークポイント条件が成立して実行を中断しました。付加情報として成立したブレークポイント条件(命令アドレス(PC))を表示します。

Sleep

SLEEP 命令により実行を中断しました。

Step Normal End

ステップ実行が正常に終了しました。

Stop[STOP]ボタンにより実行を中断しました。

Trace Buffer Full

[トレース取得]ダイアログボックスの[トレースバッファ満杯時の動作]で[停止]モードを選択しており、かつトレースバッファが満杯となったので実行を中断しました。

91

6.

メッセージ一覧

6.2

エラーメッセージ

シミュレータ・デバッガはユーザプログラムや操作の誤りをユーザに知らせるため、エラーメッ
セージを出力します。シミュレータ・デバッガの出力するエラーメッセージを表 6-2に示します。
表 6-2

エラーメッセージ一覧

メッセージ

内容・対策

Address Error

以下のいずれかの状態になりました。
（1）PC 値が奇数である（2）内蔵 I/O 空間から命令読み出しを行おうとした（3）ワードデータを（2n）番地以外からアクセスしようとした（4）ロングワードデータを（2n）番地以外からアクセスしようとした
エラーが発生しないようにユーザプログラムを修正してください。

Exception Error

例外処理でエラーが発生しました。
エラーが発生しないようにユーザプログラムを修正してください。

File Open Error

Break の FileInput/Output アクションでファイルオープンに失敗しました。
ファイル指定を見直してください。

File Input Error

Break の File Input アクションでファイル読込みに失敗しました。
ファイル指定を見直してください。

File Output Error

Break の File Output アクションでファイル書出しに失敗しました。
ファイル指定を見直してください。

Illegal Instruction

以下のいずれかの状態になりました。
（1）命令ではないコードを実行しようとした（2）MOV.B Rn,@-SP または、MOV.B @SP+,Rn を実行しようとした
エラーが発生しないようにユーザプログラムを修正してください。

Illegal Operation

以下のいずれかの状態になりました。
（1）DAA 命令、DAS 命令で CCR の C フラグ、H フラグと補正前の値の関係が不正である（2）DIVXU 命令、DIVXS 命令でゼロ除算または、オーバフローが発生した
エラーが発生しないようにユーザプログラムを修正してください。

I/O area not exist

I/O 領域を削除しました。
I/O 領域は必ず設定してください。

I/O DLL Illegal Interrupt
Information (errNum=2xx)

割込み情報が不正です。詳細情報を[errNum]に示します。割込み情報を修正してください。

I/O DLL Memory Access Error(errNum=0xx,
Address=0xXXXXXXXX)

92

errNum説明

200

指定したベクタが範囲外です201

指定した優先度が範囲外です

周辺機能へのメモリアクセスでエラーが発生しました。詳細内容を[errNum]、
エラー発生アドレスを[Addess]に示します。エラー情報に従ってプログラムを修正してください。
errNum説明

001

指定したアドレスが範囲外です

002

指定した領域にメモリがありません

003

必要なメモリが確保できません

004

指定したデータサイズが範囲外です005

指定したアドレスにアクセスできません6.

メッセージ一覧

メッセージ

内容・対策

I/O DLL Register Access Error(errNum=1xx,
RegisterName=xxxx)

周辺機能へのレジスタアクセスでエラーが発生しました。詳細内容を[errNum]、エラー発生レジスタを[RegisterName]に示します。エラー情報に従ってプログラムを修正してください。

Memory Access Error(Address:H’nnnnnn)

errNum説明

100

レジスタの記述に誤りがあります

101

指定したデータ値が不正です

以下のいずれかの状態になりました。付加情報としてエラーの発生したアドレス(Address)を表示します。
（1）確保していないメモリ領域をアクセスしようとした（2）書き込み不可属性を持つメモリへの書き込みを行おうとした（3）読み出し不可属性を持つメモリからの読み出しを行おうとした（4）メモリが存在しない領域をアクセスしようとした（5）EEPMOV 命令以外で EEPROM へ書き込みを行おうとした
メモリの確保、属性変更を行うか、当該メモリアクセスが発生しないように
ユーザプログラムを修正してください。

System Call Error

I/O シミュレーションエラーが発生しました。
レジスタ R0,R1 およびパラメータブロックの内容の誤りを修正してください。

The memory resource has notbeen set up

メモリマップ範囲外にメモリリソースを設定しました。
エラーが発生しないようにメモリリソース設定を修正してください。

93

6.

94

メッセージ一覧

7.

チュートリアル7.1

デバッグの準備

シミュレータ・デバッガの主な特徴をサンプルプログラムを用いて説明します。
注意
本章の使用例（図）の内容は、ご使用になるコンパイラのバージョンによって変わってくる場合がありますのでご了承ください。

7.1.1

サンプルプログラム

サンプルプログラムは、10 個のランダムデータを昇順にソートした後、降順にソートする C プロ
グラムに基づいています。
サンプルプログラムでは、以下の処理を行います。
••

main関数でソートするランダムデータを生成します。
sort関数ではmain関数で生成したランダムデータを格納した配列を入力し、昇順にソートします。

•

change関数では、sort関数で生成した配列を入力し、降順にソートします。

•

printf関数を用いて、ランダムデータ、ソートしたデータを表示します。

サンプルプログラムは、HEWのデモンストレーションプログラムを用います。

7.1.2

サンプルプログラムの作成

下記に注意して HEW のデモンストレーションプログラムを作成してください。
•「新規ワークスペースを作成する」では[Project Type]に”Demonstration”を指定してください。

•[CPUシリーズ: ] は”2600”を、[ターゲット: ] は”H8S/2600N Simulator”を選択してください。

•

コンフィギュレーションは、ツールバーより”SimDebug_H8S-2600N”をビルド前に選択して
ください。

•

セッションは、ツールバーより”SimSessionH8S-2600N”を選択してください。

•

本デモンストレーションプログラムでは周辺機能（タイマ）は利用しないので、セッショ
ン切換え時に表示される[周辺機能シミュレーションの設定]ダイアログボックスは[このダイアログを表示しない]チェックボックスチェック後に[OK]ボタンをクリックしてください。

デバッグ機能の説明のため、Demonstrationは最適化なしの設定になっています。最適化の設定は変95

7.

チュートリアル

更しないでください。

7.2

デバッグのための設定

7.2.1

メモリリソースの確保

開発しているアプリケーションを動作させるためにメモリリソースの確保が必要です。デモンスト
レーションプロジェクトでは、自動的にメモリリソースを確保しますので、設定を確認してください。
•[基本設定]メニューから [シミュレータ -> メモリリソース...]を選択し、現在のメモリリ
ソースを表示してください。

図 7-1

シミュレータシステムダイアログボックス（メモリページ）

プログラム領域およびスタック領域として H'00000000 から H'0000FFFF を読み出し/書き込み可能領域として確保しています。
•[OK]ボタンをクリックしてダイアログボックスを閉じてください。

メモリリソースは、[H8S,H8/300 Standard Toolchain]ダイアログボックスの[デバッガ]ページでも参照／変更ができます。おたがいの変更は反映されます。

96

7.

7.2.2

チュートリアルサンプルプログラムのダウンロード

デモンストレーションプロジェクトでは、ダウンロードするサンプルプログラムを自動的に設定しますので、設定を確認してください。
•[デバッグ]メニューから [デバッグの設定...]を選択して、[デバッグの設定]ダイアログボック
スを開いてください。

図 7-2
•
•
•

デバッグの設定ダイアログボックス[ダウンロードモジュール]に設定しているファイルがダウンロードするファイルです。
[OK]ボタンをクリックして[デバッグの設定]ダイアログボックスを閉じてください。
[デバッグ]メニューから [ダウンロード -> All Download Modules]を選択して、サンプルプロ
グラムをダウンロードしてください。

97

7.

チュートリアル7.2.3

ソースプログラムの表示

HEW では、ソースレベルでプログラムをデバッグできます。ソースプログラム（”Tutorial.c”）を表示してください。
•[ワークスペース]ウィンドウの Tutorial.c をダブルクリックして[ソース]ウィンドウを開いて
ください。

図 7-3

98

ソースウィンドウ（ソースプログラムの表示）

7.

7.2.4

チュートリアルPCブレークポイントの設定[ソース]ウィンドウによって、ブレークポイントを簡単に設定できます。以下のようにして sort 関
数のコール箇所にブレークポイントを設定します。
•

sort 関数コールを含む行にカーソルを移動して右クリックし、ポップアップメニューの［ブレークポイントの挿入／削除］を選択してください。

図 7-4

ソースウィンドウ（ブレークポイントの設定）

sort 関数コールを含む行に●を表示し、そのアドレスに PC ブレークポイントを設定したことを示
します。

99

7.

チュートリアル

7.2.5•

プロファイラの設定[表示]メニューから [パフォーマンス -> プロファイル]を選択し、[プロファイル]ウィンド
ウを開いてください。

図 7-5
•

100

プロファイルウィンドウ[プロファイル]ウィンドウ上で右クリックしてポップアップメニューを表示し、[有効]を選択してプロファイラ情報取得を有効にしてください。

7.

7.2.6

チュートリアルI/Oシミュレーションの設定

デモンストレーションプロジェクトでは、自動的にI/Oシミュレーションを設定しますので、設定を確認してください。
•[基本設定]メニューから [シミュレータ -> システム]を選択して、[シミュレータシステム]
ダイアログボックスを開いてください。

図 7-6
•
•
•

シミュレータシステムダイアログボックス（システムページ）[I/O シミュレーションアドレス]の [有効]にチェックがあることを確認してください。
[OK]ボタンをクリックして I//O シミュレーションを有効にしてください。
[表示]メニューから [CPU -> I/O シミュレーション]を選択し、[I/O シミュレーション]ウィ
ンドウを開いてください。[I/O シミュレーション]ウィンドウを開かなければ、I/O シミュレー
ションが有効になりません。

101

チュートリアル

7.

図 7-7

7.2.7
•

I/O シミュレーションウィンドウ

トレース情報取得条件の設定[表示]メニューから [コード -> トレース]を選択し、[トレース]ウィンドウを開いてください。さらに、[トレース]ウィンドウ上で右クリックしてポップアップメニューを表示し、[設定...]を選択してください。

以下の[トレース取得]ダイアログボックスを表示します。

図 7-8
•

102

トレース取得ダイアログボックス[トレース取得]ダイアログボックスの [トレース開始／停止]を [有効]に設定し、[OK]ボタンをクリックしてトレース情報取得を有効にしてください。

7.

7.2.8

チュートリアル

スタックポインタ、プログラムカウンタの設定

プログラムを実行するために、プログラムカウンタをリセットベクタから設定してください。サン
プルプログラムのリセットベクタには PC 値として H’400 が書いてあります。
•[デバッグ]メニューから [CPU のリセット]を選択するか、 またはツールバー上の[CPU リ
セット]ボタンをクリックしてください。

リセットベクタからプログラムカウンタに H’400 を設定します。

図 7-9

7.3

デバッグ開始7.3.1

プログラムの実行•

CPU リセットボタン

プログラムを実行するには、[デバッグ]メニューから [実行]を選択するか、またはツールバー
上の[実行]ボタンをクリックしてください。

図 7-10

実行ボタン

プログラムはブレークポイントを設定したところまで実行します。プログラムが停止した位置を示すために [ソース]ウィンドウに⇒を表示します。また 停止要因として[アウトプット]ウィンドウに”PC Breakpoint (PC:H’0B36)”を表示します。

103

7.

チュートリアル

図 7-11

104

ソースウィンドウ（ブレーク状態）

7.

チュートリアル[ステイタス]ウィンドウで停止要因が確認できます。
• [表示]メニューから [CPU -> ステイタス]を選択し、[ステイタス]ウィンドウを開いてください。さらに、[ステイタス]ウィンドウのうち [Platform]シートを表示してください。

図 7-12

ステイタスウィンドウ

これは、以下の実行内容を表示します。
① ブレークの原因は PCブレーク② リセットからの実行③ GOコマンドでの実行命令数は39,580命令④ パイプラインリセットからの実行サイクル数は278,634サイクル

105

チュートリアル

7.

[レジスタ]ウィンドウでレジスタの値が確認できます。
• [表示]メニューから [CPU -> レジスタ]を選択してください。

図 7-13

レジスタウィンドウ

プログラム停止時の各レジスタの値を確認することができます。

7.3.2

トレースバッファの使い方

トレースバッファを使って、命令実行の履歴を知ることができます。
• [表示]メニューから [コード -> トレース]を選択し、[トレース]ウィンドウを開いてください。ウィンドウの最上部までスクロールアップしてください。

図 7-14106

トレースウィンドウ（トレース情報の表示）

7.

7.3.3

チュートリアルトレース検索の実行

最初に、[トレース]ウィンドウ上で右クリックしてポップアップメニューを表示し、[トレース検索...]を選択して、[トレース検索]ダイアログボックスを開いてください。

図 7-15

トレース検索ダイアログボックス

検索項目 [項目]と検索内容 [値]を設定して [OK]ボタンをクリックすると、トレース検索を実行します。該当するトレース情報があった場合、該当する最初の行を強調表示します。同じ検索内容 [値]でトレース検索を続ける場合は、[トレース]ウィンドウ上で右クリックしてポップアップメニューを表示し、[次を検索]を選択してください。次に該当する行を強調表示します。

図 7-16

トレースウィンドウ（検索結果）

107

7.

チュートリアル

7.3.4

I/Oシミュレーションの確認

printf 関数で表示したランダムデータを[I/O シミュレーション]ウィンドウで確認することができます。

図 7-17•7.3.5

I/O シミュレーションウィンドウ[I/O シミュレーション]ウィンドウは閉じないでください。

ブレークポイントの確認プログラムに設定した全てのブレークポイントのリストを[イベントポイント]ウィンドウで確認することができます。
•[表示]メニューから [コード -> イベントポイント]を選択してください。

図 7-18

イベントポイントウィンドウ[イベントポイント]ウィンドウによって、ブレークポイントの設定、新しいブレークポイントの定義、およびブレークポイントの削除ができます。
[イベントポイント]ウィンドウを閉じてください。

108

7.

7.3.6

チュートリアル

変数の参照

プログラムで使用する変数の値を[ウォッチ]ウィンドウで確認することができます。たとえば、プ
ログラムの始めに宣言した long 型の配列 a を見る場合：•[表示]メニューから [シンボル -> ウォッチ]を選択し[ウォッチ]ウィンドウを表示してください。さらに、[ウォッチ]ウィンドウ上で右クリックしてポップアップメニューを表示し、[シンボル登録...]を選択してください。

以下の [シンボル登録]ダイアログボックスを表示します。

図 7-19•

シンボル登録ダイアログボックス

配列 “a” をタイプし、[OK]ボタンをクリックします。

[ウォッチ]ウィンドウに、long 型の配列 a を表示します。
配列 a の前にあるシンボル＋をクリックすると、配列を拡張して表示します。

図 7-20•

ウォッチウィンドウ

[ウォッチ]ウィンドウを閉じてください。

109

チュートリアル

7.

7.3.7

プログラムのステップ実行

シミュレータ・デバッガは、プログラムのデバッグに有効な各種のステップメニューを備えていま
す。
メニュー

説明

ステップイン
ステップオーバ
ステップアウト

各ステートメントを実行します（関数内のステートメントを含む）。
関数コールを１ステップとして、ステップ実行します。
関数を抜け出し、関数を呼び出したプログラムにおける次のステートメントで停止します。

ステップ…

指定した速度で指定回数分ステップ実行します。

（１） [ステップイン]の実行[ステップイン]はコール関数の中に入り、コール関数の先頭のステートメントで停止します。
• sort 関数の中に入るために、[デバッグ]メニューから [ステップイン]を選択するか、またはツールバーの [ステップイン]ボタンをクリックしてください。

図 7-21

図 7-22110

ステップインボタン

ソースウィンドウ（ステップイン）

7.

•

チュートリアル[ソース]ウィンドウの PC 位置表示（⇒）が、sort 関数の先頭のステートメントに移動します。

（２） [ステップアウト]の実行[ステップアウト]はコール関数の中から抜け出し、コール元プログラムの次ステートメントで停止します。
•

sort 関数の中から抜け出すために、[デバッグ]メニューから [ステップアウト]を選択するか、
またはツールバーの [ステップアウト]ボタンをクリックしてください。

図 7-23

図 7-24

ステップアウトボタン

ソースウィンドウ（ステップアウト）111

チュートリアル

7.

（３） [ステップオーバ]の実行[ステップオーバ]は関数コールを１ステップとして実行し、メインプログラムの中の次のステート
メントで停止します。
Printf 関数中のステートメントを一度にステップ実行するために、[デバッグ]メニューから[ステップオーバ]を選択するか、またはツールバーの [ステップオーバ]ボタンをクリックしてください。

図 7-25

図 7-26

ステップオーバボタン

ソースウィンドウ（ステップオーバ）

printf 関数を実行すると、[I/O シミュレーション]ウィンドウに*** Sorting results ***を表示します。

112

7.

7.3.8

チュートリアルプロファイラ情報の確認

プロファイラ情報を[プロファイル]ウィンドウで確認することができます。
•(1)[実行]ボタンをクリックして現在の PC から継続実行すると、SLEEP 命令を実行して停止します。
[List]シート

プロファイラ情報をリスト形式で表示します。
•[表示]メニューから [パフォーマンス -> プロファイル]を選択し、[プロファイル]ウィンド
ウを開いてください。[List]シートを表示します。

図 7-27 List シート（プロファイルウィンドウ）__flclose 関数を 6 回コールし、実行サイクルは 1107 サイクル、内部メモリを 69 回アクセスしたことがわかります。
コール回数が多い関数や遅いメモリを多くアクセスする関数など、プログラム性能のクリティカル
パスを探すことができます。

113

チュートリアル

7.

(2)[Tree]シート

プロファイラ情報をツリー形式で表示します。
•[Tree]シートを選択してください。関数名をダブルクリックすることによりツリー構造を拡張または縮小します。

図 7-28 Tree シート（プロファイルウィンドウ）__flclose 関数が_fclose 関数から３回コールされ、その時の実行サイクルは 762 サイクル、内部メモ
リを 48 回アクセスしたことがわかります。

114

7.

(3)

チュートリアルプロファイル−チャートウィンドウ[プロファイル−チャート]ウィンドウで関数の呼び出し関係を表示します。
•[プロファイル]ウィンドウ上で__flclose 関数を選択してから、右クリックしてポップアップ
メニューを表示し、 [チャート表示]を選択して[プロファイル−チャート]ウィンドウを表示
してください。

図 7-29プロファイル−チャートウィンドウ__flclose 関数が_fclose 関数から３回、_freopen 関数から 3 回コールされたことがわかります。
また、_close 関数を３回コールしたことがわかります。
以上で、シミュレータ・デバッガを使用したチュートリアルは終了です。

115

7.

116

チュートリアルルネサスマイクロコンピュータ開発環境システム
ユーザーズマニュアル
H8S、H8/300 シリーズ シミュレータ／デバッガ
発行年月日
発
行
編

集

2007 年 7 月 25 日 Rev.4.00
株式会社ルネサス テクノロジ 営業統括部〒100-0004 東京都千代田区大手町 2-6-2
株式会社ルネサスソリューションズ
グローバルストラテジックコミュニケーション本部
カスタマサポート部© 2007. Renesas Technology Corp., All rights reserved. Printed in Japan.

༡ᬺ⛔᜝ㇱ‫ޥޓ‬100-0004 ᧲੩ㇺජઍ↰඙ᄢᚻ↸2-6-2 ᣣᧄࡆ࡞༡ᬺ߅໧วߖ⓹ญᩣᑼળ␠࡞ࡀࠨࠬ⽼ᄁ

ᧄ
੩
⷏
᧲
޿
⨙
ᣂ
᧻
ਛ
㑐
ർ
ᐢ
㠽
਻

ᵿ
ᡰ
᧲
੩
ᡰ
ർ
ᡰ
ࠊ
߈
ᡰ
ၔ
ᡰ
ẟ
ᡰ
ᧄ
ᡰ
ㇱ
ᡰ
⷏
ᡰ
㒽
ᡰ
ፉ
ᡰ
ข
ᡰ
Ꮊ
ᡰ

http://www.renesas.com
␠
␠
␠
␠
ᐫ
ᐫ
ᐫ
␠
␠
␠
␠
ᐫ
ᐫ
␠

‫ޥ‬100-0004‫ޥ‬212-0058‫ޥ‬190-0023‫ޥ‬980-0013‫ޥ‬970-8026‫ޥ‬312-0034‫ޥ‬950-0087‫ޥ‬390-0815‫ޥ‬460-0008‫ޥ‬541-0044‫ޥ‬920-0031‫ޥ‬730-0036‫ޥ‬680-0822‫ޥ‬812-0011

ජઍ↰඙ᄢᚻ↸2-6-2 (ᣣᧄࡆ࡞)ᎹፒᏒᐘ඙㣮ፉ↰890-12 (ᣂᎹፒਃ੗ࡆ࡞)┙ᎹᏒᩊፒ↸2-2-23 (╙ੑ㜞ፉࡆ࡞2F)
઄บᏒ㕍⪲඙⧎੩㒮1-1-20 (⧎੩㒮ࠬࠢࠛࠕ13F)
޿ࠊ߈Ꮢᐔዊᄥ㇢↸4-9 (ᐔዊᄥ㇢ࡆ࡞)߭ߚߜߥ߆Ꮢၳญ832-2 (ᣣ┙ࠪࠬ࠹ࡓࡊ࡜ࠩൎ↰1F)
ᣂẟᏒ᧲ᄢㅢ1-4-2 (ᣂẟਃ੗‛↥ࡆ࡞3F)
᧻ᧄᏒᷓᔒ1-2-11 (ᤘ๺ࡆ࡞7F)
ฬฎደᏒਛ඙ᩕ4-2-29 (ฬฎደᐢዊ〝ࡊ࡟ࠗࠬ)ᄢ㒋Ꮢਛᄩ඙ફ⷗↸4-1-1 (᣿ᴦ቟↰↢๮ᄢ㒋ᓮၴ╭ࡆ࡞)㊄ᴛᏒᐢጟ3-1-1 (㊄ᴛࡄ࡯ࠢࡆ࡞8F)
ᐢፉᏒਛ඙ⴼ↸5-25 (ᐢፉⴼ↸ࡆ࡞࠺ࠖࡦࠣ8F)
㠽ขᏒ੹↸2-251 (ᣣᧄ↢๮㠽ข㚞೨ࡆ࡞) ‫ޓޓ‬⑔ጟᏒඳᄙ඙ඳᄙ㚞೨2-17-1 (ඳᄙࡊ࡟ࠬ࠹࡯ࠫ5F)(03) 5201-5350(044) 549-1662(042) 524-8701(022) 221-1351(0246) 22-3222(029) 271-9411(025) 241-4361(0263) 33-6622(052) 249-3330(06) 6233-9500(076) 233-5980(082) 244-2570(0857) 21-1915(092) 481-7695‫ع‬ᛛⴚ⊛ߥ߅໧วߖ߅ࠃ߮⾗ᢱߩߏ⺧᳞ߪਅ⸥߳ߤ߁ߙ‫ޕ‬‫✚ޓ‬ว߅໧วߖ⓹ญ㧦ࠦࡦ࠲ࠢ࠻࠮ࡦ࠲‫ޓ‬E-Mail: csc@renesas.com

Colophon 7.0

H8S、 H8/300 シリーズ シミュレータ／デバッガ
ユーザーズマニュアル

神奈川県川崎市中原区下沼部1753 〒211-8668

RJJ10B0219-0400