- 締切済み
Insightでデバックする際にSIGBUSでエラーになりデバックが進みません
初めて質問します。 マイコン初心者です。 現在、GCC Developer Liteを使用してSH7144の勉強をしているのですが、付属のデバッカのInsight(GDB6.1)でデバックしようとすると、"Program received signal SIGBUS, Bus error"というエラーが出てデバックが進まなく困っています。コンパイルしたソースを実機で動かすと動いている為、コンパイルの方法が悪いのか、Insightが悪いのかわからない状態です。 下記にソースファイルを示します。 #include <7144.h> void initIO(void) { PFC.PEIORL.WORD = 0x0003; } void wait(void) { long int t=1000000; while(t--); } void main(void) { initIO(); while(1) { PE.DRL.BIT.B0 = 1; wait(); PE.DRL.BIT.B0 = 0; wait(); PE.DRL.BIT.B1 = 1; wait(); PE.DRL.BIT.B1 = 0; wait(); } } プログラムはマイコンに接続したLEDを点滅させるプログラムです。 GCC Developer Liteでのコンパイルオプションはデフォルト、マイコンは"SH7144F 内蔵フラッシュROM"を選択しています。 御教授の程よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- anzu-k
- ベストアンサー率66% (2/3)
GCC Developer Liteを使用してことがないので、 何ともいえないのですが、誰も回答がないのでちょっとだけ…。 >コンパイルの方法が悪いのか、Insightが悪いのかわからない状態です。 このエラーは上記のコードとは関係ないと思います。 つまりInsightやGDB当りに何かあるかも知れません。 インストールや使用環境 (OSやライブラリ、ツール類のバージョン等々とその組み合わせ) に問題があるかも知れません。 内蔵フラッシュを使用しているようですが、きっとシリアルポートを 使用してのデバッグになっていると思います。 最近のパソコンはシリアルポートがなくなりつつあるので、 もしかするとUSBシリアル変換器を使っているかも知れませんが、 そのドライバ回りにも問題があるかも…。 それから余談ですが、 モニタプログラムなしで内蔵フラッシュに書き込んでデバッグする場合、 シリアル通信の割り込みハンドラを用意する必要があるかもしれません。
補足
貴重なアドバイスありがとうございます。 今回の問題なのですが、ターゲットをSimulatorに設定してファイルをrunとすると起こっています。この為、実機でのリモートデバックの手前でつまづいてしまい、デバッカ無しでプログラムを作っている状況です。LEDを点滅させる程度なら問題ならデバッカ無しでも特に問題はないのですが、最近I2C通信に手を出し始めているので、デバッカ無しは非常に苦しい状況になってきました。 一度、GCC Developer Liteごと再インストールしてみようと思います また、何か情報がありましたら、よろしくお願いいたします。