Arduino IDEを使ってATtiny13Aに書き込むという情報は検索すればたくさん見つかる。大筋の手順はこちらのATtiny85の場合と同じ。然るべきボード情報を追加してやればOK。
しかし、実際のところは、結構ハマってしまった。そのまとめ。
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を載せているボードはこちら。
余談
ATtiny13Aは比較的書き込みエラーを起こしやすい気がする。使っているライタ(USBasp)のせいかもしれないが。

もう一度書き込むと、大抵はそのまま問題なく書き込める。ダメな場合はさらにもう一度。
まとめ
- bitDuino13をインストールする。
- インストールしたbitDuino13のフォルダ内に次の二つのファイルをコピー(設置)する。詳細は上記本文。
- programmers.txt
- avrdude.conf
コメント