差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
hewのシミュレータ・デバッガ [2013/02/03 18:49] memberhewのシミュレータ・デバッガ [2014/04/29 18:27] (現在) member
行 6: 行 6:
   * 一行ずつ目で追いながらプログラムを実行できる   * 一行ずつ目で追いながらプログラムを実行できる
   * 変数の値の確認・変更ができる   * 変数の値の確認・変更ができる
 +  * シリアル通信なしでprintfが使える(シミュレーターIO)
 といった利点があります。まあよくあるデバッガです。 といった利点があります。まあよくあるデバッガです。
  
 詳しい使い方は [[https://www.google.co.jp/search?q=HEW+シミュレータ|HEW シミュレータ]] で検索してルネサス公式のpdfのマニュアルをダウンロードしてください。 詳しい使い方は [[https://www.google.co.jp/search?q=HEW+シミュレータ|HEW シミュレータ]] で検索してルネサス公式のpdfのマニュアルをダウンロードしてください。
  
-===== シミュレータ導入の流れ ===== +===== 既存のワークスペースにシミュレータ導入したい ===== 
-新規にシミュレータが使えるプロジェクトをつくる場合は新規プロジェクト作成画面で設定してやればいいのですが、既存のプロジェクトにシミュレータを導入する場合、 +できないことはありませんが、ちゃんと動くかの保証ができない上、シミュレーターIOが使えいので解説しません。 
-  シミュレータ使用可能な規プロジェを作成し +シミュレーターが動くしいワースペースを作成し、そこにソースコードを移行してくだい(intprg.cも書き換えてるなら忘ずにコピーする)。 
-  - 生成されたシミュレタ用の設定ファイル(セッションファイル)をインポートする +うしてもやりたい人はwikiの編集履歴から参照してさい(うく保証はしません)
-といめんどくさい手順を踏なければません。+
  
 ====== シミュレータ導入 ====== ====== シミュレータ導入 ======
行 32: 行 32:
 ここの設定項目はCPUの種類ごとに変わります。 ここの設定項目はCPUの種類ごとに変わります。
 ここの設定で次のターゲット選択画面で、どのターゲットを選ぶか決まります。 ここの設定で次のターゲット選択画面で、どのターゲットを選ぶか決まります。
-既存のプロジェクトに導入する人は、ここの設定を既存の物と合わせてください(合わせなくても良いかもしれない)。\\+H8 3052FはAdvanceモードしかないで特に気にしなくていいです。\\ 
 +sh 7125だとエンディアンの選択があります。 
 +"次へ" 
 + 
 +{{:新規プロジェクト3-2.png|}}\\ 
 +"I/Oライブラリ使用"チェック(シミュレーターIOを使うため)。
 ターゲット選択画面が出るまで"次へ" ターゲット選択画面が出るまで"次へ"
  
 {{:新規プロジェクト4.png|}}\\ {{:新規プロジェクト4.png|}}\\
 ターゲットを選びます\\ ターゲットを選びます\\
 +2つ前の画面で選んだ動作モードに対応します。
 この例だとAdvanceモードなので、HAの方を選びます。 この例だとAdvanceモードなので、HAの方を選びます。
 よくわかんない人は全部にチェックでもいいと思います。\\ よくわかんない人は全部にチェックでもいいと思います。\\
行 43: 行 49:
  
  
-===== 既存のプロジェクトにシミュレータを導入する ===== 
-シミュレータを導入したい既存のプロジェクト(ワークスペース)を開いておきます 
-{{:既存プロジェクト1.png|}}\\ 
-デバッグ(D)=>デバッグセッション\\ 
- 
-{{:デバッグセッション.png|}}\\ 
-ダイアログが開いたら"追加" 
- 
-{{:simセッション.png|}}\\ 
-"既存セッションの使用"を選んで"参照"で先ほど作ったプロジェクトのフォルダの中にあるデバッグ用の設定ファイルである\\ 
- Simなんとか.hsf 
-を選んで、名前のところに適当にシミュレータ用のセッション名を入れて(ここではH8simuSession)"OK"押して"OK" 
-ターゲットを複数選んだ人はすべて追加してください。\\ 
- 
-これで導入は完了です。 
  
  
行 140: 行 131:
  
 <code> <code>
-int *po;+void *po;
 po=&P8.DR.BIT; po=&P8.DR.BIT;
 </code> </code>
-まず、コンパイルオプションの最適化を切って、int *(ポインタ)型変数を宣言します(volatileだとうまくいかない)。次にP8とかのレジスタのポインタを代入します。+まず、コンパイルオプションの最適化を切って、void *(ポインタ)型変数を宣言します(volatileだとうまくいかない)。次にP8とかのレジスタのポインタを代入します。
 &を付け忘れ無いように注意しましょう。\\ &を付け忘れ無いように注意しましょう。\\
 コンパイルしてポインタ変数をウォッチします。\\ コンパイルしてポインタ変数をウォッチします。\\
 +{{:ウォッチ4.png|}}\\
 <code>po=&P8.DR.BIT.B0</code> <code>po=&P8.DR.BIT.B0</code>
 とかやるとエラーになります。 とかやるとエラーになります。
 +
 +
 +iodefne.hでP8.DR.BYTEがunsigned char型で宣言されているので、poはchar*型の方がいいかもしれません。\\
  
 ====== 注意 ====== ====== 注意 ======
行 156: 行 151:
   *実機では書き込みできないレジスタに書き込めたり、読み出すと実機をシミュで違う値になってたりするので、コードによっては必ず実機と同じ動きをするとは限らないことに注意\\   *実機では書き込みできないレジスタに書き込めたり、読み出すと実機をシミュで違う値になってたりするので、コードによっては必ず実機と同じ動きをするとは限らないことに注意\\
     *例 P8.DDR=0なのにP8.DR.BYTEに代入できる(LED光る)\\     *例 P8.DDR=0なのにP8.DR.BYTEに代入できる(LED光る)\\
-    *例 P8.DDRを読むと初期値が0になっている(実機だと常に255)+    *例 P8.DDRを読むと初期値が0になっている(実機だと常に255が返ってくる)
  
 ===== タイマーは使用できない ===== ===== タイマーは使用できない =====
行 164: 行 159:
 ====== Tips ====== ====== Tips ======
 ===== コンフィギュレーション ===== ===== コンフィギュレーション =====
-Debug ... シミュレータデバッガのためのデバッグ情報が埋め込まれた大きい実行ファイルができる+Debug ... シミュレータデバッガのためのデバッグ情報が埋め込まれた大きい実行ファイルができる\\
 Release ... シミュレータデバッガのためのデバッグ情報が埋め込まれない、小さい実行ファイルができる Release ... シミュレータデバッガのためのデバッグ情報が埋め込まれない、小さい実行ファイルができる
   
 +
 ===== ウォッチとかの浮いてる画面はctrlを押しながら移動するとメインのウィンドウに結合されない ===== ===== ウォッチとかの浮いてる画面はctrlを押しながら移動するとメインのウィンドウに結合されない =====
  
/home/users/2/deca.jp-mice/web/cgi/dokuwiki/data/attic/hewのシミュレータ・デバッガ.1359884987.txt.gz · 最終更新: 2013/02/03 18:49 by member
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0