Forum: Mikrocontroller und Digitale Elektronik Arduino fünktioniert nicht mehr mit IDE


von Peter S. (breitner)


Lesenswert?

Ich habe schon lange mit µC zu tun. Weil es mir einfacher erschin und 
dafür Code schon für mein Vorhaben vorhanden war,habe ich eine Arduino 
Nano ausprobiert. Ich habe die IDE außprobiert und im Atmel Studio 6 
probeweise programiert. Hat auch mit dem AVRISP MKII alles soweit 
geklappt. Die Programme aus dem Studio laufen.

Nur als ich dann zur Arduino IDE zurück wollte klappte das nicht mehr. 
Vermutlich habe ich den Bootloader gleich mitgelöscht. Also habe ich den 
Bootloader über das Studio wieder aufgespielt. Bloß die IDE spielt 
trotzdem nicht mit.

Was kann man da tun? Natürlich kann ich weiterhin über das Studio 
programieren. Aber die paar Arduino Programme die ich ausprobieren 
wollte tun trotzdem halt nicht und das ärgert mich.

von Bastler (Gast)


Lesenswert?

Spiel Dir die Original-Arduino "IDE" auf den PC. Da kannst Du unter 
"Tools" den Bootloader wieder nachinstallieren.
Das hat bei mir bereits mehrmals funktioniert.

von Jürgen S. (jurs)


Lesenswert?

Peter Stephan schrieb:
> Nur als ich dann zur Arduino IDE zurück wollte klappte das nicht mehr.
> Vermutlich habe ich den Bootloader gleich mitgelöscht. Also habe ich den
> Bootloader über das Studio wieder aufgespielt. Bloß die IDE spielt
> trotzdem nicht mit.
>
> Was kann man da tun? Natürlich kann ich weiterhin über das Studio
> programieren. Aber die paar Arduino Programme die ich ausprobieren
> wollte tun trotzdem halt nicht und das ärgert mich.

Falls Du einen der von der Arduino IDE direkt unterstützten 
ISP-Programmer verwendest, kannst Du auch mit der Arduino IDE per 
ISP-Programmer hochladen, die Funktion dafür wäre "Datei - Upload mit 
Programmer".

Manche Programmer, die nicht direkt unterstützt werden, z.B. von Diamex, 
kannst Du durch Editieren der "programmers.txt" trotzdem für die 
Verwendung von der IDE aus einrichten.

Um wieder über den Bootloader Programme hochzuladen, bereitest Du den 
Controller am besten mit der "Bootloader installieren" Funktion von der 
Arduino IDE aus vor. Dabei wird nämlich nicht nur der Bootloader selbst 
installiert, sondern auch die "Fuses" werden dabei wieder richtig 
gesetzt, falls Du diese verstellt hattest.

von Peter S. (breitner)


Lesenswert?

Die Arduino IDE habe ich auf dem PC, sonst wüßte ich ja nicht, dass es 
früher schon mal geklappt hat. Da kommt dann avrdude: "Yikes! Invalid 
device signature. Dobecheck connections and try again, or use -F to 
override this check" alledings weiß ich nicht wo ich das eingeben 
sollte. Gebe ich das im Fenster einkommt die gerwohnte Meldung "avrdude: 
stk500_getsync(): not in sync: resp=0x00" Weist wo man das eingeben 
kann/soll? Gibt es da ein Komandofenster?

Ich habe ein Pollin Board, das mkii, ein STK500 und ein JTAG ICE zur 
Verfügung. Letzteres bringt hier wohl nicht viel. Ich habe auch gelesen, 
dass es an den Treibern liegen könnte was mir unlogisch scheint, denn 
schließlich hat es parallel funktioniert, bis ich zum ersten Mal mit dem 
Studio gearbeitet habe.

von Bernd E. (berecke)


Lesenswert?

Das könnte ein Problem mit dem Jungo- (Atmel) und den LibUSB-Treiber 
(AVRdude) sein. Deinstalliere den Jungo-Treiber.

Mit dem Atmel STK500 sollte das aber funktionieren.

: Bearbeitet durch User
von Jürgen S. (jurs)


Lesenswert?

Peter S. schrieb:
> Die Arduino IDE habe ich auf dem PC, sonst wüßte ich ja nicht, dass es
> früher schon mal geklappt hat. Da kommt dann avrdude: "Yikes! Invalid
> device signature. Dobecheck connections and try again, or use -F to
> override this check" alledings weiß ich nicht wo ich das eingeben
> sollte. Gebe ich das im Fenster einkommt die gerwohnte Meldung "avrdude:
> stk500_getsync(): not in sync: resp=0x00" Weist wo man das eingeben
> kann/soll? Gibt es da ein Komandofenster?

Nein, Du gibst Du garantiert nirgends einen Override für die "Device 
Signature" ein, weil das in dem Fall nicht die Ursache Deines Problems 
ist!

Die Arduino-Software erzeugt immer Code für genau Dein Board.
Dein Board, das Du in der IDE als Board eingestellt hast.

Und wenn Du ein anderes Board mit einem anderen Controller anschließt, 
das standardmäßig von der IDE nicht unterstützt wird, dann erzeugst Du 
allenfalls einen neuen Eintrag in der "boards.txt" Datei und wählst dann 
eben das Board des neuen Eintrags aus.

Wenn die gemeldete "Device Signature" nicht stimmt, insbesondere weil 
die Antwort beim Uploadversuch 00 ist, dann hast Du entweder in der IDE 
nicht das richtige Board ausgewählt, oder die Kommunikation mit dem 
Board funktioniert nicht.


An Funktionen zum Upload über die IDE stehen Dir zur Verfügung:

Bei Anschluß eines ISP-Programmers am ICSP-Anschluß:
- Bootloader installieren
- Datei - Upload mit Programmer

Bei Anschluß am USB (nur mit installiertem Bootloader möglich)
- Datei - Upload

von Bernd E. (berecke)


Lesenswert?


von Peter S. (breitner)


Lesenswert?

Erst mal Danke für all eure Tips.

Leider habe ich mit dem SKT500 Probleme irgendwie erkennt auch er den 
Chip nicht. Allerdings glaube ich, dass es etwas mit den Jumpern hier zu 
tun hat. Mit MKII und Jtag Ice3 in ISP Mode kann ich den Chip erkennen. 
Ob ich mit der Programmierung mit JTAG ICE meher Glück habe bezweifele 
ich, denn es sind vermutlich die selben Treiber und die Jumper beim 
STK500 auszuprobieren hat es gestern einfach nicht mehr gereicht. 
Nächstes Wochenende :-) Trotzdem wollte ich eine Rückmeldung schreiben. 
Auch für die, die das später lesen, denn nichts ist blöder als Beitrag 
bei dem den denkt ..und was ist jetzt.

Also bisher tut es nicht, ich melde mich sollte es klappen. Danke

von Bernd E. (berecke)


Lesenswert?

Die Jumper beim STK500 sind wie im Auslieferungszustandes des Boards. 
Siehe Abbildung im Manual. VTARGET, AREF, RESET, XTAL1 gebrückt. OSCSEL 
rechts gebrückt. Der Rest ist offen. ISP6PIN an Arduino stecken. 
RS232-CTRL an PC. Und schon sollten die USB-Treiber keinen Ärger mehr 
machen. Geht auch mit Atmel Studio 6.2. Dort den STK500 mit COMx 
(Tools/Add Target..) einrichten.

von Peter S. (breitner)


Lesenswert?

Danke Bernd, ich habe so ziemlich alles gemacht was geht. Die Jumper 
stimmen, einen ATMega16 erkennt das STK500. Aber den Arduino über ISP 
nicht (Felermeldung im Studio). Ich habe es mit Ponyprog und einem 
Pollinboard versucht aber Ponyprog kennt den ATMega328 von hausaus nicht 
und mit anderen aus der Reihe tut es nicht. Ich kann nicht mal korrekt 
das Chip auslesen. Sogar mit STK500 und der Arduino IDE und "Bootloader 
schreiben" aber das gibt auch nur eine Fehlermeldung.

Zu guter letzt habe ich es nochmal mit dem Link versucht alles haar 
klein. Bis hin zu Lock Bits. Da es auf dem Nano ein SMD-Chip ist, kann 
ich keinen neuen einsetzen. Alles stimmt sogar der Verify aber in der 
IDE wird er nicht erkannt.

Der Chip selbst tut prima als "Ex-Arduino" ich habe ein kleines Programm 
das eien externes EEPROM ausliest. (Über Studio) das funktioniert toll. 
Dabei ist es sogar egal, ob ich die Daten über RX/TX und eine Externen 
Konverter auslese oder über den eingebauten und dessen USB. Dieser Chip 
tut also auch!

Fazit: Ein Flash mit dem Studio mach einen Arduino zum Ex.

Spekulation: Arduino hat irgenwas irgendwo reingeschrien um genau das zu 
vermeiden. Beim erase Chip wird das gelöscht.

Ich werde bei dem Händler genau noch so einen Nano für 10,-- € kaufen, 
den schließlich tat er ja. Und entsprechend kennzeichnen. Vielleicht 
kann man die Hex ja komplett auslesen und in den anderen reinschreiben.


Sollte noch jemand einen geniale Idee habe was hier falsch gelaufen ist, 
nur raus damit. Es get ja drum das zu verstehen. :-) Programmieren kann 
man auch mit dem Studio.

Danke an alle Peter

von Peter S. (breitner)


Lesenswert?

Nachtrag: Ich habe jetzt ein identisches zweites Nano. Er läßt sich 
erwartungsgemäß mit der Arduino IDE programmieren, nachdem Windows 7 die 
Treiber installiert hat. Ich habe im Studio Flash und EEPROM ausgelesen 
und in den alten geschrieben. Natürlich läuft das Programm im Flash aber 
die IDE tut trotzdem nicht. Alle Einstellungen gleich.

Dann bin ich drauf gekommen eventuell liegt es einfach an den Treibern 
die Windows 7 zuordnet. Und habe die Treiber im WIndows Gerätemanager 
deinstalliert. Danach muss sich windows die Treiber komplett neu suchen. 
Trotzdem tat es nicht.

Jetzt werde ich es auf einen anderen PC versuchen sollte trotzdem nicht 
funktionieren schreibt oder löscht das Studio "unsichtbare" Dinge die 
die Ardino IDE braucht.

von Ulrich F. (Gast)


Lesenswert?

>schreibt oder löscht das Studio "unsichtbare" Dinge die
>die Ardino IDE braucht.
Das können dann nur die Fuses sein.

von chris_ (Gast)


Lesenswert?

>Der Chip selbst tut prima als "Ex-Arduino" ich habe ein kleines Programm
>das eien externes EEPROM ausliest.

Das heist, der Chip funktioniert. Ich würde sagen, das Problem liegt 
beim Bootloader-Flashen.
Wenn Du den zum Prozessor passenden Bootloader geflasht hast, ist es 
wichtig, die Fuses richtig einzustellen. Man kann auf dem AVR mehrere 
Bootloadergrößen wählen. Welche für den Arduino-Bootloader die richtige 
ist, weiß ich nicht.
Also meine Einschätzung: Die Fuses nach dem Bootloader Flashen stimmen 
nicht. Damit läuft der Bootloader dann auch nicht an.

von Peter S. (breitner)


Lesenswert?

Ich kann ja die Fuses im Studio auslesen. Die Anzeigen sind identisch:
Extended 0xFD
High 0xDA
Low 0xFF

Inzwischen habe ich auf einem anderen PC auf dem noch nie Studio oder 
sonst was drauf war die Arduino IDE installiert den Nano angeschlossen 
gewartet bis die Treiber installiert sind und es kommt genau die selbe 
Fehlermeldung "avrdude:stk500_getsync():not in sync:resp:=0xf0" sobald 
ich versuche zu schreiben.

von Peter S. (breitner)


Lesenswert?

Problem gelöst.

Liest man bei einem funktionierenden Nano Flash (.hex ) und EEPROM 
(.eep) über das ATMEL Studio aus und schreibt beide anschließend wieder 
in einen NANO mit dem besagten Fehler über das Studio mit Hilfe des mkII 
ISP funktioniert es auch wieder mit der Arduino IDE ohne Fehler. 
(Wahrscheinlich ist dafür das Flash gar nicht nötig.)

Warum das beim 1. Versuch nicht funktioniert hat - keine Ahnung - 
möglicherweise habe ich Fehler gemacht und einen falschen Pfad gewählt.

Danke für die Hilfe von allen Seiten!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.