Forum: Mikrocontroller und Digitale Elektronik [AVR] Debugger bleibt bei RCALL 0x0001 hängen


von Dirk H. (hedi)


Lesenswert?

Hallo

ich bin ein guter mitleser in diesem Forum und habe auch schon alle 
möglichen Fehler mit euerer Hilfe lösen können, doch aktuell ist mein 
Latein am Ende.

Mein Code erzeugt beim Einsprung in die Funktion den folgenden Code. 
Wenn ich jedoch steppe, stürzt mir der Debugger bei RCALL weg. Ohne zu 
debuggen wird mein Code komplett ausgeführt.
Optimierungseinstellungen haben auch nichts gebracht. Als ich allerdings 
den Teil in einem neuen PRojekt angeleget habe konnte ich auch den Code 
debuggen.
Der Stack sieht auch wunderbar aus, die letzte gesicherte Sprungstelle 
ist vorhanden und die aktuelle wird auch weggeschrieben.

In der Funktion erzeuge ich noch eine Variable
1
function test()
2
{
3
  uint16_t uTest = 0;
4
  function1(&uTest); //pointer zu Funkion
5
  function2(uTest);  //explizite übergabe
6
}
Definiere ich die Variable "static"/Global ist alles IO, aber sonst 
nicht.
1
   112: { //Einsprung in test()
2
000013FA  PUSH R28    Push register on stack 
3
000013FB  PUSH R29    Push register on stack          --> von R29 nach RCALL
4
000013FC  RCALL PC+0x0001    Relative call subroutine --> bleibt der Debugger hängen
5
000013FD  IN R28,0x3D    In from I/O location 
6
000013FE  IN R29,0x3E    In from I/O location 
7
   117:     uint16_t uTest = 0;  
8
00001407  STD Y+2,R1    Store indirect with displacement 
9
00001408  STD Y+1,R1    Store indirect with displacement 
10
   118:    function1(&uBaud);
11
00001409  MOVW R24,R28    Copy register pair 
12
0000140A  ADIW R24,0x01    Add immediate to word 
13
0000140B  CALL 0x00000A72    Call subroutine

Hätte von euch jemand eine Idee wo ich noch suchen kann?

Vielen Dank.

: Verschoben durch Moderator
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Da es sich ja offenbar um ein Problem des Debuggers handelt, solltest
du wohl zumindest mal schreiben, womit du denn eigentlich debuggst.

von Dirk H. (Gast)


Lesenswert?

Danke für den Hinweis.

AVR Studio 6 (AVR Toolchain 3.4.1-1195) JTAGICE3 / (mkII)

Ich könnte auch noch einen mkII bieten, mit dem ich aber ähnliche 
Probleme hatte. Jedoch müsste ich das noch auf diesem kronkreten Problem 
verfizieren.

Viele Grüße
Dirk

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
Noch kein Account? Hier anmelden.