Arduino-IDE: Attiny mit r0ket flashen

r0ket_arduino
Hier möchte ich kurz beschreiben, wie man über die Arduino Software unter Mac OSX mithilfe der r0ket als Programmer einen Attiny flashen kann. Falls man grad keinen gängigen AVR-Programmer zur Hand hat ist das sehr nützlich. Die Anleitung müsste analog unter Linux funktionieren. Dabei müssen allerdings die Pfade zur Software abgeändert werden. Das werde ich hier aber nicht weiter beschreiben.

Die EABI Toolchain sollte hierfür installiert sein, um die Firmware der r0ket neu zu kompilieren. Dafür gibt es hier eine brauchbare Anleitung: Setting Up an ARM EABI Toolchain on Mac OS X

Die r0ket muss zuerst modifiziert werden, damit sie sich als serielle Schnittstelle am Computer anmeldet. Dazu gibt es vom Chaosdorf eine gute Anleitung: AVR-Programmieradapter

Wie im Link vom Chaosdorf beschrieben, muss nun avrdude (hier benutzt: 5.11.1) manuell kompiliert- und der r0ket-patch von penma angewendet werden:

curl -O http://download.savannah.gnu.org/releases/avrdude/avrdude-5.11.1.tar.gz
tar xvfz avrdude-5.11.1.tar.gz
cd avrdude-5.11.1
curl -O https://raw.githubusercontent.com/penma/r0ket/6630ac49d29bedb2cd2a1250f0205d4b881d600b/firmware/applications/avrdude-r0ket.diff
patch -p1 < avrdude-r0ket.diff
autoreconf
./configure
make
(sudo make install)

Als nächstes die Arduino-IDE herunterladen und installieren: https://www.arduino.cc/en/Main/Software
Ich habe hierbei die Version 1.5.6-r2 verwendet. Ich weiß nicht wie sich das ganze bei Arduino 1.6 verhält. Müsste man ausprobieren.

Das Paket Arduino-Tiny muss als nächstes installiert werden. Dazu auf
https://code.google.com/p/arduino-tiny/ gehen, und die Version 1.5 laden und installieren:

curl -O https://arduino-tiny.googlecode.com/files/arduino-tiny-0150-0020.zip
unzip arduino-tiny-0150-0020.zip
cp tiny/avr/Prospective\ Boards.txt tiny/avr/boards.txt
mv tiny /Applications/Arduino.app/Contents/Resources/Java/hardware/

Die Arduino Software bringt einen eigenen avr-gcc und avrdude mit. Letzteres muss gegen den gerade kompilierten ausgetauscht werden, damit der auch mit der r0ket redet:

cd /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
mv avrdude avrdude.bak
ln -s $(which avrdude) .

Hinweis: Bei Arduino 1.6 heißt die binary avrdude_bin! Das dementsprechend anpassen.

Zum Schluss noch die r0ket in den configs anlegen. Dazu habe ich einen Diff-patch erstellt, der das ganze etwas leichter machen soll:

cd /Applications/Arduino.app/Contents/Resources/Java/hardware
curl -O http://dl.gmlblog.de/arduino_r0ket.diff
patch -p1 < arduino_r0ket.diff
rm arduino_r0ket.diff

Fertig!

Unter Werkzeuge>Programmer sollte jetzt die r0ket stehen:
arduino_programmer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.