Ich habe einen mySmartUSB light und wollte darüber den Arduino UNO programmieren.
Ich habe gerade schon mit avrdudess ( GUI ) die Fuses ausgelesen.
Hat ein paar mal geklappt, jetzt nicht mehr ohne dass ich den USBlight reconnecten muss...
Danach wollte ich mit der Arduino IDE eine Programm hochladen.
Habe dann auch unterschiedliche USB Eingänge getestet. Aber es kommt immer die gleiche Meldung.
1
avrdude: Version 6.3-20171130
2
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
Copyright (c) 2007-2014 Joerg Wunsch
4
5
System wide configuration file is "/etc/avrdude.conf"
6
User configuration file is "/root/.avrduderc"
7
User configuration file does not exist or is not a regular file, skipping
8
9
Using Port : /dev/ttyUSB1
10
Using Programmer : arduino
11
Overriding Baud Rate : 115200
12
avrdude: ser_open(): can't open device "/dev/ttyUSB1": Input/output error
13
14
avrdude done. Thank you.
Der ausgewählte serielle Port
ist nicht vorhanden oder das Board ist nicht angeschlossen
aber tortzdem kann man was davon lesen..
SUCCESSUC: _READHFUSE
_SUCCESSUC: _READLFUSE
_SUCCESSUC: _READEFUSE
SO aus dem Kontext gerissen kann ich damit nichts anfangen. Wenn avrdude den seriellen Port nicht öffnen kann, dann kann er nicht mit dem Programmieradapter kommunizieren. Ergo kann er auch keine Fuses lesen.
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/oem (..)/main.hex"
avrdude: input file /home/oem/Dokumente(..)/main.hex auto detected as Intel Hex
avrdude: writing flash (172 bytes):
Wie gesagt: Dein USB Programmieradapter ist kaputt, oder das USB Kabel.
Ein anderen USB Port hast du sicher schon versucht (hoffe ich).
Ich weiß nicht, habe ich etwas den Bootloader überschrieben?
Ich denke nicht oder?
Ich weiß gar nicht wie das geht.
Also muss es eine Einstellung in der IDE sein..
Ich hoffe ich habe noch einen neuen Arduino UNO um das mal zu testen...
Fehler beim Hochladen: Konfigurationsparameter 'program.tool' fehlt
Das ist aber jetzt ein ganz anderes Problem, als im Eröffnungsbeitrag. Um dies zu lösen, würde ich die Arduino IDE vollständig* löschen und neu installieren.
*) also auch diese Verzeichnisse:
C:\Users(username)\AppData\Roaming\Arduino15
C:\Users(username)\AppData\Local\Arduino15
Ich weiß nicht, habe ich etwas den Bootloader überschrieben?
Ja, wenn du einen Arduino Sketch mittels ISP Programmieradapter hochlädst, wird der eventuell vorher vorhandene Bootloader überschrieben. Das ist so gewollt, denn den brauchst du nicht.
Wie hab ich das hin bekommen, dass die beiden nur noch per avrdude über ISP ansprechbar sind ?
Bootloader oder was?
Also der dritte scheint noch frisch zu sein.
Über USB programmierung geht das :
Wie jetzt, dieses mal ohne ISP Programmieradapter? Kannst du dich mal bitte sortieren und nachvollziehbar dokumentieren, was du machst und wann du welches Problem hast? Mache Fotos!
Offenbar bringst du zwei USB Verbindungen durcheinander:
a) vom Arduino Board zum PC
b) vom Programmieradapter zum PC
Beide "sprechen" das stk500v2 Protokoll und beide haben einen virtuellen seriellen Port. Aber wenn du deinen Arduino mittels Programmieradapter bespielst, wird dessen Bootloader überschrieben. Danach ist er nur noch mit Programmieradapter programmierbar. Es sei denn, du installiert den Bootloader erneut (wozu die Arduino IDE einen Menüpunkt hat). Aber solange du einen Programmieradapter verwendest, brauchst du keinen Bootloader.
Wie gesagt, du brauchst keinen Bootloader wenn du einen ISP
Programmieradapter verwendest.
Portabler_Wein schrieb:
da gings auf Anhieb mit USB-B Kabel.
Wie jetzt, dieses mal ohne ISP Programmieradapter? Kannst du dich mal
bitte sortieren und nachvollziehbar dokumentieren, was du machst und
wann du welches Problem hast?
Ganz am Anfang wollte ich nur mit meinem mysmartusb light den arduino (2stück hatte ich zum testen) in der arduino IDE programmieren.
Das ging nicht.
dann habe ich es mit USB versucht.
das ging auch nicht.
Dann habe ich einen dritten Arduino genommen.
bei dem ging die Programmierung in der IDE mit einem USB Kabel.
Aber nicht mit dem mysmartUSB
Jetzt ist es möglicherweise so, dass ich zum einen den mysmartUSB nicht richtig eingebunden habe in die IDE und zum anderen dass, die beiden ersten Arduinos keinen Arduino-bootlaoder mehr haben.
Aber wenn du deinen Arduino mittels Programmieradapter
bespielst, wird dessen Bootloader überschrieben.
Das war mir am Anfang nicht mehr so klar. Aber ja das ist wohl der Grund warum die beiden nicht gefunden werden.
Also letztenendes will ich in der Lage sein, den Arduino sowohl mit Programmer als auch über USB programmieren zu können, aus der Arduino IDE heraus. Natürlich weiß ich jetzt, dass auch wenn ich dann per Programmer porgrammieren würde wieder der Bootloader überschrieben werden würde.
AH sch.... das lag an den beiden Arduinos.
Die sind beide komisch..
Komisch ist aus meiner Sicht eher, wie Du Deine Aktivitäten beschreibst. Sieht für mich so aus, als wenn Du zu viel rumprobierst, ohne recht zu wissen, was Du tust. Ein Arduino UNO funktioniert in der Arduino IDE nur dann problemlos, wenn er
a) sein Bootloader-Programm korrekt geladen hat und
b) der auf der Platine vorhandene 2.Prozessor sein Arbeitsprogramm korrekt geladen hat.
Mit dem mysmartUSBlight, der ein ISP-Programmer ist, kann man aber leicht in beiden Prozessoren mithilfe von avrdude diese Programme überschreiben. Dann ist der Arduino UNO in der Arduino IDE erst dann problemlos zu benutzen, wenn beide Prozessoren wieder ihre richtigen Programme geladen haben. Das sollte mit dem mysmartUSBlight problemlos möglich sein. Allerdings sollte man Anfängerfehler wie gleichzeitige Verbindung des UNO über USB-A/B-Kabel und mysmartUSBlight vermeiden, wenn man Datensalat vermeiden möchte (auch wenn der CCC mal behauptet hat, daß der gesund sei).
Und bevor du morgen direkt wieder durcheinander kommst, lässt du morgen die ganze Zeit dmesg nebenher laufen. Stecke ZUERST den Programmieradapter an und lasse ihn angesteckt. Er müsste dann permanent an ttyUSB0 hängen.
Danach steckst du das Arduino Board an, welchem dann ttyUSB1 zugewiesen wird.
Allerdings sollte man Anfängerfehler wie gleichzeitige
Verbindung des UNO über USB-A/B-Kabel und mysmartUSBlight vermeiden,
wenn man Datensalat vermeiden möchte
Ich vermute, dass du dabei nicht den Programmieradapter an ttyUSB0 sondern den Bootloader an ttyACM0 verwendet hast. Der Bootloader kann nicht sich selbst überschreiben.
Oder du verwendest die Arduino IDE in Version 1.6.10, da war genau das ein bekannter Bug.
Oder du hast immer noch ein USB Problem. Was hat dmesg während dessen angezeigt, irgendwelche Fehlermeldungen?
Leider fehlen in deinem Beiträgen sämtliche Angaben, mit denen man das prüfen könnte. Du beschreibst immer noch nicht ausreichend, was du da machst. Du könntest wenigstens mal Fotos vom Aufbau und deinen Einstellungen in der IDE machen. DU willst dioch Hilfe bekommen, oder nicht?
Und zum anderen, weil ich immer nur nach der Einstellung des Programmer-USB-Ports und des Programmer-Namens auf 'Hochladen' anstatt auf 'Hochladen mit Programmer' geklickt habe.
Am Anfang hatte ich ja zwei Arduinos, bei denen ich auch keine Verbindung mit USB aufbauen konnte(8u2). Nachdem ich aber einen Bootloader mit avrdude(ss) ( nicht in der Arduino IDE) hochgeladen habe , konnten die Arduinos wieder von der IDE per USB erkannt werden.
Damit habe ich meine Ausgangsfrage beantwortet und bin zufrieden.
Hast du noch eine Frage?
(Was mich höchsten noch wundert ist das mit der Option 'Bootloader brennen'
Sollte doch voll einfach gehen wenn man einen ISP Programmer hat und einen Arduino. Irgendwie kommt da immer ein Fehler. Aber werde bei Bedarf Bootloader extern mit avrdude hochladen.)
Sollte doch voll einfach gehen wenn man einen ISP Programmer hat und
einen Arduino.
Das geht auch "voll einfach", jedenfalls bei mir. Ich mache mich aber vorher schlau, wie mein Programmieradapter heißt und an welchem Port er hängt. Damit ich eben nicht irgend etwas irgend wohin übertrage (Datensalat).
Weil sowohl der USB-Eingang als auch der ISP-Adapter auf das Resetsignal einwirken. Meistens kommen sie sich nicht in die Quere, aber wenn man man Probleme hat und Fehler sucht, ist es eine gaaaanz alte und bewährte Methode, soviele eventuelle Fehlerquellen wie möglich auszuschalten, indem man nur das anschließt, was unbedingt nötig ist, weil der Fehler in der Hälfte der Fälle nicht da liegt, wo man ihn vermutet. Wenn also Power über mysmartUSBlight nicht ausreicht, die Hohlbuchse am UNO zur Spannungsversorgung benutzen.
Wie kann man den zweiten Prozessor überschreiben?
Ach so wahrscheinlich die andere ISP-Verbindung..
Ja. Mein UNO hat als USB-UART-Bridge einen ATmega16U2 mit einem eigenen 6poligen ISP-Adapter drauf. Wer das nicht sauber auseinanderhält, bekommt Probleme. Nach Deinen ersten Postings hätte ich Dir zugetraut, das zu verwechseln, es klang alles nach husch-husch. Du scheinst aber klüger zu sein, als es zuerst den Anschein hatte. Eine wirklich brauchbare Beschreibung Deines Problems hast Du trotzdem bisher nicht hinbekommen, wir müssen ziemlich viel erraten.
Für meinen Geschmack stocherst Du zuviel herum und gehst den Fehlfunktionen nicht richtig nach, aber das ist nur meine (unmaßgebliche) Meinung und jeder darf es so machen, wie er möchte. Für mich gilt der Grundsatz: wenn ich nach einer Stunde Stochern keine Lösung gefunden habe, ist es an der Zeit, ganz grundsätzlich und Schritt für Schritt das Problem aufzurollen.
Gruß Klaus (der soundsovielte)
P.S. Stefan hat doch ausführlich dargelegt, welche Info helfen würde.
Entschuldigt wenn Ich mich hier dranhänge.
Aber hat schon jemand die 2.0.3 IDE damit ans laufen bekommen?
Die IDE ignoriert die programmers.txt scheinbar einfach.
Ich bekomme das nur mit der 1.8.19 IDE hin.
Allerdings unter Linux.
Finde die 2.0.3 optisch ansprechender :)
EDIT: Fehler gefunden.
Es gibt unter ~/.config Dateien die falsche Daten enthalten.
Bei mir war es
~/.config/arduino-ide
Nach verschieben und Starten der aktuellsten IDE wurden die
Daten korrekt aus dem alten übernommen. Allerdings nur einmal.
Ändert man die ~/.arduino15/packages/ATTinyCore/hardware/avr/1.5.2/programmers.txt muss man auch wieder das
Verzeichnis ~/.config/arduino-ide löschen.
Und alles neu einstellen.