Wunderschönen guten Abend, ich versuche nun schon seit zwei Tagen mein Eclipse einzurichten aber habe nach wie massive Probleme beim Flashen und Debuggen. Meine Umgebung besteht aus einem frischen Eclipse Mars, GNU ARM Eclipse Build Tools 2.4-201503242026, GNU Tools ARM Embedded 4.9 2015q2, Segger J-Link V5.00i. Die benötigten Eclipse-Plug-Ins sind natürlich auch installiert, Betriebssystem ist Windows 7 64-Bit. Zum testen habe ich mir ein einfaches Programm geschrieben in welchem ein Pin mit angeschlossener LED als Ausgang konfiguriert wird und im Sekundentakt mit Delay()-Funktionen blinkt. Das kompilieren funktioniert auch ohne Fehler oder Warnungen, soweit so bekannt. Wenn ich das Programm nun aber auf meinen STM32F103 schreiben lassen und debuggen möchte wechselt die Ansicht in den Debug-Modus und die GDB-Server UI von Segger öffnet sich, es verbindet sich jedoch kein Client damit. Daher wird auch keine Software aufgespielt und das Debugging funktioniert natürlich auch nicht. Wenn ich den GDB-Client arm-none-eabi-gdb.exe manuell mit dem Segger J-Link GBD-Server localhost:2331 verbinde wird dies dort korrekt angezeigt. Dieser Vorgang scheint aber aus Eclipse heraus nicht zu funktionieren, auch mit einem gdbinit-Script konnte ich nichts daran ändern. Ist jemanden ein derartiger Fehler bereits untergekommen und weiß sogar wie man ihn behebt? Habe schon zwei Bekannte gefragt die sich leider keinen Reim darauf machen können, insbesondere da die Einstellungen korrekt aussehen.
Hallo, hast du schon mal das Programm direkt per J-Link-Commander rüber geladen und läuft das? Passt das Linker-Skript? Schau dir das Binär-Image an, ob die InterruptVektorTabelle passt. Und v.a. ob der Clock-Tree passt. Nicht dass es direkt abstürzt. Gruß Simon
Konnte das Problem mitlerweile etwas besser eingrenzen. Wenn ich ein Projekt mit den Beispieldaten (z.B. zum Blinken der LEDs) erstellen lasse geschieht dies mit der "alten" HAL. So kann ich das Programm auf den STM32 laden und ganz normal debuggen. Bau ich jedoch das Programm um auf die neue HAL funktioniert das aufspielen und debuggen nicht mehr. Der Fehler bzw. die Warnung der dafür verantwortlich ist, ist diese hier: cannot find entry symbol _start; defaulting to 08000000 Und tatsächlich gibt es _start in der neuen HAL nicht mehr. In der alten ist dieses symbol in der exception_handlers.c zu finden. Jetzt muss ich nur noch eine Möglichkeit finden die vernünftig in mein Programm zu bauen, dann sollte es hoffentlich funktionieren...
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.