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.
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.
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.
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.
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
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
Vielleicht hilft auch das hier: http://onkelwik.wordpress.com/2012/02/18/einen-fabrikneuen-atmega-328p-mit-bootloader-fur-arduino-uno-flashen/
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
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.
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
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.
>schreibt oder löscht das Studio "unsichtbare" Dinge die >die Ardino IDE braucht. Das können dann nur die Fuses sein.
>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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.