[AVR] Debugger bleibt bei RCALL 0x0001 hängen

OP #2942610
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.
Gast #2943143
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

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.