Beim Debuggen mit dem j-Link EDU mit Eclipse, Segger GDB-Server und GNU-Toolchain wird die TIM1-ISR auf einem STM32F401 nicht mehr ausgeführt. Nicht nur werden Breakpoints darin nicht angesprungen sondern der ganze Code in ihr wird nicht ausgeführt - der Programmverlauf verändert sich signifikant. Ist das vielleicht irgendeine Einstellung die ich übersehen habe, die zum Debuggen von Powerschaltungen, die ja meißt auf dem TIM1 laufen, wichtig ist?
Verrate doch bitte mal deine J-Link Software Version und poste ein minimales Projekt welches das Problem zeigt. Dann hat auch jemand (z.B. von Segger) die Chance das nachzuvollziehen. Eine Einstellung in der Art ist mir nicht bekannt.
Wurde die Codeoptimierung abgeschaltet?
Software ist die aktuellste, FW wurde auch geupdatet. Ich habe eine komplett neue Toolchain eingerichtet (das ging mit den ganzen Paketen, die es mittlerweile gibt echt schnell und komfortabel über die Bühne) und das Problem scheint nicht mehr in der Form aufzutreten; Lediglich ein extra Reset ist nötig, damit ISRs funktionieren. Meine Hypothese ist, dass in einem der ständigen Kommunikationsprobleme ein Breakpoint getroffen wurde, das aber nicht zu Eclipse durchgedrungen ist - genau das Verhalten kann ich erzeugen, indem ich irgendwo einen Breakpoint setze und er dort stehen bleibt: Der Timer läuft weiter, ohne aber in die ISR springen zu können. Der Bug liegt vermutlich in der Kommunikation zwischen Eclipse und GDB-Client oder GDB-Client und GDB-Server. Es gab zuweilen jede Menge Fehlermeldungen im GDB-Server-Log (von wegen Target running, can't read a.Ä.), die gibt es jetzt nur noch nach dem cont nach dem ersten Breakpoint vor dem zweiten, manuellen Reset. Mit den neuen Versionen gibt es deutlich weniger Probleme; wenn ich den extra manuellen Reset noch weg bekommen würde wäre das ein rießiger Fortschritt von meinem bisherigen ST-Link/V2.
Selbstverständlich ohne Optimierung, sobald der Debugger abgesteckt wurde funktioniert alles wie es sollte, ebenso mit dem ST-Link/V2.
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.