AtmelStudio 7 - Problem beim Debuggen

Gast #4537989
Hallo,

ich habe eine einfache Assembler-Routine, die ich in meinem main.c 
Aufrufe.
Wenn ich die Assembler-Routine schrittweise mit F10 debugge, dann stoppt 
der Debugger irgendwann und der gelbe Pfeil (wo ich mich im ASM-Code 
gerade befinde) verschwindet.
Dies passiert an unterschiedlichen Stellen im Assembler-Code.

Hier der Code:
1
secondfunc_asm:
2
  LDI    R16, 8                  ; Zähler auf 8 setzen
3
  
4
  LOOP:
5
    SBI   _SFR_IO_ADDR(PORTB), 5 ; Pin auf HIGH
6
    SBRS  R1, 7
7
    NOP
8
    CBI   _SFR_IO_ADDR(PORTB), 5 ; Pin auf LOW      
9
    LSL    R1 
10

11
    DEC    R16
12
    CPI    R16, 0  
13
    BRNE  LOOP
14
RET

Habe den Code hier auf wenige Zeilen reduziert, um das Wesentliche zu 
zeigen. So wie der Code hier gezeigt ist, macht er kaum Sinn, aber das 
Problem tritt hier auf.

Woran kann das liegen, dass der Debugger an unterschiedlichen Stellen 
einfach stoppt und ich nicht weiter debuggen kann?

Danke...
Gast
Hallo Oh doch,

habe es auch mit folgendem Code probiert, löst aber das Problem nicht:
1
secondfunc_asm:
2

3
  ; Stack initialisieren
4
  ldi r16, lo8(RAMEND)
5
  out _SFR_IO_ADDR(SPL), r16
6
  ldi R16, hi8(RAMEND)
7
  out _SFR_IO_ADDR(SPH), r16
8
  
9
  LDI    R17, 8                  ; Zähler auf 8 setzen
10
  
11
  LOOP:
12
    SBI   _SFR_IO_ADDR(PORTB), 5 ; Pin auf HIGH
13
    SBRS  R1, 7
14
    NOP
15
    CBI   _SFR_IO_ADDR(PORTB), 5 ; Pin auf LOW      
16
    LSL    R1 
17

18
    DEC    R17
19
    CPI    R17, 0  
20
    BRNE  LOOP
21
RET
Ich hab das mal mit deinem ASM Code probiert und bei mir ist es so das 
Atmel Studio 7 willkürlich statt Stepover in den Running mode geht. Wenn 
ich dann aber auf Pause klicke ist es nur einen Schritt weiter geangen. 
Auch der Cycle Counter ist nur um eines erhöht, egal wie lange ich 
warte.

Gruß JackFrost
Gast
Hallo Bastian,

danke für Deine Hilfe.
Was bedeutet das nun? Kann man mit AtmelStudio 7 keinen ASM-Code 
debuggen?
Ich hab mal irgendwo gelesen, dass Andere Probleme mit Sprungbefehlen in 
ASM hatten und dann die Compiler-Optimierungen abgeschaltet haben.
Habe das auch mal probiert (-O0) aber das bringt nichts.
Müssen da evtl. noch andere Einstellungen aktiviert / deaktiviert 
werden?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.