Gelöst: Arduino mit ISP programmieren klappt nicht mehr

Hallo,

ich wollte nach längerer Zeit mal wieder einen Arduino (also eigentlich einen nackten ATmega328P) mit einem ISP aus der Arduino IDE programmieren. Hatte früher (vor version 1.x) immer gut geklappt. Ich habe einen mySmartUSB light unter MacOS X (10.6).

In der programmers.txt ist der eingetragen:

mySmartUSB.name=mySmartUSB mySmartUSB.protocol=stk500v2 mySmartUSB.communication=serial

In der preferences.txt steht:

upload.using=mySmartUSB upload.verbose=true upload.verify=true

Auch in der IDE ist der Programmer ausgewählt inkl. des richtigen Ports. Trotzdem versucht die IDE aber offenbar den Arduino mittels Bootloader anzusprechen. Wenn ich normal per USB programmieren will klappt das problemlos, ohne wie früher in der preferences.txt von upload.using auf "booloader" umstellen zu müssen. Nur mit dem ISP klappt es eben nicht:

Binäre Sketchgröße: 1.084 Bytes (von einem Maximum von 30.720 Bytes)
Binäre Sketchgröße: 1.084 Bytes (von einem Maximum von 30.720 Bytes)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/tty.SLAB_USBtoUART -b57600 -D -Uflash:w:/var/folders/Rd/Rdw6kkoGEWKYUCGo58eDFU+++TM/-Tmp-/build5212045137433840532.tmp/Blink.cpp.hex:i 

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/xxx/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.SLAB_USBtoUART
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [0a] 
avrdude: stk500_getsync(): not in sync: resp=0x0a

avrdude done.  Thank you.

Was hier im avrdude auffällt: -carduino, müsste hier nicht -c stk500v2 stehen?

Verwende ich avrdude von der Kommandozeile mit dem Parameter -c stk500v2 kann ich den Controller flashen (hab da nur noch das Problem, dass es immer nur ein mal klappt, danach muss ich den Programmer abziehen und neu anstecken).

Was mache ich falsch?

Welche Version der Arduino IDE verwendest Du? Mit der aktuellen 1.0.5 funktioniert diese Vorgehensweise bei mir wunderbar.

Ich hab die 1.0.5. Aber ich glaube ich bin der Lösung schon auf der Spur. In der boards.txt steht bei meinem Board (Duemilanove): atmega328.upload.protocol=arduino Diese Einstellung wird offenbar nicht mit der Einstellung in den preferences (stk500v2) überschrieben. Kommentiere ich die Zeile auf klappt es mit dem Programmer. In früheren Versionen gab es den Eintrag offenbar nicht oder er wurde korrekt überschrieben.

Nur komisch, dass es bei Dir klappt...

Unterschiede gibt es schon. Ich versuche keinen Duemilanova zu programmieren, sondern einen nackten ATMega, so wie es in deinem Ursprungsposting steht. Da habe ich eigene Bootloader und Einträge in der Boards.txt. Schau mal, ob Du zu diesem Problem einen Bugreport machen kannst.

Grüße,

Sven

Du verwendest aber schon den Befehl “Datei → Upload mit Programmer” ?
Im Menue “Tools → Programmer” muss der mySmartUSB angezeigt werden, wenn er korrekt angelegt ist.
Hier mal meine programmer.txt

# See: http://code.google.com/p/arduino/wiki/Platforms

avrisp.name=AVR ISP
avrisp.communication=serial
avrisp.protocol=stk500v1

avrispmkii.name=AVRISP mkII
avrispmkii.communication=usb
avrispmkii.protocol=stk500v2

usbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny

usbasp.name=USBasp
usbasp.communication=usb
usbasp.protocol=usbasp

parallel.name=Parallel Programmer
parallel.protocol=dapa
parallel.force=true
# parallel.delay=200

arduinoisp.name=Arduino as ISP
arduinoisp.communication=serial
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200

mySmartUSB.name=mySmartUSB
mySmartUSB.communication=serial
mySmartUSB.protocol=stk500v2

Gruß
Reinhard

Du verwendest aber schon den Befehl "Datei -> Upload mit Programmer" ?

Ach, wie blöd kann man sein. Das war's, hab ich natürlich nicht gemacht. Als ich den Programmer das letzte Mal benutzt habe gab's die Funktion noch nicht.

Jetzt geht es.