以前のリビジョンの文書です
といった利点があります。まあよくあるデバッガです。
詳しい使い方は HEW シミュレータ で検索してルネサス公式のpdfのマニュアルをダウンロードしてください。
新規にシミュレータが使えるプロジェクトをつくる場合は新規プロジェクト作成画面で設定してやればいいのですが、既存のプロジェクトにシミュレータを導入する場合、
という少しめんどくさい手順を踏まなければいけません。
左側でAppliccationを選択、ワークスペース名(ここではH8simuとする)いれて”次へ”
既存のプロジェクトに導入する人はどのフォルダに作るかをしっかり覚えておいてください。
自分の使用しているCPUシリーズとタイプを選択して”次へ”(この例ではH8 3052F)
ここの設定項目はCPUの種類ごとに変わります。
ここの設定で次のターゲット選択画面で、どのターゲットを選ぶか決まります。
既存のプロジェクトに導入する人は、ここの設定を既存の物と合わせてください(合わせなくても良いかもしれない)。
ターゲット選択画面が出るまで”次へ”
ターゲットを選びます
この例だとAdvanceモードなので、HAの方を選びます。
よくわかんない人は全部にチェックでもいいと思います。
“完了”か、”次へ”で最後まで進んで”完了”
シミュレータを導入したい既存のプロジェクト(ワークスペース)を開いておきます
デバッグ(D)⇒デバッグセッション
“既存セッションの使用”を選んで”参照”で先ほど作ったプロジェクトのフォルダの中にあるデバッグ用の設定ファイルである
Simなんとか.hsf
を選んで、名前のところに適当にシミュレータ用のセッション名を入れて(ここではH8simuSession)“OK”押して”OK”
ターゲットを複数選んだ人はすべて追加してください。
これで導入は完了です。
シミュレータ・デバッガを使えばプログラムを一行ずつ実行できますが、コンパイラはコンパイルするときにデフォルトで最適化を行い、省略できるコードは省略してしてしまうので、この状態だとうまくプログラムを一行ずつ実行できません。なので次のどちらかの方法で最適化を切ってからコンパイルします(最適化されたコードをデバッグしたい場合は切らないでください)。
F7を押してビルド
“ダウンロードしますか?”というダイアログがでてきたら”はい”
ブレークポイント : これがある場所で止まります
ステップオーバー :一行ずつ実行します
ステップイン : 一行ずつ実行しますが、関数の中に入ります
ステップアウト :関数の外に出ます
左から
CPUリセット、実行、カーソルまで実行、リセットして実行、?、ステップイン、ステップオーバー、ステップアウト、etc…
“実行”は次のブレークポイント(BP)まで実行します。
変数の中身を見たり、変更したりできます。
LEDやスイッチ等のアドレスを簡単に調べられる裏ワザがあります。ライントレーサのLEDを例にして解説してみます。
int *po; po=&P8.DR.BIT;
まず、コンパイルオプションの最適化を切って、int *(ポインタ)型変数を宣言します(volatileだとうまくいかない)。次にP8とかのレジスタのポインタを代入します。
&を付け忘れ無いように注意しましょう。
コンパイルしてポインタ変数をウォッチします。
po=&P8.DR.BIT.B0
とかやるとエラーになります。
タイマーでグローバル変数を操作しているなら、グローバル変数にアクセスする関数を作って、シミュレータでないときはその関数内で割り込みを実行する等工夫する
Debug … シミュレータデバッガのためのデバッグ情報が埋め込まれた大きい実行ファイルができる Release … シミュレータデバッガのためのデバッグ情報が埋め込まれない、小さい実行ファイルができる