Hallo,
habe ein Board (Eigenentwicklung) mit STM32G484 und würde gerne den virtuellen Comport über USB verwenden. Habe dazu den Code von Stefan Frings Webseite (https://stefanfrings.de/stm32/stm32g4.html#vcpnohal) verwendet: https://stefanfrings.de/stm32/STM32G431CB_usb_test.zip
Im ersten Schritt habe ich das Projekt "so wie es aus dem Zip-Archiv kommt" kompiliert (Die Optimierung war dabei auf -O1 eingestellt) und auf den Mikrocontroller geflasht. Es hat alles direkt funktioniert, ohne Anpassungen. Das Gerät wird damit bei jedem Anstecken sauber erkannt und sendet auch den String, welchen ich mit einem Terminal-Programm am PC empfangen kann.
Dann habe ich die Optimierung auf -O2 (und später auch auf -O3) gestellt. Damit Enumeriert das Device nicht mehr, bzw. nur noch in sehr seltenen Fällen (gefühlt 1 von 100 Ansteckversuchen klappt).
Woran kann das liegen? Ist da irgendwo ein Bug im Code?
dmesg unter Ubuntu liefert:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
Habe leider keine Ahnung, wie ich das weiter debuggen kann. Habt ihr da Tipps für mich?
Vielen Dank und viele Grüße, Georg