nachdem gestern mein Diamex AVR USB ISP Programmer geliefert worden ist, habe ich sofort versucht, mit der Arduino-IDE den neuen Bootloader auf den ATMEGA328 zu brennen.
Dies gestaltete sich etwas schwierig, aber inzwischen habe ich die Lösung gefunden und möchte sie den anderen Nutzern nicht vorenthalten.
(Unter "Tools\Board" passendes Arduino Board auswählen!)
In der Arduino-IDE muss man im Menü "Tools" zunächst den "Serial Port" des Programmers auswählen. Z.B. COM11. Danach im "Tools"-Menü "Programmer" das Modell "AVRISP mkII". Dieser Programmer benutzt das passende Protokoll "stk500v2".
Wählt man danach im "Tools"-Menü "Burn Bootloader", so kommt die Fehlermeldung: "avrdude: usbdev_open(): did not find any USB device "usb""
Diese beseitigt man, indem man die Arduino-IDE beendet. Danach im Verzeichnis "arduino-1.0\hardware\arduino" die Datei "programmers.txt" editieren. Der Eintrag "avrispmkii.communication=usb" muss in "avrispmkii.communication=serial" geändert werden.
Alternativ kann man in "programmers.txt" auch einen eigenen Eintrag für den DIAMEX-AVR ergänzen:
Danach die Datei speichern. Die Arduino-IDE neu starten und schon läßt sich der Bootloader problemlos brennen.
Damit hat man dann den Optiboot Bootloader 1.4 auf seinem Arduino 168 oder 328.
Du weißt schon, daß der Optiboot 4.4 der aktuelle Bootloader des Uno ist und mit IDE 23 und Arduino 1.0 mitgeliefert wird?
Aufgrund eines Heise-Artikels über Arduino 1.0 bin ich überhaupt erst darauf gekommen, dass man mit der IDE auch den Bootloader brennen kann und es eine neue Version des Bootloaders gibt.
Mein Duemilanove hatte den ja noch nicht dabei.
Du schreibst, dass du den Bootloader mit dem In-System-Programmer auf den Mikrocontroller bringen konntest. Funktioniert danach der "normale" Upload über die serielle Schnittstelle?
Wenn du den Sketch über den ISP auf den Mikrocontroller bringst, wie gehst du da vor? Welche Einstellungen verwendest du (unter Tools - Programmer) nimmst du auch den Upload-Button (File-Upload Using Programmer)?
Die serielle Kommoninikation wie in avrisp eingestellt, das Protokoll wie in avrispmkii. Damit kann ich Sketches Hochladen und auch Bootloader brennen.
Im Log File sind mir folgende beide Zeilen aufgefallen:
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_getparm(): failed to get parameter 0x9a