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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.