Wireデバッグ
AVRドラゴンの最大の力、1-wiredデバッグです。
このWireデバッグはATMLが作った通信規格だそうです。
ドラゴンの基板からできる一番手軽なチップ上のオンチップデバッグ方法。
こういうオンチップのデバッグを使うと
ソフトのシミュレータなどでPC上ソースレベルでステップ実行、変数確認などを実行して確認していたのが、
マイコンを走らせながらPC画面と連動でonチップデバッグ確認できます。
止めたり、レジスタの設定を確認したり、手軽にこれができるのは、AVRStudio4からチカチカと動く動作だけでも威力は絶大に感じます。(下に動画)
当然、ドラゴンの対応チップのみ可能。(取説参照)
1-wiredオンチップデバッグ準備
●DRAGONとの接続
DRAGONとAVRの接続は、ドラゴン ISP書き込み の接続
* 注意は
1-wiredデバッグの通信はリセットピン端子を使用するので、リセットピンにSWなどの接続をしているとエラーとなる
●AVRStudio4 の設定
まずは、プロジェクトファイル作成時に、
NewProject から 通常の流れで進み
で左枠 AVR Dragon と
右枠 チップ種類(ここでは2313)
を選択
(通常では AVR Simulater を選んでおく所)
下の Portは Auto でもUSBでも同様に動作しました。
上の設定は プロジェクト作成後
メニュー Debug
>Select Platform and Device
でも設定可能
●FUSE設定
まずFUSE設定を変更 WIREデバッグ用に 変更する必要あり。
いったんこのFUSE設定するとISP通信は出来ないので注意
PP(パラレルプログラム)でFUSEを元に戻す
DWEN
デバッグWIREインターフェースが機能するためには、
・デバッグWIRE許可(DWEN)ヒューーズ を 0 にする == レを付ける
* DWENヒュース を元に戻すには(→1) 高電圧プログラミンク が必要。
元に戻すまではISP書き込みはできない
SPIENヒューズがプログラム(0)されるのと、RSTDISBLヒューズが非プログラム(1)にされることが重要です。 これを行わないことはデバイスをデバッグWIRE動作で停止し、DWEN設定を復帰するには高電圧プログラミングが必要。
* いったんDWEN:レを付ける=0にすると ISP通信は出来ないので注意。PPでないと戻せない
デバッグしたいプログラムの書き込み、内容の修正、書き換え 転送は、下の開始ボタン Build and Run でチップに転送されるのでISP書き込みは不要。下説明
詳細設定 (しなくてもよい)
ドラゴンのオプション設定
デバッグ実行待機になると
メニューDebug
>Dragon Options
イマーの動作は、状況により
Debug タブ
Run timer・・・・mode をチェックに
タイマーの動作は、状況により
右の枠で CLKを変更
●デバッグ開始
接続と設定ができれば 実行
プログラムを書き込んだ後に、PC上AVRStudio4でデバッグ実行していましたが、
PC上だけでエミュレータ同様に
開始ボタン Build and Run 押すだけで、
コンパイル→書き込み→デバッグ実行をボタン一撃で実行できます。
ドラゴンは
AVRStudio4でシミュレータ実行後に、USBコネクタを抜くと、以後接続がうまく行かなくなったり、強制終了となることがしばしばありました。
一度強制終了になると、再びドラゴンに接続がうまくいかなかったりで。 AVRStudioを終了後にドラゴンと接続のUSBを抜く方が良さそうです。
画面でタイマークロックの設定を変えるとタイマーカウントもスムーズに実行で確認はできました。
いったんStudioを終了するなどして対処。設定の問題なのか、ドラゴンは気むずかしがり屋のようです。
ブレークポイントを仕込んでも、これだけの設定でオンチップデバッグが出来るので、威力は絶大に感じます。
ONチップ デバッグ実行
AVR ドラゴン のデバッグの動画
燃えよドラゴン
エミュレータで回路と連動して実行していく様子
プログラムは
タイマーで正確な時間稼ぎをする(タイマー0 オーバーフロー) LED点滅です
タイマーでカウントをしたら、メインのPORTDに戻って出力切り替えをえんえんと繰り返す。
ちょっと実行速度が遅いですが(早くすると変化が見えない)、タイマーカウント動作もエミュレートします
オートステップで連動して実行している状況。ドラゴン燃えてがんばっています。
各レジスタ値がチップ動作と連動で、LEDもポートビット表示の切り替わりと連動して、切り替わります。
最近、難しい熟語の言葉が俗語みたいに使われるのを時々見かけて ?? と感じます。
”降臨” (こうりん) という言葉もその1つ
本来は、神のような偉大者が天から地上に舞い降りてくる
というような意味だそうですが滅多に使かわれないムズかしい言葉(ATOKの変換選択候補にでてこないし)です
俗的に
現る → 参上 -(より偉大に)→ 降臨
のようなかんじで使われているみたいです。
龍なので これでいうと
”AVRドラゴン 降臨”
でもやっぱり ドラゴンといえば
燃えよドラゴンでしょう (古ぅ という人もいるかと思いますが・・・降臨よりわかる人は多いはず)
ライタの他、デバッグにも使える
AVRドラゴンのデバッグ機能紹介でした。
- twtter
- google+
- hatena