debuggen mit AVR-Studio6

Gast #3271724
Lesenswert?

Hallo


Ich versuche gerade einen einfachen Code mit Avr-Studio 6 zu debuggen,
aber ich vermisse diesen "gelben Pfeil" wie in AVR-Studio 4.
Kann mir einer sagen wie ich das einstellen muss damit ich den Pfeil 
habe?

hier ist auch der simple code falls ihn jmd sehen will:


#include <avr/io.h>
#include <util/delay.h>


int main(void)
{
  #include <avr/io.h>

  int main(void)
  {
    while(1)
    {
        DDRD = 0xFF;
        PORTD = 0x0F;

    }
  }



}
#3272173
Lesenswert?

Du meinst den hier (siehe Bild) (:

Ich glaube du hast die Build-Konfiguration auf "Release" gestellt, dann 
hast du den "gelben Pfeil" im C-Code nur sporadisch (oder auch gar 
nicht?), weil die Compiler-Optimierungen auf "Optimize for size" gesetzt 
sind.

Gehe zu "Build" / "Configuration Manager ..." und wähl bei
"Active solution configuration", "Debug" aus.

Jetzt müsste beim Debuggen schonmal der Pfeil da sein.

Die Compiler-Optimierungen (Standardeinstellung ist "Optimize (-O1)" bei 
Debug), würde ich außerdem beim Debuggen auch komplett Deaktivieren:

Gehe zu "Build" / "Configuration Manager ..." und wähl bei
"Active solution configuration", "Debug" aus (falls nicht schon vorher 
gemacht).

Dann ge zu "Project" / "Properties" / links "Toolchain" / "Optimization" 
/"Optimization Level", "None (-O0)" aus.

Dann mal alles Speichern und neu compilieren.


Wenn der Code noch vom Timing her richtig sein soll, musst duch auch 
noch ein F_CPU im Hz definieren (bevor du delay.h inkludierst), 
ansonsten wird standardmäßig 1Mhz genommen.
Auszug von delay.h:
1
#ifndef F_CPU
2
/* prevent compiler error by supplying a default */
3
# warning "F_CPU not defined for <util/delay.h>"
4
# define F_CPU 1000000UL
5
#endif
Angehängte Dateien:
Moderator Persönliche Seite #3272511
Lesenswert?

Fabian K. schrieb:
> Die Compiler-Optimierungen (Standardeinstellung ist "Optimize (-O1)" bei
> Debug), würde ich außerdem beim Debuggen auch komplett Deaktivieren

Ich nicht.  Du debuggst dann einen völlig anderen Code als den, den
du später benutzen willst, und bestimmte Bugs (bspw. ein vergessenes
“volatile”) tauchen dann einfach nicht auf.

Es ist meiner Erfahrung nach sinnvoller, sich an das Debuggen von
optimiertem Code zu gewöhnen, auch wenn es scheinbar willkürlich und
wild hin und her springt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren