• ベストアンサー

High-performance Embedded Workshop(HEW)について

Windows系開発のみで組み込み開発超ど素人です。 題名のソフトのVer4.03を使っているのですがデバッグ環境を構築しようとウィザードを使ってファイルを生成し、ステップ実行などデバッグモードでの実行ができるようになり、main()に int a; a=10; printf("%d", a); を入れてprintfのところでプログラムを停止し、aの値を参照したいのですがインスタントウォッチでみるとNot available nowと表示され、値が分かりません。 aの値の確認はどのようにすればできるのでしょうか? また、printf()はどこに出力されるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.3

>ここにprintf()を定義するということでしょうか? printfを直接書くのではありません。 readとかwriteとか、それらしい関数がありませんか?その中身を書くんです。 あるいは、 /**************************************************************************/ /* Declaration of reference function */ /* Reference of assembly program in which the simulator debugger input or */ /* output characters to the console */ /**************************************************************************/ extern void charput(char); /* One character input */ extern char charget(void); /* One character oputput */ と、あるようにcharput,chargetの中身を書くのか。 このあたりはターゲットによっていろいろやり方が変わってくる話だと思います。 私の環境は1.0なので、細かい違いなどありましたらご容赦願います。

rakio
質問者

お礼

連絡が遅くなってすいません。 本格的に忙しくなってきてしまい時間を掛けられなくなってしまいました。 もう少し勉強してからまたご質問させていただきます。 ありがとうございました。

その他の回答 (3)

  • R32C
  • ベストアンサー率39% (115/290)
回答No.4

R8CでHelloWord のサイトURLがあるので参考にしてください。 以下、補足(蛇足かもしれない) Hewは、環境の枠のようなものなので、内蔵されているシミュレータによって 動作等が変わってきます。シミュレータは、マイコン別になっていますので それぞれ設定等が違うかと思います。 H系はあまり詳しくないのですが、たとえばSH3なら、 「I/Oシミュレーション」とか言うボタンがあるので、それをクリック すると、Windowが表示され、そこに出ます。 M系は、ちょっとややこしくて、ライブラリをコンパイルし直さないといけない です。といってもMake一発ですが 表示には メニュー表示->CPU->出力ポート で使われているUART0か1と表示フォーマットの設定が必要です。

参考URL:
http://alvs.dyndns.tv/~vcom/modules/pukiwiki/?HEW%A5%B7%A5%DF%A5%E5%A5%EC%A1%BC%A5%BFR8C%A4%C7Helloworld
rakio
質問者

お礼

連絡が遅くなってすいません。 本格的に忙しくなってきてしまい時間を掛けられなくなってしまいました。 時間が空いたときに参考にさせていただきます。 ありがとうございました。

  • titokani
  • ベストアンサー率19% (341/1726)
回答No.2

>また、printf()はどこに出力されるのでしょうか? 環境、バージョンにもよるかと思いますが、自分で書かなくてはならないと思います。 スケルトンの中に、lowsrc.cというファイルがありませんか?

rakio
質問者

補足

回答ありがとうございます。 はい、lowsrc.cはプロジェクトの中にありました。 ここにprintf()を定義するということでしょうか? そうだとすると、ウィザードで自動で生成されたりしないでしょうか?

  • mssine
  • ベストアンサー率24% (38/156)
回答No.1

本当にこれだけのソースなら、最適化されて、aという変数は存在しないでしょう。 つまり、以下のようなソースにされてしまいます。 printf("10"); なので、 >Not available now となります。

rakio
質問者

補足

ありがとうございました。 volatileをつけて表示できるようになりました。 printf()の出力先はご存じないでしょうか?

関連するQ&A

専門家に質問してみよう