[新]なんでも日記[新]なんでも日記ジャンル不定の日記です。今日はeBayで買って届いたUSBaspでLinuxでAVRプログラミングしようとして、テストコード書いてavrdudeで書き込み・・・のはずが、avrdudeで認識しない・・・というわけで、ずっとハマってた。Linuxの公式リポジトリから「avr」で検索すると、それっぽいのは、avrdude,avr-gcc,avr-binutils,avr-libc,avr-gdb,simavr辺りが出てきた。avrdudeがUSBaspというプログラマに対応しているのを確認して購入したのだが、書き込み用に必要。avr-gccでコンパイルが出来て、avr-binutilsとavr-libcも書き込み用ファイルの作成には必要ぽい。avr-gdbとsimavrはデバッグ用ツールぽいんで今回は入れなかった。main.cでmain.oが作成される。-mmcuオプションでターゲットマイコンの種類を渡して、-cオプションでコンパイル、最後にコードファイルって感じぽい。main.cと-Osオプションをつけるとサイズが小さくなるように最適化されるとのことだが、avr-gccが出力する.oファイルはむしろ大きくなったんだが、書き込み用の.hexファイルに変換したら、オプション無しで140byteがオプションありで50byteに減ったんで効果でかいぽい。main.hexでavrdudeで書き込むことができるihexという形式に変換できるぽい。avr-objcopyはオプション無しで実行するとヘルプが出る。avrdudeの使い方はオプション無しで実行するとヘルプが出るが、-cオプションでのプログラマ指定と-pオプションでターゲットマイコンの指定が必要ぽい。非対応文字列とするとターゲットマイコンと指定する文字列の一覧が出る。product='USBasp'こんな感じで怒られた・・・lsusbコマンドでUSBデバイスを確認すると入手した中華AVRプログラマは「03eb:c8b4」だった。プログラマのベンダIDとプロダクトIDが指定できるぽかったので、usbasp-cloneのusbvidとusbpidを03eb:c8b4に変更してavrdudeの-cオプションをusbasp-cloneにしてみたが、結局ニセusbaspの様でダメだった・・・さらに解決法探してたが、ここの人が同じ様にUSBaspのつもりが偽物で、usbasp化改造してた。自分もWindows用のAVRWRTを用意して改造しようとしたのだが、ジャンパする箇所がすごく小さい。ジャンパピンとか0.6mmの線じゃ入らない。細い線買おうか迷ったがハンダでやることにした。AVRWRTで認識しない。ランドが小さすぎてハンダが失敗してる気もするが、AVRWRTには給電機能がないので無理なのか?とも思ったのだが、ここの人AVRISPmkIIという給電機能のないプログラマで改造成功してる。中華プログラマが5Vではなく3.3Vで動いてるとAVRWRTでダメって可能性もあるか?一応、中華プログラマのVCC出力が5Vなのは確認済みだったが、マイコン自体は3.3Vかもしれない。中華プログラマはUSBaspではなくUSBISPというものらしく、Progispというツールで扱えるようなのだが、Windows専用ならAVRWRTでいいし・・・とりあえずAVRWRTはインストールして使える状態になっていると思うのだが、やはりLinuxでやりたい。別のUSBaspを購入するか、USBaspの回路を見たところクリスタルが到着すれば作れそうな気がするんで自作するか・・・ただ、ATtiny2313では容量不足ぽくて、他のAVRはATmega644pってのしか持ってない。オリジナルのUSBaspはATmega88かATmega8と記載があるが、644でいけるだろうか?今回の偽USBaspはメタルジャケット付きで外見良い感じなのだが、むき出しでもICソケット付きの形状のは良いかなと思ってる。別のプログラマを再購入するとまた偽物つかむ可能性が考えられるが、メタルジャケットではなくプラジャケットのやつはUSBaspとプリントされてるのが確認できるな。値段同じようなもんだったしプラジャケットのにしておくんだった・・・あと、今回は1pinのジャンパケーブルでつないだが、ピンアサイン確認しながらじゃないと厳しい。逆指し不可の10ピンソケットと、6pin-10pinの変換ケーブルかコネクタも欲しいと思った。購入の検討はその後にしようと思う。Comment(1)この記事へのコメントプログラマを自作するならピンソケットつけておこうかと思ってたが、6pinにしろ10pinにしろ2列だからブレッドボードで使えないのか。自作成功したら、ユニバーサル基板でブレッドボード用の2列ソケットを作って対応するかな。eBayから2個届いた[AD]rentafree.net。