2016年09月06日

AVR のデバッグ

aki_s.jpg

折角、JTAG を接続しているのでデバッグして見たいと思います。
プログラムの任意の場所で停止が可能となります。
まず、Fuse 設定でデバッグを可能とします。
(フューズを書き込みます。一旦、書き込むと ツール → Device Programming ではアクセスできなくなります。別の方法で Fuse を変更します。)
At7_11.jpg

次に、メニューのプロジェクト→GccApplication1のプロパティ(Alt+F7)にて接続しているデバッガーとインターフェイスを指定します。
At7_12.jpg

メニューの Start Debugging and Break (Alt+F5) を選択すると main の最初で停止します。
At7_13.jpg

あとは停止したいところに Break Point をセットすることが出来ます。(行の左端をダブルクリックすれば赤マークが設定される。)
例えば、タイマー割り込み内で停止させ、その時の変数値をチェックします。
At7_TimerDebug.jpg

なお、デバッグが終了した時は Disable debugWIRE and Close を選択します。Fuse を読み込むと DWEN のチェックが消えています。
At7_16.jpg

デバッグ開始時に Cycle Powerのメッセージがでるタイミングがあります。画面の指示に従って、CPUの電源を ON → OFF → ON した後、Start Debugging and Break (Alt+F5)すれば開始されます。
CyclePower.jpg

Fuse を読めないタイミングがありますが、デバッグ → Attach to Target をクリックすると読めることがあります。

なお、Fuseにアクセスする場合、Auto read のチェックは外しておくと混乱しなくてすみます。チェックがあると画面を変更した時に常に状態を更新しようと読み込みますので、あれ!
さっき変更したのにと思うことがあります(チェックマークだけで Program していないともとの状態に戻ってしまいます。)

よく見ると、main.c ファイルの名前が異なっている。確か、Atmel Studio Version 6 ではこのように main.c では無く、GccAplicationX.c となっていた。(X には 1〜の数字が入る)
At7_4_1.jpg
posted by white at 11:33| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。