Arduino IDEでATtiny13Aに書き込む

Arduino IDEを使ってATtiny13Aに書き込むという情報は検索すればたくさん見つかる。大筋の手順はこちらのATtiny85の場合と同じ。然るべきボード情報を追加してやればOK。

Arduino IDEで素のATmega328Pに書き込めるようになったので、今度はATtiny85に書き込めるようにしてみる。この手の情...

しかし、実際のところは、結構ハマってしまった。そのまとめ。

Arduino IDEの設定

ボード情報の追加

環境設定」を開く。

追加のボードマネージャのURL」に書き加えるのだけど、この一行の中に加えるのは大変なので、右端のアイコンをクリックすると別ウィンドウが開く。

書き加える行は以下の通り(上の図は書き加えたところ)。


https://kimio-kosaka.github.io/bitDuino13/package_bitDuino13_index.json

書き加えたら「OK」で閉じる。

詳細はこちら。

続いて、「ツール」→「ボード」→「ボードマネージャ」を開く。

検索窓に「bitduino」と入力すれば、今書き加えたものが見つかる。

これを、「インストール」。

ボードの設定

インストールしたbitDuno13を使ってボード情報を設定する。

クロックは、ATtiny13Aの出荷時の設定が内蔵の1.2MHzなのでそれを選択。これ以外にする場合は、別途、フューズを適切に設定する。

プログラムの書込み

ATtiny13AのとArduinoとのピンの対応

これが残念ながらはっきりしない。

まず、ATtiny13Aのピンアサインはデータシートによると次の通り。

ATtiny85と同じだろうと考えると、PB0~PB5がArduinoの0~5に相当するはず。そう考えて、2にLEDが接続されているテストボードを対象に、Lチカを書いた(サンプルスケッチのBlinkを改変しただけ)。

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(2, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);                       // wait for a second
  digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW
  delay(500);                       // wait for a second
}

コンパイルと書込み

さて、ここからがハマったところ。

書込み装置が指定できない

コンパイル(検証)だけなら問題ない。

しかし、ターゲットボードに書き込もうにも「No programmers available for this board」と言われてしまう。

bitDuino13を使う情報はあちこちにあるけれど、このエラーについてはどうにも見つからない。あちこち探し回ってようやく見つけたのがこのツイート。

これに従って、programmers.txtをコピーしてみる。

コピー元はArduino IDEの「hardware\arduino\avr」の中とのことなので、そこを開く。

programmers.txtがちゃんとあった。

続いて、コピー先。

bitDuino13の「hardware\avr\1.0.1」の中。

コピーしたところ。

これで、Arduino IDEを立ち上げ直すと書込み装置が選べるようになる。

USBaspを使うので、それを選択。

avrdude.confがない

これでターゲットボードに書き込めるかと思ったのだけど、まだ山があった。今度はこんなエラー。

avrdude: can't open config file "C:\Users\XXX\AppData\Local\Arduino15\packages\bitDuino13\hardware\avr\1.0.1/avrdude.conf": No such file or directory
avrdude: error reading system wide configuration file "C:\Users\XXX\AppData\Local\Arduino15\packages\bitDuino13\hardware\avr\1.0.1/avrdude.conf"
avrdude: error reading system wide configuration file "C:\Users\XXX\AppData\Local\Arduino15\packages\bitDuino13\hardware\avr\1.0.1/avrdude.conf"

しょうがないので、コンパイル結果(バイナリ)を吐き出して、それを手動で書き込もうかと。

ところが、これも失敗。

コンパイルは終っても、「警告:このコアスケッチ出力サポートしていません。 アップグレードまたは作者へのコンタクト考えてください。」と言われてしまう。

先程のエラーを改めて見てみると、bitDuino13のファイルの中にavrdude.confがないという話のよう。それなら、それを持ってくればいいのかな?先程のprogrammers.txtと同様に、Arduino IDEのインストールディレクトリの中からavrdude.confを探す。

「hardware\tools\avr\etc」の中に発見。これを、エラーメッセージで指摘されたフォルダにコピーする。

これで無事書き込めた。

一応、写真。面白くもなんともないけど。

LEDがちゃんと点滅してくれたので、ピンアサインは上に書いた考え方で合っているみたい。

ATtiny13Aを載せているボードはこちら。

概要 AVRにプログラムを書き込むための治具です。 この手のものは世の中にたくさんあり、大抵はたくさんのデバイスに対応していま...

余談

ATtiny13Aは比較的書き込みエラーを起こしやすい気がする。使っているライタ(USBasp)のせいかもしれないが。

もう一度書き込むと、大抵はそのまま問題なく書き込める。ダメな場合はさらにもう一度。

まとめ

  • bitDuino13をインストールする。
  • インストールしたbitDuino13のフォルダ内に次の二つのファイルをコピー(設置)する。詳細は上記本文。
    • programmers.txt
    • avrdude.conf
この記事のタイトルとURLをコピーする
スポンサーリンク
スポンサーリンク
スポンサーリンク