mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR STUDIO Simulation Program Counter


Autor: fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

probier mich das erste mal mit AVR Studio in Verbindung mit WinAVR.

Zunächst mal kontrolliere ich meinen Code nur über eine Simulation. Das 
Kompilieren klappt wunderbar, und der Simulator setzt den Zeiger auch 
richtig an den Anfang der Mein() Funktion. Ab da an geht's aber nicht 
richtig. Mach ich nen einzelnen Step springt das Programm sonst wo hin, 
aber nicht zum nächsten Befehl.

Weiß einfach nicht wo der Fehler liegt. Auf alle Fälle Danke im 
Vorhinein.

Gruß

fox

Autor: YS-500 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könntest ja das File anhängen zum testen.

Autor: af80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach aus Mein() in main() dude!

Autor: fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probiers momentan nur mit ner einfachen main funktion, die zwei integer 
Variablen einen Wert zuweist. Und nicht mal des geht. Spring direkt ans 
Ende von main.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könntest ja das File anhängen zum testen.

Autor: YS-500 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, dann zeig's doch mal her.
Oder ist es geheim?

Autor: fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Das wär mal mein einfacher Test.

Autor: fox (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie wars nicht dabei.

Autor: Gerald D. (saleru)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahlso meine erste Vermutung wären die Compileroptimierungen. Wenn du wie 
du sagtest nur eine sehr einfache Funktion hast, dann kann es sein dass 
diese vom Compiler wegoptimiert wurde.

AvrStudio geht beim debuggen her und nimmt sich für die Zeilenreferenzen 
den generierten Assemblercode. Wenn also der Compiler deine einfache 
Funktion von zB 3 Zeilen auf eine optimiert hat dann würde auch beim 
debuggen alles wie eine einzelne Zeile übersprungen.

Zum Testen kannst du die Optimierungen ausschalten. Das machst du indem 
du unter "Project->Configuration Options" im Dropdown bei Optimization 
anstatt -Os einfach -O0 auswählst, dann sollte alles exakt übernommen 
werden beim compiliern.

lg,
Gerald

edit: ah seh grad deinen code im anhang ... ja genau das ist ein 
beispiel dafür was beim compiliern wegoptimiert wird ;)

Autor: fox (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank. Das war das Problem. Über die Optimierung bin ich auch 
schon drübergeflogen und dachte -Os bedeutet Optimierung aus. Mit -O0 
klappt alles wunderbar.

Vielen Dank für eure Hilfe.

Gruß Marco

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.