ein Atmega32u2 auf Teensy-kompatiblem board soll programmiert werden mittels AVRDUDE per "Make program". der Gerätemanager zeigt "Atmega32U2 DFU". Das gelbe Rufzeichen verschwindet durch Installation des Treibers von Flip 3.4.7. Mit FLIP 3.4.7 for Windows (Java Runtime Environement included) kann ich ein hex-file main.hex aufspielen. Die LED blinkt. So weit so gut. Die USB-Treiber sind installiert. nun soll das Aufspielen von main.hex per "Make program" mit AVRDUDE gehen. Laut Beschreibung von AVRDUDE Version 6.3 wird Atmega32U2 unterstützt (S.5). Programmierung über USB sollte über libusb möglich sein (S.2). Siehe USBasp ISP. der Atmel DFU-Bootloader wird unterstützt - FLIP Protokoll 1 (S.2). Unter 5.2 gibt es programmerspezifische Informationen zu Atmel DFU Bootloader using Flip Version 1. Es sollte also möglich sein per AVRDUDE das Chip über USB zu programmieren. Nur wie muss die Zeile im Makefile dazu aussehen? im Netz finden sich Hinweise zu Atmega32u2/u4 wie: https://www.pololu.com/docs/0J61/6.3 PORT=\\\\.\\USBSER000 MCU=atmega32u4 program: $(TARGET).hex avrdude -p $(MCU) -c avr109 -P $(PORT) -U flash:w:$(TARGET).hex oder https://codeandlife.com/2016/01/30/usb-mouse-with-atmega32u4-pro-micro-clone-and-lufa/ avrdude -p atmega32u4 -c avr109 -P COM9 -U flash:w:blink.hex leider komme ich mit diesen Hinweisen nicht weiter. Eine COM-Port-Nummer sehe ich nicht im Gerätemanager. Flip lädt das hex-file jedoch und die 3 USB-dll scheinen installiert. wenn ich Einträge probiere wie z.B. avrdude -p atmega32u2 -c avr109 -P COM9 -U flash:w:main.hex avrdude -p atmega32u2 -c avr109 -P COM10 -U flash:w:main.hex avrdude -p atmega32u2 -c avr109 -P USBSER000 -U flash:w:main.hex kommen Meldungen der Art: "avrdude: ser_open(): can't open device "\\. \COM9": Das System kann die angegebene Datei nicht finden." da ich kein Leonardo-Board habe kann ich nicht schauen was die Arduino-IDE im Makefile zur Programmierung des Atmega32u4 einträgt. auch das Laden der Teensy-Erweiterung hat nichts gebracht da Teensy1.0-boards nicht mehr unterstützt werden. daher die Frage: was muss in der Zeile avrdude... im Makefile stehen um das hex-file das ich manuell mit Flip laden kann über avrdude mit Flip-Support zu laden?
Wenn FLIP funktioniert, warum verwendest Du nicht das anstelle von avrdude?
Matthias W. schrieb: > kommen Meldungen der Art: "avrdude: ser_open(): can't open device "\\. > \COM9": Das System kann die angegebene Datei nicht finden." Wenn du keinen COM Port im Gerätemanager siehst, dann ist es auch unsinnig einen anzugeben! Oder? Statt: > -P COM9 -P USB ? ? ? --- Wobei ich mir sicher bin, dass der Arduino Bootloader das AVR109 Protokoll spricht. Nicht der native Bootloader, da ackerst du auf der falschen Baustelle.. ---- Matthias W. schrieb: > da ich kein Leonardo-Board habe kann ich nicht schauen was die > Arduino-IDE im Makefile zur Programmierung des Atmega32u4 einträgt. Das hilft hier auch nicht weiter, da Arduino mit 32U4 einen anderen Bootloader nutzen. Und ein Makefile gibts da sowieso nicht.
Moment mal, die Appnote AVR109/AVR910 sind steinalt und beschreiben einen Bootloader bzw. ISP Programmieradapter mit seriellem Port. http://ww1.microchip.com/downloads/en/AppNotes/doc1644.pdf http://ww1.microchip.com/downloads/en/appnotes/atmel-0943-in-system-programming_applicationnote_avr910.pdf Ich habe hier absichtlich beide genannt, weil sie oft miteinander verwechselt wurden. Die Application Note AVR4023 beschreibt hingegen das Flip DFU Protokoll v2 http://ww1.microchip.com/downloads/en/AppNotes/doc8457.pdf über USB, ohne seriellen Port. Laut Manual Page unterstützt avrdude das Flip DFU Protokoll. https://manpages.debian.org/testing/avrdude/avrdude.1.en.html Zitat: > The Atmel DFU bootloader is supported in both, FLIP protocol version 1 > (AT90USB* and ATmega*U* devices), as well as version 2 (Xmega devices). Die richtige avrdude Option für den Bootloader in v2 wäre -c flip2 (ohne Angabe eines COM Port!) Allerdings bin ich wegen dem obigen Zitat unsicher, ob diese Version auf dem ATmega16u2 überhaupt unterstützt wird. Wenn das so einfach wäre, würde man das in der Arduino IDE so sicher nutzen. Stattdessen wird auf ein externes Programm (Teensy Loader) verwiesen. Das machen die sicher nicht nur aus Spaß. Wenn der Chip den Bootloader in Version 1 verwendet, solltest du dazu ebenfalls die Manual Page konsultieren, denn der funktioniert auch nur sehr eingeschränkt. Welchen Bootloader hast du verwendet, und in welcher Version?
Rufus Τ. F. schrieb: > Wenn FLIP funktioniert, warum verwendest Du nicht das anstelle von > avrdude? Danke für den Hinweis Rufus ! Flip könnte ich in der Tat nutzen. Dazu müsste ich jedoch jedesmal unter Win7 dieses etwas sperrige Paket installieren mit JRE. Das mache ich nur ungern. Probieren möchte ich es ggf. schon einmal um zu sehen wie gut das geht. dazu muss ich wissen/nachlesen/erfragen wie die korrekte Kommandozeile heißt die ich im Makefile einbinden kann.
Stefanus F. schrieb: > Welchen Bootloader hast du verwendet, und in welcher Version? Wer Hilfe sucht sollte auf die Rückfragen eingehen.
Arduino Fanboy D. schrieb: > da Arduino mit 32U4 einen anderen > Bootloader nutzen. danke für den Hinweis. > Und ein Makefile gibts da sowieso nicht. bei meinem Test mit dem Atmega2560 und Arduino vor Jahren fand ich in der Arduinoumgebung ein Makefile und darin die nötige Zeile um den 2560 korrekt über USB/seriell mittels AVRDUDE flashen zu können. diese Zeile nutze ich in meinem Makefile nun erfolgreich seit Jahren.
Stefanus F. schrieb: > Die Application Note AVR4023 beschreibt hingegen das Flip DFU Protokoll > v2 http://ww1.microchip.com/downloads/en/AppNotes/doc8457.pdf über USB, > ohne seriellen Port. vielen Dank Stefanus !
Matthias W. schrieb: > Bei meinem Test mit dem Atmega2560 und Arduino vor Jahren fand ich in > der Arduinoumgebung ein Makefile und darin die nötige Zeile um den 2560 > korrekt über USB/seriell mittels AVRDUDE flashen zu können. Das nützt Dir beim ATmega32u2 aber nichts, der funktioniert ja anders.
Stefanus F. schrieb: > Die richtige avrdude Option für den Bootloader in v2 wäre > -c flip2 (ohne Angabe eines COM Port!) vielen Dank Stefanus für den wertvollen Hinweis. mit -cflip1 geht es ! der ATmega32u2 wird erkannt und das Flash gelöscht, programmiert, verifiziert. AVRDUDE meldet danach 4 Zeilen Error: "lfuse" memory not accessible using Flip Error: "lfuse" memory not accessible using Flip Error: "lfuse" memory not accessible using Flip Error: "lfuse" memory not accessible using Flip safemode: sorry, reading back fuses was unreliable. I have given up and exited program mode. dabei steht doch nur Uflash:w:main.hex in der Zeile. Fuses sind da doch keine angegeben.
Stefanus F. schrieb: > Das nützt Dir beim ATmega32u2 aber nichts, der funktioniert ja anders. ja. Auf dem mega2560 board das ja von der Arduino-IDE unterstützt wird ist ein Atmega16u2 als USB-Treiber verbaut. Das Board hat 2 ISP-Schnittstellen und USB. Über "wiring" kann man den 2560 per Make/AVRDUDE programmieren. es wäre denkbar daß die Arduino-Umgebung auch die Programmierung des Atmega16u2 unterstützt. Das habe ich bisher nicht näher angesehen. das Leonardo-Board hat einen ATmega32u4 und wird unterstützt. Den mega32u4 den ich heute bestellt habe müsste ich ggf. mit der Umgebung bearbeiten können und nachschauen können wie das gemacht wird, falls noch ein Makefile verwendet wird.
Stefanus F. schrieb: > Welchen Bootloader hast du verwendet, und in welcher Version? keine Ahnung was für ein Bootloader auf dem Chip installiert ist. Das Chip hatte ich 2011 erworben zusammen mit dem Loader. das Teil meldet sich als "Atmega32U2 DFU" - siehe oben.
Stefanus F. schrieb: > Wer Hilfe sucht sollte auf die Rückfragen eingehen. das mache ich doch. Ein wenig Zeit zum Lesen, Nachdenken, Posten am Sonntag solltest Du mir schon lassen :-)
Stefanus F. schrieb: > Welchen Bootloader hast du verwendet, und in welcher Version? danke für den Hinweis Stefanus ! der Meldung nach klingt es wie DFU von Atmel? wie kann ich die Version ermitteln? welches Tool soll ich dazu nehmen?
Du nutzt den Hardware Bootloader. Deaktivierbar über Fuse und/oder Pin Und Arduino arbeitet wirklich nicht mit Makefiles.... Kannste glauben, oder auch nicht. Wenn da eins bei liegt, dann ist das ein Relikt aus einer anderen Problemstellung und wird nicht von der IDE genutzt. Matthias W. schrieb: > es wäre denkbar daß die Arduino-Umgebung auch die Programmierung des > Atmega16u2 unterstützt. Das habe ich bisher nicht näher angesehen. Nicht in direkter Form. Aber ja, auch das geht, mit der passenden Boarddefinition. Matthias W. schrieb: > Fuses sind da doch keine angegeben. Und der Flip1 kompatible Bootloader kann das trotzdem nicht Was dir dann AVRdude sagt. Fuses wirst du über ISP modifizieren dürfen. So bekommst du dann auch den Arduino/Catarina Bootloader drauf, wenn dir das Herz danach steht.
Matthias W. schrieb: > Ein wenig Zeit zum Lesen, Nachdenken, Posten am > Sonntag solltest Du mir schon lassen :-) Antrag genehmigt :-) > AVRDUDE meldet danach 4 Zeilen > Error: "lfuse" memory not accessible using Flip Deswegen habe ich weiter oben geschrieben, dass du die Hinweise in der Maual Page lesen sollst. Insbesondere diesen: "These bootloaders have no option to access memory areas other than Flash and EEPROM." Will sagen: Avrdude liest normalerweise immer die Fuses aus, um sie anzuzeigen. Der darunter liegende Layer für das Flip Protokoll unterstützt aber keinen Zugriff auf die Fuses. Diese Meldungen musst du als "normal" hinnehmen. > Auf dem mega2560 board das ja von der Arduino-IDE unterstützt > wird ist ein Atmega16u2 als USB-Treiber verbaut Auf diesem Board dient der kleine ATmega mit dem "U" als USB-UART Adapter. Mit der Arduino IDE programmierst du normalerweise nur den ATmgea2560. Es geistert eine Anleitung im Netz, wie man die Firmware des kleinen ATmega erneuern kann. Dabei wird aber dessen ISP Schnittstelle mit einem separaten ISP Programmieradapter benutzt - nicht der Bootloader. > wie kann ich die Version ermitteln? Ich weiß nicht. Ich würde mal versuchen, das Flip Programm von Atmel zu benutzen und schauen, was das alles so anzeigt.
Arduino Fanboy D. schrieb: > Fuses wirst du über ISP modifizieren dürfen. Danke. Ich wollte die Fuses ja gar nicht modifizieren. Daher verstehe ich die Warnung nicht. > So bekommst du dann auch den Arduino/Catarina Bootloader drauf, wenn dir > das Herz danach steht. Danke für den Hinweis. Einen ISP-Programmer (USBasp) habe ich bestellt. Wenn es Sinn macht einen anderen Bootloader zu flashen kann ich es versuchen wenn das Teil da ist.
Stefanus F. schrieb: > dass du die Hinweise in der Maual Page lesen sollst. Insbesondere diesen: > "These bootloaders have no option to access memory areas other than > Flash and EEPROM." Danke. Das hatte ich gelesen. > Will sagen: Avrdude liest normalerweise immer die Fuses aus, um sie > anzuzeigen. Danke. Nun verstehe ich. > Diese Meldungen musst du als "normal" hinnehmen. Ggf. lassen sich die Meldungen wohl unterdrücken? Weglassen von -v ändert nichts.
Stefanus F. schrieb: > das Flip Programm von Atmel nutzen und schauen, was das alles so anzeigt. Danke für den Hinweis !
Stefanus F. schrieb: > Dabei wird aber dessen ISP Schnittstelle mit einem > separaten ISP Programmieradapter benutzt - nicht der Bootloader. ok. Verstanden.
Stefanus F. schrieb: > Bitteschön Vielen Dank Stefanus. Bei mir steht auch Ver. 1.0.0 drin. Wenn es einen Sinn macht einen anderen Lader aufzuspielen kann ich das ja per ISP dann machen. Das kleine Board hat halt keinen ISP-Stecker. Da müsste ich Drähte an die zu kleinen Löcher löten um einen Stecker dranzubekommen.
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.