Hallo zusammen, ich versuche derzeit eine Entwicklungsumgebung für die STM32F4xx-Reihe zum Laufen zu bekommen. Dazu kurz die Eckdaten: * Eclipse CDT als IDE * GNU Tools for ARM Embedded Processors * CoreUtils for Windows / MinGW * OpenOCD als GDB Server Das Kompilieren in Eclipse funktioniert bereits. Mein Problem ist nun das Debugging; ich habe eine Debug-Konfiguration erstellt: * GDB Hardware Debugging * arm-none-eabi-gdb * TCP/IP Verbindung zum OpenOCD GDB Server * Initialization commands: monitor reset halt * Als Source ist der Standard ausgewählt: Projektverzeichnis (hier habe ich jedoch bereits experimentiert) Das funktioniert auch soweit. Das Problem ist lediglich, dass ich nicht in alle Quelldateien Breakpoints setzen kann. Kurz zur Erklärung: In meinem Eclipse-Projekt habe ich ein paar virtuelle Ordner, die dann Quelldateien aus dem Dateisystem verlinken (die Dateien liegen also nicht im Projektordner). Daneben habe ich natürlich auch Quelldateien, die im Projektordner liegen. Das Setzen von Breakpoints in verlinkte Dateien funktioniert, in lokalen Quelldateien funktioniert das jedoch nicht. Ich erhalte z.B. folgende Fehlermeldung: No source file named C:\Users\sven\workspace\LIS302DL\main.c. Die Quelldatei liegt jedoch unter dem angegebenen Pfad. Mir ist bewusst, dass dies wohl ein relativ spezieller Fehler ist, aber vielleicht hat ja dennoch jemand eine Idee, woran das liegen könnte. Gruß Sven
Ich habe das Problem jetzt lösen können; es lag an zweierlei Dingen: * Der Debugger kommt scheinbar nicht mit virtuellen Ordnern klar, diese habe ich durch "echte" Ordner ersetzt und die Quelldateien nicht mehr nur verlinkt. * Den Launcher habe ich auf "Standard GDB Hardware Debugging" geändert. Dies ging mit virtuellen Ordnern im Projekt nicht, es kam stets zu einer NullPointerException in Eclipse. Alternativ zum GDB Hardware Debugging kann auch Zylin embedded debug verwendet werden, wie hier beschrieben: http://vedder.se/2012/12/debugging-the-stm32f4-using-openocd-gdb-and-eclipse Auch hier dürfen jedoch keine virtuellen Ordner verwendet werden. Gruß Sven
Hallo Sven, deine Erklärung mit der Unverträglichkeit der virtuellen Ordner hat mir sehr geholfen. Ich war seit Stunden auf der Suche nach dem Grund für die Eclipse NullPointerException. Mit "echten" Ordnern Funktioniert GDB. Das ist für mich aber auch keine schöne Lösung. In der Eclipse Version "Kepler" kann man auch noch "Linked" Ordner anlegen. Mit der Default Einstellung bei "Choose file system:" funktioniert GDB nicht. Erst mit der Einstellung "RSE" geht GDB wieder. Siehe Screenshot. Gruß Dirk
:
Bearbeitet durch User
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.