Hi, ich versuche mein Projekt per JTAG aus dem AVR-Studio heraus zu debuggen. Leider ist das nahezu unmöglich, da mir das immer in der USB-ISR landet, sprich die Codestellen, durch die ich mich eigentlich debuggen will, bekomme ich praktisch nie zu sehen. Gibt es irgend eine Möglichkeit, dem Studio mitzuteilen, dass es diese Interrupts ignorieren soll und nicht zum Code der ISR zu springen? Elmi
>Gibt es irgend eine Möglichkeit, dem Studio mitzuteilen, dass es diese >Interrupts ignorieren soll und nicht zum Code der ISR zu springen? Den USB Interrupt deaktivieren. Debuggen per JTAG kann schon lästig sein. Deshalb nehm ich entweder eine LED oder den UART;)
Elmi schrieb: > sprich die Codestellen, durch die ich mich eigentlich > debuggen will, bekomme ich praktisch nie zu sehen. Setz nen Breakpoint an die Stelle die du willst. Gruß Oliver
holger schrieb: > Den USB Interrupt deaktivieren. Naja, so lange der Code normal läuft möchte ich die Interrupts schon haben - sonst ist die gesamte Debuggerei sinnlos, weil mein Projekt ohne USB nix brauchbares tut.
Ich kenne das Problem. die Timer laufen scheinbar beim Debuggen auch weiter und lösen Interrupts aus. So ist ein Debuggen nur schwer möglich. Beim Debuggen starte ich mit der normalen Konfiguration (Interrupts aktiv) und einem Breakpoint. Wenn das System dann auf den Breakpoint aufläuft, setze ich den "Global interrupt enable" im "SREG – AVR Status Register" manuell zurück. Dann kannst Du den Code Schritt für Schritt durchgehen. Wenn das Programm weiter laufen soll, dann aktiviere ich "Global interrupt enable" im "SREG – AVR Status Register" wieder. Hoffe geholfen zu haben. Muetze
>Naja, so lange der Code normal läuft möchte ich die Interrupts schon >haben - sonst ist die gesamte Debuggerei sinnlos, weil mein Projekt ohne >USB nix brauchbares tut. Und wenn du an einem Breakpoint die CPU stoppst dann läuft USB nicht mehr und wird am PC abgemeldet. Kannst du also knicken USB und debuggen. Wie bereits gesagt schaff dir andere Debug Möglichkeiten. So wird das nix.
Setze einen Breakpoint und gehe dann nicht Schritt für Schritt, sondern setze den Cursor auf die nächste interessante Zeile und sage "Ausführen bis Cursor"
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.