Debugging mit j-Link verändert Programmverlauf (ISRs werden ignoriert)

Gast #4123338
Lesenswert?

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?
Gast #4124710
Lesenswert?

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.
Gast #4124736
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren