Hallo, ich bin gerade dabei das freie RTOS ecos auf ein FM3-Evalboard zu portieren und dazu habe ich mir als IDE Eclipse-CDT eingerichtet. Nun bin ich soweit, dass ich zum Debuggen übergehen kann. Dazu habe ich mir ein Makefile-Projekt in Eclipse erstellt, in dem sich meine erstellte ecos-Library befindet sowie eine kleine HelloWorld-Anwendung, die ein LED leuchten lassen soll. Die Konfiguration des Projekts sollte passen - das Makefile macht was es soll: es kompiliert mein HelloWorld und linkt es anschließend mit der ecos-Library, sodass zu guter Letzt ein elf-File entsteht. Nun will ich die ganze Sache debuggen. Dazu habe ich ein Onboard-JLink, GDB von der Yagarto-Toolchain sowie den GDB-Server von Segger. Ich habe einige Monate zuvor ein Beispiel von der Yagarto-Website nachgebastelt und konnte mit den gleichen Werkzeugen und dem gleichen Target erfolgreich debuggen. Nun habe ich mir gedacht, dass die ganze Sache für mein ecos-Projekt eigtl. auch funktionieren sollte. Nur scheitert es bei mir wohl bei den Debug-Konfigurationen - u.a. den StartUp-Einstellungen. Leider habe ich darin bis dato so gut wie keine Erfahrung - deswegen meine Frage an euch: Weiß jemand auf was ich bei den Commands für den GDB achten muss? Im Yagarto-Beispiel wurde Dinge gemacht wie: target remote localhost:2331 monitor endian little ... monitor reg r13 = (0x20000000) monitor reg pc = (0x20000004) Ich weiß bspw., dass 0x20000000 die Startadresse vom RAM meines Boards ist. Aber kann jemand evtl. erläutern, was man beachten muss? Viele Grüße, Lukas
Bin jetzt ein Stückchen schlauer und ein bisschen weiter. Ich glaube, mein Problem hat sich gelöst. Punkt 3.4 im folgenden PDF hat mir weiter geholfen :) http://www.segger.com/admin/uploads/productDocs/UM08005_JLinkGDBServer.pdf Falls trotzdem noch jemand Anmerkungen hat, die mir helfen könnten --> nur zu, ich bin dankbar für alle Tipps :-)
Die ganzen "monitor"-Kommandos leiten den Rest des Kommandos 1:1 an den GDB-Server weiter, d. h. deren Erklärung musst du in der Doku des Segger-Servers nachschlagen. Ich benutze immer OpenOCD, mit dem Segger-Server steh' ich auf Kriegsfuß.
Jörg Wunsch schrieb: > Ich benutze immer OpenOCD, mit dem Segger-Server steh' ich auf > Kriegsfuß. Echt? Ich fand das bis jetzt mit den J-Link GDB Server immer recht simpel. Das einzige worauf man achten muss, wenn man im Flash debuggen will, ist das man dem J-Link bekannt man welches Device denn dran hängt, damit der richtige Flash Algorithmus benutzt werden kann (wie soll es auch sonst anders funktionieren). Etwa in der Art wie: monitor flash device = AT91SAM7A3 Das einfachste ist, sich eine entsprechende embOS Trial Version zu laden und die GDB Kommandos dort abzuschauen.
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.