Hallo, ich versuche gerade Codeblocks einzurichten, um damit das STM32F4Discovery Board einzurichten. Ich nutze ein makefile zum bauen. Als Remote-Debug wollte ich OpenOCD einsetzen, weil ichs mit dem ST-Link von texane schon aufgegeben hatte. Ich kann den Debugger starten, er verbindet sich auch mit dem Board. Soweit so gut. Ich kann den Debugvorgang auch starten (roter Pfeil), das Programm startet auch. Ich das Programm mit Pause auch pausieren. Auch die Register kann ich auslesen. 2 Dinge funktionieren allerdings nicht, und ich kann mir nicht erklären, woran das liegt. 1) Ich kann zwar Breakpoints innerhalb von IDE setzen, aber das Programm pausiert nicht und springt auch nicht zum Breakpoint 2) Wenn ich Pause drücke, dann pausiert das Programm zwar, aber auch hier sehe ich nicht, an welcher Stelle das Programm steht. Muss ich noch irgendein file im Projekt einbinden, damit Codeblocks die Verbindung zwischen Addresse/Breakpoint und Quelltext hinbekommt? Was mach ich falsch?
Ich habs selber hingekriegt, die Frage war ja auch überflüssig... Durch zusätzliche Argumente unter Project-settings->Debugger-After connection
1 | monitor reset init |
2 | monitor halt |
3 | load ./Debug/c_mX.elf |
4 | symbol-file ./Debug/c_mX.elf |
5 | tbreak main |
6 | monitor sleep 100 |
7 | monitor reset halt |
8 | monitor halt |
9 | continue |
hats funktioniert
Ich hatte letztens das Problem, dass es ohne dem Main breakpoint nicht funktionierrn wollte... Wie sieht das bei dir aus? Außerdem wäre die stdin/out Forwarding funktion eine super Sache, da der GDB den OCD selber starten kann... Funktionierte super unter Linux. In Windows habe ich es nicht geschaft. Denn dann kann mein einfach auf rotem Debug Pfeil drücken und alley tut von selbst. Keinen GDB Server starten oder Firewall meldungen wegdrücken... Etwas Offtopic.
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.