Forum: Compiler & IDEs arm-gcc-embedded USB-Problem


von Matthias S. (jimbo4711)


Lesenswert?

Hallo,

ich arbeite mit der arm-gcc-embedded-Toolchain in Eclipse.

Jetzt ist mir eine merkwürdige Sache aufgefallen: In einem Programm gibt 
es zwei Kommunikationsschnittstellen, USB und USART. Ruft man zunächst 
die Init-Funktion vom USB auf und danch die der USART, funktioniert die 
Kommunikation ohne Probleme. Ruft man allerdings die Init der USART vor 
der der USB auf, meldet Windows, dass das USB-Gerät nicht erkannt wurde.
Lasse ich das Ganze in der Keil-IDE laufen, funktionieren beide 
Varianten...

Das ist jetzt nicht extremst wichtig, würde mich aber schon 
interessieren, warum das so ist. Hat jemand eine Ahnung, woran das 
liegen könnte?

von Kindergärtner (Gast)


Lesenswert?

Ja, das ist ein grundsätliches Problem mit gcc-arm-embedded; da er 
rücktwärts (von hinten) programmiert wurde erwartet er dass UART & USB 
in umgekehrter alphabetischer Reihenfolge (d.h. erst USB, dann UART) 
initialisiert werden. Sonst rächt er sich durch nicht funktionierenden 
Code. Eventuell könnte auch der Fehler aus Zeile 42 dafür verantwortlich 
sein.

von Matthias S. (jimbo4711)


Lesenswert?

OK, danke für den Hinweis!

Aber was ist mit Fehler aus Zeile 42 gemeint???

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das ist komplettes Geblödel.

Ein Troll halt.

von Kindergärtner (Gast)


Lesenswert?

Oder es war ein subtiler raffinierter Hinweis, dass der GCC nichts mit 
USB und UART zu tun hat und das nicht beeinflussen kann, und das Problem 
somit an deinem Quellcode liegt - und du somit mal etwas Quellcode 
nachliefern lassen solltest. Mit den Informationen "UART" + "USB" + 
"GCC" kann niemand etwas anfangen.

von Davis (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:

> Das ist komplettes Geblödel.
>
> Ein Troll halt.

Kindergärtner?  Matthias? Beide?

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.