PlatformIOでATTiny13A開発 (AVRISP mk II を使う)
久々にAVRマイコンを使って開発しようと思ったら!!
世の中の変化にびっくりです。
なんと!AVRのATTiny13Aの価格が!!秋月で150円になってる!!
たしか・・・8年ぐらい前に60円ぐらいで買ったような気が!!
いつの話だよってことですが(笑)
その時、喜んで5個ぐらい買って、1個使って4個は大切にしまわれていました。
そんなこんなで、のんきに暮らしているうちに、AtmelはMicrochipに買収されちゃうし、ATTiny202とかの新しくて良さげなチップが70円で買えるし・・・
なので、ATTiny13Aの在庫整理のために使うことにしたのですが・・・
今どきはATTiny13AもArduinoとして開発できるらしいので、そうすることにする。
で、Arduino IDEは使いづらいので、いろいろ探してたら、流行りは PlatformIOらしいのですよ!!
そういうわけで、VSCode上でPlatformIOを使うことにしたのですが、Arduino UNO とかの USBシリアル変換が載ってるボードは簡単に接続して書き込みできるんだけど・・・
ATTiny13Aは、書き込み装置が別に必要なので、虎の子の AVRISPmkIIを使うことにしたのですが、そのままでは認識しないみたい・・・
検索しても、日本語の記事はあまり見つからなかった。
でも、公式ページにはありました。
まあ、その通りに書けばいいのでしょうが、使うライターはAVRISPmkIIだとわかっているので、自分なりに書いてみました。
ようは、avrudeに渡すパラメータを upload_flags で指定すれば良いようです。
platformio.ini[env:attiny13a] platform = atmelavr board = attiny13a framework = arduino upload_flags = -c avrisp2 -p $BOARD_MCU upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i
こんな感じになりましたとさ・・・
注意点として upload_flags = の次の行からの オプション指定時にオプション文字の後ろに空白を入れて -c avrisp2 などとすると 空白も名前として含まれてしまうので -cavrisp2 というように続けて書くか、上記のように改行して次の行に書かないといけないようです。
toolchainの変更で、AVRDUDEのパスも変更されるみたいです!!
platform_packages = tool-avrdude@>=1.70100.0
を追加して、バージョンを最新のものにすることが必要っぽい・・・・
↓このあたりを参考にバージョンを確認しましょ★
~/.platformio/platforms/atmelavr/platform.json
platformio.ini[env:attiny13a] platform = atmelavr board = attiny13a upload_protocol = custom platform_packages = tool-avrdude@>=1.70100.0 upload_flags = -c avrisp2 -p $BOARD_MCU ;-B100 upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i
-B100 オプションはうまく認識しないときに設定してネ!
コメント
コメントを投稿