mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Newbie: AVRStudio Simulationsgeschwindigkeit?


Autor: Sebastian Schildt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich bin ein Newbie. ICh habe noch nie im Leben Assembler programmiert 
und weiß auch nicht wo das heiße Ende beim Lötkolben ist. Bitte 
behandelt mich demnetsprechend ;-)

Ich habe mich vor ein paar Tagen mal ganz allgemein mit Microcontrollern 
beschäftigt, da ich es a) interessant finde und b) sowas 2004 oder so im 
Studium auf mich zu kommt.

Bevor ich groß einkaufen gehe oder so habe ich mir das AVRStudio von 
Atmel heruntergeladen um meine ersten Versuche zu machen.

Was ich machen wollte ist folgendes: Ein Timer soll runterzöhlen und 
dann einen Interrupt auslösen. Alles (ca.) 5 sek soll ein Register 
inkrementiert werden.

Ich haben den Simulator auf 1 MHz (AT90S8515) eingestellt. Den 
"Timerteiler" auf jeden 1024 Takt runterzählen. Nach meinen Berechnungen 
müssten ungefähr 5 Sekunden vergangen sein, nachdem der Timer 19 mal 
einen Interrupt ausgelelöst hat. Im AVRStudio dauert es aber einige 
Minuten (mit "Run" keine Autostep oder so).

Frage: Ist der Simulator des AVRStudio viel zu langsam (läuft hier auf 
einem Celeron 466) oder habe ich mich verrechnet.

Das .asm File hänge ich an (Wie man sieht Stückwerk aus Tutorials ;-) )

Danke und Guten Rutsch!



Sebastian

Autor: Hermann Kraus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das AVR-Studio ist extrem langsam. Deinen Code habe ich mir noch nicht 
angeschaut, aber ich würde gefühlsmäßig das Studio verantwortlich 
machen.

Hermann

Autor: Notker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ich bestätigen, die Simulation im AVR-Studio hat ungefähr die 
Geschwindigkeit eines Käsebrots auf einem heissen Ofen.
Ärgerlich ist dies vor allem, wenn man Programme mit timergesteuerten 
Warteschleifen o.ä. simuliert. Dies ist in der Praxis bei längeren 
Schleifen (16-bit Timer) eigentlich unmöglich und man kann höchstens mit 
Breakpoints versuchen, hier irgendwie noch in einer annehmbaren Zeit 
zurecht zu kommen.
Hier sind m.M. nach die Entwickler von Atmel gefragt, diesem Stück 
Software mal einen etwas intelligenteren Emulationsalgorithmus zu 
verpassen, der erkennt, wenn der Prozessor nur Däumchen dreht und dies 
entsprechend berücksichtigt.

So, jetzt geh ich mal wieder nach unten zur Party bevor man mich 
vermisst und mache die Flasche Schampus auf, wird langsam Zeit.

Guten Rutsch!

Notker

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten. Werde in einigen Stunden mal darüber nachgehen, 
wenn der Alkoholpegel auf ein Niveau abgesunken ist, dass komplexerer 
Denkvorgänge wieder zulässt ;-)

Wünsche, gut gerutscht zu haben...

Sebastian

Autor: mng (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So isses.. Im Simulator läuft das Programm um einiges langsamer ab. 
Wenns Dir aber auf's genau Timing ankommt kannst Du Dir im CPU-Window 
anzeigen lassen, wieviel Zeit tatsächlich vergangen ist. Rein 
rechnerisch ist bei Deinem Programm alles in Ordnung, ich komm da so auf 
4.98 Sekunden.

mng

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.