Forum: Mikrocontroller und Digitale Elektronik Newbie: AVRStudio Simulationsgeschwindigkeit?


von Sebastian Schildt (Gast)


Angehängte Dateien:

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

von Hermann Kraus (Gast)


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

von Notker (Gast)


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

von Sebastian Schildt (Gast)


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

von mng (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.