www.mikrocontroller.net

Forum: Compiler & IDEs Simulation mit AVR Studio?


Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab für einen Mega16 ein Programm geschrieben, welches ich nun mit
dem Studio simulieren möchte. Aber ohne irgendwelche Hardware.

Gibt es da erfahrungen? Ich komm da nicht wirklich zurecht. Kurz nach
nach dem Start geht er in eine "Endlosschleife" und setzt ständig nur
ein paar Bits auf PORTB.
Mein Programm checkt aber in der Main immer die PIN´s´von Port A und C.
Timer sind auch drin...

Und das Porgramm ist im Decompiler auch nicht wirklich zu verstehen. Es
sind ca. 12 KB Code...

Wäre für Tipps dankbar

MfG Torsten

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu Decompiler?  Wenn Du es selbst geschrieben hast, hast Du doch den
Sourcecode...

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,
schau mal in der Hilfe nach was da über Breakpoints steht.
Man kann auch im Einzelschritt das Programm testen, nur wenn
da eine Zeitschleife drin ist dann dauert das ewig.
Deshalb läßt man das Programm bis zu der Stelle laufen welche
man untersuchen will indem man dort einen Breakpoint setzt
und dann mit Einzelschritt die weiteren Befehle ausführt.
Auf der linken Seite unter I/O kann man nicht nur beobachten
wie sich Ports ändern , sondern man kann selber mit Mausklick
Ports verändern und somit testen ob das Programm das Richtige
macht.
Gruß,
Arno

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
danke für eure Antworten.

Es ist ja mit avrgcc geschrieben, dehalb seh ich nur den dekompilierten
assembler... (oder gibts da noch ne andre Möglichkeit?)

Das man die Register zur Laufzeit ändern kann ist ne coole Sache.
So, ich hab nun zwei OCCompare Interrupts drin. Aber wenn ich in der
Simulation diese Bits setze, bleibt er immer noch in der erwähnten
Endlosschleife? Er müsste doch augenblicklich den Interrupt Handler
aufrufen?!

Naja, ich bastel mal in bisschen, ich werd mal sowas wie "Hallo Welt"
ausprobieren um mit dem Studio zurechtzukommen.
Aber ich meld mich bestimmt wieder ;-)

Thx
MfG Torsten

Autor: Conlost (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
am Besten du schreibst dir ein kleines Programmchen um erst mal
mit dem Studio zu üben.
So eins mit LED an und dann mit Timer zum blinken bringen usw.
Gruß,
Arno

Autor: schneidertobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich arbeite noch nicht lange mit AVR's. Aber ich laube genau fuer das
Problem, das du hast gibt es diese extcoff Format. Mein WinAVR Makefile
hat dafuer ein Target. Wie das Format genau aufgebaut ist weis ich
nicht. Aber dann kannst du im AVRStudio diese Datei laden und dann
quasie auf c-Codeebene debuggen. Das ist ansich ein ganz gute Sache.

Tobias

Autor: Torsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

coff ist ja die Lösung. Damit macht das Programmieren richtig spass.

Der Fehler war die LCD Init Routine. Die wartet auf eine reaktion vom
Display. Aber im Assembler hat man (ich) keine Chance das zu sehen.

Danke nochmal

MfG Torsten

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.