USBaspをLinux上でアップデートする

USBaspって知ってますか? 
AVRの書き込み器の一つで、avrdudeも対応しています!!
これがあれば、AVR ISP markIIがなくてもAVRにプログラムをかけます!


で、AVRライターの予備に大昔にamazon買って、放ぽってありました。。。
購入履歴をみたら、2018年287円で購入!
つまり、6年前に買ったようです(笑)
2018年は1ドル110円ぐらいだったので・・・安く買えたなぁ〜



で、早速、袋を破ってみると・・・
んん?
錆びてます!!


袋に入ったままだったのに、錆びてるって・・・

気持ちわるいので、早速、修正しましょう!!
ハンダごてでチャッチャッと新しいピンヘッダに・・・
最近はRG(老眼)が進んで、手元がよく見えず・・・
チャッチャッととはいきませんでした★


まあ、なんとか、出来ました!!
ついでにJP3にもピンヘッダを追加しておきました。
おそらく、このJP3SlowClockだと思います。
オリジナルはJP1の表記ですが、この互換品はJP3の様です。


で、こいつで ATtiny10をプログラムしようと思ったのですが!!
ファームウェアが古くて
avrdude
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
という warningが出てしまいます。
しかも、ATtiny10のTPI方式での書き込みには古いファームウェアでは対応していないようです!!


それでは!アップデートの準備です!
こちらのDEKOさんのページで詳しく説明してくれています★

が、Windows用に書かれているので、自分なりにまとめておきます。


必要なものは、
  • ターゲットのUSBasp(今回アップデートする機器)
  • AVRライタ(USBasp上のAVRチップを書き換えるため)
  • avrdude
  • USBasp firmware (usbasp.2011-05-28.tar.gz)

ここで、詰んでしまう人もいるかもしれません!!
だって、USBaspに書き込むためのAVRライタが必要ですから(笑)
でも、最近はArduinoをAVRライタにできるようになったし、なんとかしましょう!
今回は、AVR ISP markIIを使いました!

私の環境はPlatformIOを使っているので avrdudeは既にインストール済みです!


で、私のUSBaspはATmege8Aが載ってました!

 なので、firmwareはATmega8用 [usbasp.2011-05-28/bin/firmware/usbasp.atmega8.2011-05-28.hex] を使うことに!

接続は
  • ターゲットのUSBaspのJP1をジャンパピンで接続
  • AVR ISP markII ←→ USBasp 間の線を接続
  MISO  1←→9  MISO
  Vcc   2←→2  Vcc
  SCLK  3←→7  SCK
  MOSI  4←→1  MOSI
  RESET 5←→5  RST
  GND   6←→10 GND 
  
で、最後にavrdudeでファームウェアを書き込めば終了です。

avrdude

$ avrdude -c avrisp2 -p m8 -U flash:w:usbasp.atmega8.2011-05-28.hex

ちなみに、オプションは -c でプログラマ(ライタ)を指定して、-p でチップの種別を指定します。-U でメモリの種類[flash]、書き込み[w]、ファイル名の指定をします。

これで、完璧ですな★


ふんどしの持ち主

コメント

このブログの人気の投稿

Pythonのソースファイルの行番号を取得したい

Raspberry Pi 3 シリアルコンソール&シリアル通信

学習リモコン「リモコソ (RIMOKOSO1)」の設定