月別アーカイブ: 2014年2月

AVR Dragon と SPI インタフェースの干渉を防ぐ

photo (3)AVR Dragon を使うと debugWire インタフェースを通して実機上でデバッグが可能です。debugWire は AVR ISP プログラミング用の 6ピンのコネクタを共用します。詳しくは下記のリンクに説明があります。

http://www.atmel.no/webdoc/avrdragon/avrdragon.section.zrr_osd_lc.html

ところが、AVR Dragon を使うと、開発対象のアプリケーションの SPI 機能がうまく働きません。

続きを読む

AVR Dragon について

AVR Dragon を使い始めましたが、忘れてしまいそうなことをメモ

できること

  • ブレークポイントでプログラムを止める。(デバッグ実行時にはランモードとストップモードがある。)
  • ステップ実行
  • メモリ、レジスタ、プログラムカウンタ等プロセッサ内部の状態をモニタ。(ストップモード時のみ)
  • プログラマとしても使える。ただしデバッグ中はプログラマ機能は使えない。
  • ワッチポイントの設定ができるかどうかは調査中。できないような気がする。

利用のためのメモ

  • チュートリアルはAtmel公式のドキュメントが結局一番わかりやすかった
    http://www.atmel.no/webdoc/avrdragon/index.html
  • Dragon とターゲットを繋ぐ方法は複数サポートされているが、ATTiny* と繋ぐには debugWire を使う。debugWire は ISP プログラミングのための6ピンコネクタがそのまま使えるので便利。
  • Dragon はOCD (On Chip Debugging) デバイスとしてもプログラマとしても使えるが、両方同時には使えない。OCD 時にはターゲットプロセッサのヒューズビットも変更する必要があるので、開発環境全体でモード変更する。AtmelStudio の場合デバッグ実行を開始するとソフトが面倒を見てくれる。デバッグモードから通常モードに戻るには debug -> disable debugWire and close ただしデバッグ実行中でないとこれはできない。
  • Dragon と Arduino が同じ USB ハブに繋がっていると干渉する。具体的には、Dragon を使っていると Arduino のシリアルポートインタフェースが死んでしまう。お互い別の USB ポートに繋ぐこと。