Arduino-IDE: Attiny mit r0ket flashen
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!
Schreibe einen Kommentar