LilyPad Arduino und serial Problem unter MacOS El Capitan

Hallo,

seit einigen Tagen schon versuche ich unter Arduino 1.8.1 auf meinem Mac mit El Capitan ein LilyPad zu flashen. Mit dem AVRISP MKII am ISP Anschluss funktioniert es, ich kann auch den Bootloader darüber neu flashen. Wenn ich allerdings ein USB2Serial Modul anschließe, geht es nicht. Ich habe schon alle möglichen FTDI-Module ausprobiert, auch ein Original FTDI-Kabel mit 6fach Anschluss und ein Arduino USB2serial Modul, nichts funktioniert. Es sieht so aus, als ob die IDE einen Programmer (und zwar den stk500, der unter den Programmern gar nicht ausgewählt ist) benutzen wollte, obwohl ich eine andere Einstellung habe und das Hochladen ohne Programmer gewählt habe. Der Port war beim letzten Versuch mit dem Arduino USB2serial: dev/cu/usbmodem1421. Ich habe schon seitenweise Posts gelesen und Tipps ausprobiert, nichts hat funktioniert.

Ich hoffe, dass mich hier jemand auf die richtige Fährte setzt. Das letzte Protokoll der IDE mit den Fehlermeldungen vom Upload des Blink Sketches hänge ich hier an.

Arduino: 1.8.1 (Mac OS X), Board: "LilyPad Arduino, ATmega328"

Warning: Board breadboard:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB
Der Sketch verwendet 928 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
/Users/hasch/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/bin/avrdude -C/Users/hasch/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbmodem1421 -b57600 -D -Uflash:w:/var/folders/_9/ts69ds1x6bxb7xqw49pl07rr0000gn/T/arduino_build_660303/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Dec 16 2016 at 13:32:25
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Users/hasch/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino8/etc/avrdude.conf"
         User configuration file is "/Users/hasch/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbmodem1421
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Beim normalen Flashen des Sketches spielt der "Programmer" keine Rolle.

Welchen Bootloader hast du geflasht ?

Stimmt die eingestellte Taktfrequenz auch zu dem vorhandenen Resonator ?

Auch beim Flashen sollte die Taktfrequenz richtig sein.

HotSystems:
Beim normalen Flashen des Sketches spielt der "Programmer" keine Rolle.

Welchen Bootloader hast du geflasht ?

Stimmt die eingestellte Taktfrequenz auch zu dem vorhandenen Resonator ?

Auch beim Flashen sollte die Taktfrequenz richtig sein.

Der Bootloader ist der, der bei der Arduino IDE mitgeliefert wird. Als das Flashen nicht funktionierte, habe ich mit meinem AVRISP MKII den Bootloader aus der IDE heraus neu geflasht.

Wie stelle ich denn die Taktfrequenz ein? Ich denke, das ist die voreingestellte für das LilyPad.

HaSch:
Wie stelle ich denn die Taktfrequenz ein? Ich denke, das ist die voreingestellte für das LilyPad.

Ich habe gesehen, dass es Ausführungen in 16 MHZ sowie in 8 MHz gibt.
Ich weiß nicht, welche Version du hast.

Nur wenn du diese Frequenz auch im Bootloader verwendest (auswählst), funktioniert es anschließend auch mit dem Flashen.

HotSystems:
Ich habe gesehen, dass es Ausführungen in 16 MHZ sowie in 8 MHz gibt.
Ich weiß nicht, welche Version du hast.

Nur wenn du diese Frequenz auch im Bootloader verwendest (auswählst), funktioniert es anschließend auch mit dem Flashen.

Na ja, ich denke, dass der Bootloader, der mit dem LilyPad kommt, die richtige Frequenz voreingestellt hat. Es hat aber von Anfang an nicht funktioniert.

Wie kann ich denn bei dem nachträglich geflashten Bootloader die Frequenz wählen? Dann muss ich doch einen entsprechenden Bootloader auswählen können.

HaSch:
Na ja, ich denke, dass der Bootloader, der mit dem LilyPad kommt, die richtige Frequenz voreingestellt hat. Es hat aber von Anfang an nicht funktioniert.

Da solltes du nochmal mit deinem Lieferanten sprechen, der "muss" dir die richtigen Komponenten zu Verfügung stellen.

Wie kann ich denn bei dem nachträglich geflashten Bootloader die Frequenz wählen? Dann muss ich doch einen entsprechenden Bootloader auswählen können.

Nachträglich geht evtl. über die Fuses. Da musst du auch wissen, welche Frequenz dein LillyPad hat.

Wenn du die richtige "Erweiterung" hast, sollte sich das auswählen lassen. Aber da kann ich nicht weiter helfen, da ich mit dem LilyPad bisher nichts gemacht habe.

Ich danke dir für deine Hilfe, aber ich glaube, wir sind auf dem Holzweg. Mein LilyPad hat eine Frequenz von 8MHz. Dafür ist der Arduino Bootloader geeignet. Ich denke nicht, dass es daran liegt. Mit dem AVRISP MKII geht's ja auch.

Ich glaube eher, dass irgend etwas an den Einstellungen verbogen ist. Ich habe auch schon mal in die avrdude.conf reingesehen aber ich kann mit den Zeilen darin nicht viel anfangen. Ich denke nämlich, dass die Arduino IDE bei der Auswahl des LilyPad Boardes immer versucht, den Sketch mit einem Programmer zu flashen. Ein Uno wird dagegen einwandfrei programmiert.

Gibt es so etwas wie eine Boarddefinition, die die Programmiereinstellungen festlegt?

HaSch:
Ich danke dir für deine Hilfe, aber ich glaube, wir sind auf dem Holzweg. Mein LilyPad hat eine Frequenz von 8MHz. Dafür ist der Arduino Bootloader geeignet. Ich denke nicht, dass es daran liegt. Mit dem AVRISP MKII geht's ja auch.

Ich habe auch nicht gesat, dass es daran liegen muss. Wir müssen nur alles prüfen.
Daher muss man schon mal einen Holzweg nehmen, auch wenn es unangenehm ist.

Ich glaube eher, dass irgend etwas an den Einstellungen verbogen ist. Ich habe auch schon mal in die avrdude.conf reingesehen aber ich kann mit den Zeilen darin nicht viel anfangen. Ich denke nämlich, dass die Arduino IDE bei der Auswahl des LilyPad Boardes immer versucht, den Sketch mit einem Programmer zu flashen. Ein Uno wird dagegen einwandfrei programmiert.

Gibt es so etwas wie eine Boarddefinition, die die Programmiereinstellungen festlegt?

Nein, das macht die IDE nicht selbstständig. Und die Bordeinstellungen sind von den Einstellungen abhängig, die du zuletzt gemacht hast.

Hast du denn für den USB/Serial-Adapter den richtigen Com-Port gewählt ?
Der sollte anders lauten als beim Uno.

HotSystems:
Ich habe auch nicht gesat, dass es daran liegen muss. Wir müssen nur alles prüfen.
Daher muss man schon mal einen Holzweg nehmen, auch wenn es unangenehm ist.

Nein, das macht die IDE nicht selbstständig. Und die Bordeinstellungen sind von den Einstellungen abhängig, die du zuletzt gemacht hast.

Hast du denn für den USB/Serial-Adapter den richtigen Com-Port gewählt ?
Der sollte anders lauten als beim Uno.

Das ist nicht unangenehm, ich bin dankbar für jeden Tipp und probiere es gerne aus. Ich denke nur wirklich, dass wir in diese Richtung nicht weitergehen müssen.

Klar macht die IDE das nicht selbstständig aber dennoch kann es sein, dass da schon mal was verbogen ist. Das könnte z. B. durch die Installation von zusätzlichen Boards passiert sein. Beim LilyPad kann ich z. B. überhaupt keine Boardeinstellungen auswählen, außer der richtigen MCU und die ist korrekt.

Den richtigen COM-Port habe ich gewählt, wenn ich den UNO nicht mehr verbunden habe, wird mir dessen Port ja gar nicht mehr angezeigt. Der Port des FTDI- bzw. Arduino-Adapters ist dann außer zwei Bluetooth-Ports der einzige, der mir angeboten wird.

Ok, dann muss ich passen.

Da der LilyPad ähnlich dem ProMini ist, könntest du das mal damit testen.
Da kann man ja andere Einstellungen wählen.

Hast du schon mal mit den USB-Adaptern andere Arduinos geflasht ?

HotSystems:
Ok, dann muss ich passen.

Da der LilyPad ähnlich dem ProMini ist, könntest du das mal damit testen.
Da kann man ja andere Einstellungen wählen.

Hast du schon mal mit den USB-Adaptern andere Arduinos geflasht ?

Danke, werde ich mal versuchen. Momentan bin ich dabei, die Boarddefinitionen in der boards.txt durchzusehen und den dort definierten Bootloader zu suchen. Ich werde den mal über AVR Studio oder Flip flashen, mal sehen, ob das was bringt.

Die Adapter funktionieren, damit habe ich z. B. schon ESP8266 Module geflasht und der Arduino Adapter war ganz neu (heißt zwar nichts aber ich gehe trotzdem davon aus, dass der funktioniert).

HaSch:
Danke, werde ich mal versuchen. Momentan bin ich dabei, die Boarddefinitionen in der boards.txt durchzusehen und den dort definierten Bootloader zu suchen. Ich werde den mal über AVR Studio oder Flip flashen, mal sehen, ob das was bringt.

Die Adapter funktionieren, damit habe ich z. B. schon ESP8266 Module geflasht und der Arduino Adapter war ganz neu (heißt zwar nichts aber ich gehe trotzdem davon aus, dass der funktioniert).

Der Holzweg war übrigens doch nicht so holzig!

Ich habe über Atmel Studio den Bootloader geflasht, der standardmäßig laut Boarddefinition über die Arduino IDE geflasht wird: ATmegaBOOT_168_atmega328_pro_8MHz.hex
Kein Erfolg, alles wie davor!

Dann habe ich den Optiboot geflasht: optiboot_atmega328.hex
Kein Erfolg, aber immerhin wurde jetzt das LilyPad zu Beginn des Hochladens resettet.

Der dritte Versuch brachte dann den Erfolg: ATmegaBOOT_168_atmega328.hex war der richtige Bootloader. Ich werde das gleich mal in der Boarddefinition ändern.

Jetzt funktioniert alles.

Herzlichen Dank für deine Hilfe und viele Grüße
Hans

HaSch:
Jetzt funktioniert alles.

Herzlichen Dank für deine Hilfe und viele Grüße
Hans

Hallo,

prima, es freut mich, dass es jetzt funktioniert.