So, mal ein kleiner Erfahrungsbericht:
Mein Steckbrett-Minimal-Arduino läuft. Ist praktisch der nackte Chip plus Oszillator. (Fuse-bits entsprechend gesetzt)
Gerade eben läuft er von den 3.0V(!) vom AVR-Lab, der mit der STK500v2-Firmware läuft. Die wiederum wird über die mitgelieferten Treiber in driver/w2k/ angesprochen.
Als IDE benutze ich Arduino 021 (auf WinXP), hinter dem letztlich WinAVR, also avr-gcc und avrdude, steckt.
Um den Arduino per AVR-Lab/ISP (statt FTDI/bootloader) zu flashen, muss man diesen nur in arduino/hardware/arduino/programmers.txt eintragen:
Code:
usbavrlab.name=USB AVR-Lab
usbavrlab.communication=serial
usbavrlab.protocol=stk500v2
... und das neue Target in boards.txt. Da hab ich einfach den Abschnitt von
atmega328.name=Arduino Duemilanove or Nano w/ ATmega328
kopiert, jedes "atmega328...." in "atmega328isp..." umbenannt und natürlich die Beschreibung angepasst. Damit der Programmer benutzt wird, muss man eine Zeile mit <board>.upload.using=<programmer> (<programmer> wie in progammers.txt eingetragen) ergänzen.
Code:
atmega328isp.name=ATmega328 via USB AVR Lab
atmega328isp.upload.using=usbavrlab
atmega328isp.upload.protocol=stk500v2
atmega328isp.upload.maximum_size=30720
atmega328isp.upload.speed=57600
...Rest...
Die ISP-pins hab ich einfach mit Draht-Adern einzeln aufs Steckbrett gesteckt. (Sehr minimal halt. Ich überleg mir noch was besseres.)
Meist dauert es ~12s vom Starten des avrdude bis die Lichter ausgehen (Ich dachte erst, jetzt hat sich alles abgeschaltet, bis ich gemerkt habe, das er dabei brennt...), avrdude meldet danach einen Fehler (timeount), aber gebrannt ist es trotzdem. Manchmal geht es aber auch gleich und ohne Fehlermeldung.
(Rx/Tx besser abklemmen wenn was gesendet wird, sonst klappts auch mal gar nicht.)
[EDIT] Bascom zeigt das gleiche Verhalten: Vor jeder Operation, sei es Lesen oder Schreiben, incl Fuses, kommt meist eine 12s-Denkpause, begleitet von der Fehlermeldung "STK500_2_ReceiveMessage(): timeout" - und klappt dann trotzdem. (STK500 native driver) [/EDIT]
Dann habe ich auch noch den virtuellen COM-Port ausprobiert, erst mal nur die eine Richtung (Targets Tx -> AVRLabs Rx -> PC), and da ging zunächst nichts. Erst als ich die Rate auf 1200 Baud(!) runtergesetzt habe, kam dann endlich was an. Dummerweise nicht alles: Etwa 5% der Zeichen fehlen einfach. Hm, schade. Jemand eine Idee?
Lesezeichen