AVRプログラム・ライタ

AVRProg on Kumaduino

ロボコン部ではArduinoをATmega328Pで自作し使用しているが、ファームウェアの書き込みは私がしている。 部員たちも自分で書き込めるようになりたいというのでAVRプログラム書込み器を紹介し作らせようと思うのだが適当なものがみつからない。

自分で使用しているのはChan氏のUSB-SPIブリッジで、大変気に入っているのだが、部員にこのまま作ってとは言いにくい。 kumaduinoの元となったmetaboardを使ったプロジェクトでAVRprogという書込み機があったのでこれを作ってみた。

回路は簡単ですぐにできたが、使い方がよくわからない。 usbaspコンパチとして動作するのでavrdudeなどで使えるらしい。ところがavrdudeで使おうとしてもデバイスがみつからないとか言われる。デバイスマネージャで見ると認識されている。 libusbをインストールし直さなければならないのかとか、avrdudeのバージョン(WinAVR付属のものを使用)が古いのかとかいろいろ試すが、結局ハードウェアが悪いことが判明。通常のkumaduinoとしても動作していないことがわかった。kumaduinoのUSBを駆動するところにはいっている68Ωの抵抗の在庫がなかったので100Ωにしたら認識はされるが動作が不安定になるようだ。これを51Ωに付け直して動作するようになった。

AVRprog(手前)とUSB-SPIブリッジ(奥)

でもAVRprogの書き込み速度はUSB-SPIブリッジと比べるとかなり遅い。Arduinoのファームウェア書き込みであれば、そう頻繁に書き込むわけではないので問題ないとは思うが、AVRのソフトウェア開発に使うのであれば高速なUSB-SPIブリッジが快適だ。 でも最近はAVR用にMakefileとか書くのも面倒なので、全部arduino+外部エディタで開発しているのよね。だからkumaduinoを大量消費。

AVRprogを作ってLEDが点灯しないのでファームウェアのソースを調べたら回路図が間違っていることがわかった。 LEDのカソード側の抵抗R8はPC0に接続されているがPC1が正解。繋ぎかえるとちゃんと点灯するようになった。

Leave a Reply

メールアドレスが公開されることはありません。