- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 8 von 8

Thema: Verstänisfrage AVR Studio

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5

    Verstänisfrage AVR Studio

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo !

    Als neueinstiger und "C" habe ich ein kleines Problem .
    Ich verwende AVR-Studio 5 und habe mal testweise eine Schleife programmiert.
    Wenn ich nun die Schleife Debugge ist es mir nicht möglich diese zu verifizieren !

    Mein Proble ist das die Variablen nicht angezeigt werden bzw. eine Meldung da steht die ich nicht verstehe

    Klicke auf die Grafik für eine größere Ansicht

Name:	avr_st.JPG
Hits:	30
Größe:	54,3 KB
ID:	22230

    Was ich nicht verstehe ist " a Failed getting location list for symbol die# 0x76 Error"
    und " b Optimized away Error"

    Warum wird die Zeile " b = b + a;" nicht abgearbeitet ?
    Er sprint zwischen der Zeile wo der Pfeil ist und der Schleife hin und her .. mehr nicht ...

    Danke

    Rudolf

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    39
    Beiträge
    389
    Dir fehlt die while(1) d.h. nach dem a>100 läuft dein Controller Amok
    "a" legt er auf ein Arbeitsregister da hat der Debugger Probleme mit, hab auch noch keine Lösung dafür gefunden.
    "b" und "c" werden von dir nicht mehr verwendet und der Compiler optimiert sie weg.

    Lies dir am besten mal ein AVR GCC Tutorial durch und arbeite das mal ab, da stehen viele wichtige Tips drinnen.


    Gruß Matthias

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Hi !
    Danke das Tut hab ich schon studiert , es geht jetzt nicht um das Programm sondern und den Debugger

    Noch ein Beispiel :

    Klicke auf die Grafik für eine größere Ansicht

Name:	avr_st1.JPG
Hits:	15
Größe:	58,1 KB
ID:	22233

    Die Frage ist, warum wird die Variabel "a" im Watch1 nicht angezeigt ??

    ein verwirrter
    Rudolf


    > "a" legt er auf ein Arbeitsregister da hat der Debugger Probleme mit, hab auch noch keine Lösung dafür gefunden.
    > hab ich Überlesen

    Danke !

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Hi !

    So habs rausgefunden warum er die Variablen nicht anzeigt !

    Man muss bei "AVR/GNU Compiler" unter "Optiization" auf none (-O0) einstellen !

    dann lüppt es

    Klicke auf die Grafik für eine größere Ansicht

Name:	avr_st2.JPG
Hits:	15
Größe:	49,1 KB
ID:	22234

    Rudolf

    PS: Comment bei DDRA ist falsch, ignorieren !

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    39
    Beiträge
    389
    Ja, mit der Optimierung gehts, aber das ganze Projekt unoptimiert zu haben nur um die Variable zu sehen ist auch nicht das wahre .
    Die einfachere Lösung das die Variable angezeigt wird ist die Variable "volatil" zu deklarieren dann legt er sie auf den S-Ram und der Debugger kann sie anzeigen. Das ist aber alles nur rumdoktern und keine richtige Lösung.


    Gruß Matthias

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Hi

    Mir ging es nur darum, um Programmierfehler aufzuspüren.
    Wenns dann richtig rennt kann ich es wieder umstellen !

    Danke

    Rudolf

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    > Warum wird die Zeile "b = b + a;" nicht abgearbeitet ?

    Sie wird abgearbeitet, d.h. der Compiler erzeugt Code, der exakt der C-Spezifikation von "b = b + a" entspricht! Wenn er zB nachweisen kann, daß a = 0 ist und weder a noch b volatile sind, braucht er dafür überhaupt keinen Code zu erzeugen. Eine Addition ist auch unnötig, wenn b vor der Addition 0 ist oder b nach der Addition nicht verwendet wird.

    Das Problem in deinem Fall ist aber nicht der erzeugte ausführbare Code, sondern die erzeugte Debug-Information bzw. deren Auswertung.

    Zeitgemäße Debugger beziehen Informationen über den Code aus der Debug-Info, nicht etwa aus den vorliegenden Maschineninstruktionen. In letzerem sind nämlich keine Variablennamen, Typen, Typedefs, Quellbezüge, etc. mehr enthalten.

    Ergo: Wenn diese Zeile oder Variablen nicht angezeigt werden, dann hast du:
    • Ein altes bzw. unzureichendes Debug-Format ausgewählt. Um die Anzeige optimierten Codes zu unterstützen, sollte mindestens DWARF-3, besser noch DWARF-4, verwendet werden. Die entsprechende GCC-Optionen zur Erzeugung dieser Debug-Formate lauten -gdwarf-3 bzw. -gdwarf-4
    • Selbstredend muss der Debugger mit den Debug-Infos zurecht kommen. Wenn irgendwas hakt, sind die Tools, also Compiler und/oder Debugger, veraltet.
    Und nochwas: Beim der Fehlersuche sollte immer der Code untersucht werden, der schlussendlich auch zum Einsatz kommt!

    Ansonsten kann es schnell passieren, daß man einem Phantom hinterher jagt und es nach Anschalten der Optimierung plötzlich "seltsame, unerklärliche Effekte" gibt, die dann als "Compilerfehler" verbucht werden, in 99.9% der Fälle jedoch Anwendungsfehler bzw. Missachten der C-Spezifikation etc. sind.

    Also: Den richtigen Code debuggen, nicht irgendein Mächen-Code.
    Geändert von SprinterSB (25.04.2012 um 00:56 Uhr)
    Disclaimer: none. Sue me.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Danke

    Werde versuchen mich danach zu richten

    Rudolf
    Geändert von Rudolf_H (25.04.2012 um 21:56 Uhr)

Ähnliche Themen

  1. RP6 und AVR-Studio?
    Von danimath im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 23.10.2011, 17:56
  2. AVR-Studio.
    Von JeyBee im Forum AVR Hardwarethemen
    Antworten: 15
    Letzter Beitrag: 06.09.2007, 08:20
  3. C++ mit AVR-Studio
    Von p_mork im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 13.03.2007, 16:02
  4. Bug im AVR Studio?
    Von gulliver im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 01.03.2007, 09:49
  5. AVR Studio 4
    Von Norki im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 18.09.2006, 17:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress