MEGA32u4-AU lässt sich nicht über USB-C programmieren

OP #7545625
Lesenswert?

Guten Tag, ich möchte gerne meine Platine mit dem MEGA32u4-AU mit einem Programm bespielen, welches ich bereits auf einem Arduino Micro ausgetestet habe.

Nun habe ich jedoch das Problem, das die Arduino IDE den Controller nicht findet. Der Port wird ausgegraut. Meine Platine wird im Windows Gerätemanager erkannt als "ATm32U4DFU" bezeichnet. Wenn ich versuche das Programm in VS-Code mit Platform IO hochzuladen (dort kann ich den Port selbst in eine Konfigurationsdatei schreiben), dann sagt mir mir das Programm, dass der Port nicht gefunden werden konnte.

Kann mir jemand sagen wie ich das Problem lösen kann?

Ich weiß durch meine vorgegangene Recherche, dass man auf Arduino gerne herabblickt, aber ich würde mich freuen, wenn wir das erstmal ausblenden können. Michrochip Studio und AVRdude habe ich mir noch nicht genauer angeschaut.

Im Anhang ist mein Stromlaufplan, falls ich dort einen Fehler habe.

Angehängte Dateien:
#7545652
Lesenswert?

Walter T. schrieb:

Hat Dein MegaA32u4 schon den Arduino-Bootloader erhalten?

Anscheinend nicht. Zumindest meldet sich das Device ja scheinbar als ATm32U4DFU. Das wäre vermutlich das offensichtliche Problem, dass der Arduino Bootloader evtl nicht drin ist.

Sebastian K. schrieb:

Im Anhang ist mein Stromlaufplan

Ist es richtig dass der PE2 (!HWB / Hardware Bootloader activation) dauerhaft auf Low ist? Der springt doch dann immer nur in den DFU Mode. Man kann das dann zwar scheinbar über ne Fuse deaktivieren, mir scheint das aber etwas am Ziel vorbei. EDIT: Wobei ich gerade sehe dass das beim Micro auch so ist.

Allgemein finde ich ein paar Dinge nicht optimal: Keine 100nF am uC? Reset-Schaltung sieht beim Micro anders aus? Kein Kondensator für den Impuls beim einschalten? Sicher dass das so mit der SFH203 Funktioniert? Dunkelstrom?

#7545971
Lesenswert?

Sebastian K. schrieb:

Im Anhang ist mein Stromlaufplan, falls ich dort einen Fehler habe.

Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut, nachmacht oder verfälscht, insbesondere bei existierenden Schaltungen die Abblock-Kondensatoren weglässt oder falsch verschaltet oder selbst solche Schaltungen entwirft, in Verkehr bringt und/oder aufbaut ohne Abblock-Kondensatoren nach Hersteller- Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom Mikrokontroller-Forum nicht unter zwei Jahren bestraft.

OP #7547032
Lesenswert?

Walter T. schrieb:

Hat Dein MegaA32u4 schon den Arduino-Bootloader erhalten?

Der Chip ist in der -AU Version ausgeliefert und sollte bereits einen Bootloader installiert haben. Gibt es einen speziellen Bootloader der nur mit der Arduino IDE funktioniert? Kann ich unter Umständen mit einem anderen Program den Upload über den eventuell schon installierten Bootloader machen?

#7547056
Lesenswert?

Sebastian K. schrieb:

Der Chip ist in der -AU Version ausgeliefert

-AU bedeutet nur, dass dein IC Beinchen hat (TQFP) und nicht nur Lötflächen an der Unterseite (QFN). Siehe Datenblatt!

Sebastian K. schrieb:

sollte bereits einen Bootloader installiert haben

Sollte? Welche Version welches Bootloaders denn? Fabrikneu hat der Atmega32u4 KEINEN Arduino-Bootloader vorprogrammiert.

Oft werden daher auf solchen Platinen die ISP-Programmierpins auf einen 2x3-Stecker geführt, an den man einen ISP-Programmer anschließen kann. Ein anderer Arduino kann ebenfalls als ISP-Programmer dienen, wie oben schon erwähnt wurde. Damit kann man dann z.B. einen Bootloader erstmals aufspielen.

LG, Sebastian

#7547072
Lesenswert?

Sebastian W. schrieb:

Sollte? Welche Version welches Bootloaders denn?

Vermutlich meint er den ROM DFU Bootloader. Der scheint sich oben ja auch zu melden.

Sebastian W. schrieb:

Oft werden daher auf solchen Platinen die ISP-Programmierpins auf einen 2x3-Stecker geführt, an den man einen ISP-Programmer anschließen kann. Ein anderer Arduino kann ebenfalls als ISP-Programmer dienen, wie oben schon erwähnt wurde. Damit kann man dann z.B. einen Bootloader erstmals aufspielen.

Ohne es selbst gemacht zu haben: er kann ja auch wie oben schon angedeutet einfach Mal versuchen einmalig über den DFU Bootloader den Arduino Bootloader einzuspielen. Danach sollte es mit der Arduino IDE funktionieren.

(Firma: Gast) #7547252
Lesenswert?

Sebastian K. schrieb:

Walter T. schrieb:

Hat Dein MegaA32u4 schon den Arduino-Bootloader erhalten?

Der Chip ist in der -AU Version ausgeliefert und sollte bereits einen Bootloader installiert haben. Gibt es einen speziellen Bootloader der nur mit der Arduino IDE funktioniert? Kann ich unter Umständen mit einem anderen Program den Upload über den eventuell schon installierten Bootloader machen?

Grrr ....

2 Postings drüber habe ich dir gesagt was du zu tun hast um den ATMega32U4 Zum Arduino Leonardo kompatibel zu machen. Und sogar den richtigen Bootloader genannt, obwohl du das nicht wissen musst weil die Arduino IDE das sowieso weis und richtig macht.

#7547253
Lesenswert?

Sebastian K. schrieb:

Walter T. schrieb:

Hat Dein MegaA32u4 schon den Arduino-Bootloader erhalten?

Der Chip ist in der -AU Version ausgeliefert und sollte bereits einen Bootloader installiert haben. Gibt es einen speziellen Bootloader der nur mit der Arduino IDE funktioniert?

Umgekehrt: Das Arduino-System hat einen speziellen Bootloader, den Du verwenden musst, wenn Du das Arduino-System verwenden willst. Dieser Bootloader muss per Programmer vorher aufgespielt werden. Ohne Programmer hast Du ein Problem.

Kann ich unter Umständen mit einem anderen Program den Upload über den eventuell schon installierten Bootloader machen?

Dazu müsste sich der Bootloader selber überschreiben, und das kann er nicht. Theoretisch möglich, praktisch Unsinn. Hol Dir ein MPLAB SNAP, der ist nicht teuer und kann so ziemlich alles Programmieren, was von Microchip ist.

fchk

(Firma: Gast) #7547254
Lesenswert?

Frank K. schrieb:

Ohne Programmer hast Du ein Problem.

Ihm sagte, dass er einen hat.....

Frank K. schrieb:

Kann ich unter Umständen mit einem anderen Program den Upload über den eventuell schon installierten Bootloader machen?

Dazu müsste sich der Bootloader selber überschreiben, und das kann er nicht. Theoretisch möglich, praktisch Unsinn. Hol Dir ein MPLAB SNAP, der ist nicht teuer und kann so ziemlich alles Programmieren, was von Microchip ist.

Ihm hat einen Micro, welcher einem Leonardo entspricht, bis auf die Bauform. Den kann man zum ISP Adapter machen und mit der Arduino IDE den Bootloader brennen und gleichzeitig damit die Fuses setzen.

Ist also alles da, muss man nur machen.

#7547276
Lesenswert?

Arduino F. schrieb:

Ihm hat einen Micro, welcher einem Leonardo entspricht, bis auf die Bauform.

Nö, nicht nur "bis auf die Bauform", sondern vor allem ist der Bootloader ein Unterschied. Im "Leonardo" ist eine Arduino-Bootloader drin, solange aber in den nackten Chip kein anderer Bootloader als der Werks-Bootloader programmiert wird, verhält sich der nackte Chip grundlegend anders.

"Ihm hat einen Micro"? Aua.

(Firma: Gast) #7547312
Lesenswert?

Harald K. schrieb:

Arduino F. schrieb:

Ihm hat einen Micro, welcher einem Leonardo entspricht, bis auf die Bauform.

Nö, nicht nur "bis auf die Bauform", sondern vor allem ist der Bootloader ein Unterschied.

Nein! Die Bootloader sind gleich.

Vergleiche: https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt#L416 https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt#L519

Beides die gleichen Catarina Bootloader, mit dem einzigen Unterschied, andere PID/VID Was aber hier völlig egal ist, da sein Zielsystem sowieso weder Leonardo noch Micro ist.

Harald K. schrieb:

"Ihm hat einen Micro"? Aua.

Das hat ihm im Eingangsposting gesagt, und bisher nicht zurückgenommen. Also nehme ich an, dass das der Wahrheit entspricht.

OP #7547365
Lesenswert?

N. M. schrieb:

Allgemein finde ich ein paar Dinge nicht optimal: Keine 100nF am uC? Reset-Schaltung sieht beim Micro anders aus? Kein Kondensator für den Impuls beim einschalten? Sicher dass das so mit der SFH203 Funktioniert? Dunkelstrom?

Die Kapazität am uC habe ich nach der Design-Richtlinie im Datenblatt gebaut. Die Sache mit dem Reset muss ich mir einmal genauer anschauen, da habe ich mir garkeine Gedanken darum gemacht.

Mit der SFH203 dachte ich das würde klappen, wenn der Pin auf PullDown gestellt wird. Ich habe deinen Post einmal zum Anlass genommen genauer nachzuschauen wie sich das mit den 2-Pin und 3-Pin IR-receivern verhält und da denke ich dass ich auf einen 3-Pin umbauen muss damit die Signalqualität besser ist.

Vielen Dank für deine wertvollen Hinweise.

(Firma: Gast) #7547375
Lesenswert?

Sebastian K. schrieb:

Ich bin dabei die Platine umzugestalten, da ein ISP-Header leider nicht vorgesehen war.

Du könntest auch den originalen (Atmel?) Bootloader beibehalten. Und den ATMega per Flip beschreiben. Die von der IDE erzeugte *.hex Datei, sollte verwendbar sein.

Ob das dann direkt aus der Arduino IDE heraus möglich ist, kann ich dir nicht sagen. Nie probiert. Aber die Boarddefinition ist anpassbar und AVRdude kann das Flip Protokoll. Also: Vermutlich ist es möglich zu machen.

#7547451
Lesenswert?

Arduino F. schrieb:

Du könntest auch den originalen (Atmel?) Bootloader beibehalten. Und den ATMega per Flip beschreiben. Die von der IDE erzeugte *.hex Datei, sollte verwendbar sein.

Ich würde dem TO auch raten, die jetzige Platine zunächst so wie von dir vorgeschlagen in Betrieb zu nehmen. Etwaiige weitere Schwächen in Design und Layout können so gefunden und auf einer Folgeversion zusammen mit einem ISP-Header verbessert werden.

TO, du könntest aber auch Drähte an die ISP-Pins löten, und darüber den Arduino-Bootloader aufprogrammieren. Solche Frickelei ist halt manchmal temporär nötig, siehe Bild ...

LG, Sebastian

Angehängte Dateien:
#7547559
Lesenswert?

Sebastian K. schrieb:

Danke für die Antwort. Ich bin dabei die Platine umzugestalten, da ein ISP-Header leider nicht vorgesehen war.

Platz ist in der kleinsten Hütte bzw. auf dem kleinsten Board. Mach ein paar Löcher mit Raster 1,27 mm in die Platine und führe die Leiterbahnen zum µC, programmiert wird dann mit einer Stiftleiste, die schräg festgehalten wird, siehe Phot (hier 5-polig für PICs).

Angehängte Dateien:
(Firma: Gast) #7547560
Lesenswert?

Harald K. schrieb:

Sind sie eben nicht.

Vielleicht hast du es zufällig übersehen, aber ich spreche von dem Arduino Micro und Arduino Leonardo. Die haben bis auf VID und PID identische Bootloader.

Dass ein neuer Chip entweder keinen oder den Atmel/Microchip Bootloader hat, ist doch schon seit den ersten Postings klar.

Zur Erinnerung: Harald K. schrieb im Beitrag #7547276:

Arduino F. schrieb:

Ihm hat einen Micro, welcher einem Leonardo entspricht, bis auf die Bauform.

Nö, nicht nur "bis auf die Bauform", sondern vor allem ist der Bootloader ein Unterschied.

Das "Nö" an der Stelle ist schlicht falsch!

Und nochmal: Dort gibt es keinen Unterschied, welcher für den TO von Belang wäre!

Harald K. schrieb:

Sind sie eben nicht.

Sind sie eben doch! Nur du hast nicht zugehört(oder sagt man zugelesen?)!

Harald K. schrieb:

Der von Atmel/Microchip verkaufte Baustein enthält einen DFU-Bootloader, nicht irgendeinen Arduino-Bootloader.

Da hast du wahr. Hat aber nichts mit dem zu tun, was du an meinem Text kritisiert hast. Falsche Baustelle.

Übrigens, hier sagt ihm, dass er einen Micro besitzt: Sebastian K. schrieb im Beitrag #7545625:

welches ich bereits auf einem Arduino Micro ausgetestet habe.

Und später erwähne ich, dass man den zum "Arduino as ISP" machen kann. Natürlich hat der Micro NICHT den Atmel Bootloader drauf, sondern Catarina

Da kann du so oft "Nö" sagen wie du willst, das wird nicht wahr.

#7547767
Lesenswert?

Stephan S. schrieb:

Sebastian K. schrieb:

Danke für die Antwort. Ich bin dabei die Platine umzugestalten, da ein ISP-Header leider nicht vorgesehen war.

Platz ist in der kleinsten Hütte bzw. auf dem kleinsten Board. Mach ein paar Löcher mit Raster 1,27 mm in die Platine und führe die Leiterbahnen zum µC, programmiert wird dann mit einer Stiftleiste, die schräg festgehalten wird, siehe Phot (hier 5-polig für PICs).

Super Tipp, danke.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren