Forum: Mikrocontroller und Digitale Elektronik Frequenz im AVR-Simulator ändern


von Dennis (Gast)


Lesenswert?

Hallo,

ich versuche mit dem AVR-Simulator zu debuggen, finde aber nirgends eine 
Option, in der ich die Frequenz verändern kann. Standardmäßig ist die 
wohl auf 4MHz eingestellt (Processor -> Frequency), mein Controller 
läuft allerdings mit 16MHz. Kann mir jemand erklären, wo ich diese 
ändern kann?

Vielen Dank,
Dennis

von Oops (Gast)


Lesenswert?

Ich nehme mal an Du meinst den Simulator von AVRStudio.
Es gibt eigentlich keine Notwendigkeit die Frequenz im Simulator 
einzustellen, da es sich ja ohnehin nicht um eine Echtzeitsimulation 
handelt.
Wozu willst Du die Frequenz einstellen?

Gruss
Oops

von Oops (Gast)


Lesenswert?

Oops, da fehlt noch was.

Jedenfalls geht es mit Debug->AVR Simulator Options.
Du musst nur erst den Simulator starten, dann ist die Option zugänglich.

Gruss
Oops

von Oops (Gast)


Lesenswert?

Oops.
Ich glaube da hab ich gerade eine Wissenslücke.
Wozu ist die Frequenz einstellbar?

Gruss
Oops

von Dennis (Gast)


Lesenswert?

Oh Mann, bin ich blind. Danke, das habe ich gesucht! Leider kann ich die 
Frequenz nur bis 12MHz für einen ATMega32 einstellen, das ist ja blöd.
Wieso eigentlich keine Echtzeitsimulation? Ich war der Meinung genau 
dafür ist das da, denn ich wollte rausfinden, wie lange die Ausführung 
eines Teilstückes meines kompilierten Codes dauert.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Du startest die Simulation.
Debug --> AVR Simulator Options.
Eventuell mußt du im xml-File eine höhere MaxFrequency einstellen.

von Dennis (Gast)


Lesenswert?

OK, per Hand kann man auch 16MHz eingeben. Danke nochmal.

von Oops (Gast)


Lesenswert?

>Wieso eigentlich keine Echtzeitsimulation?
Das heisst, das die Reaktionen der simulierten CPU keinen Bezug zur 
Realität haben. Eine bestimmte Codesequenz die auf der echten CPU läuft 
wird in der Simulation viel langsamer verlaufen.

>ich wollte rausfinden, wie lange die Ausführung...dauert
Ach so. Ja, das geht so schon. Ich multipliziere halt immer im Kopf die 
Taktzyklen.

Gruss
Oops

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

ATmega32.xml im texteditor öffnen (vorher ggf schreibschutz entfernen)
und dann unter
1
<SPEED>16MHZ</SPEED>

hm... hilft leider nicht, 12mhz ist max.
Dann stell doch 8 Mhz ein und eifach alle Werte * 2 oder nutz den cycle 
counter ;)

von Falk B. (falk)


Lesenswert?

@ Oops (Gast)

>>ich wollte rausfinden, wie lange die Ausführung...dauert
>Ach so. Ja, das geht so schon. Ich multipliziere halt immer im Kopf die
>Taktzyklen.

Wozu? Das zeigt der Simulator doch DIREKT an. Siehe CPU Menu. Stopuhr + 
Zyklenzähler!

MFG
Falk

von Oops (Gast)


Lesenswert?

@Falk
>Wozu?
Um die Laufzeit herauszukriegen natürlich. Das steht doch in Deinem 
eigenen Zitat von Dennis. Die Stopuhr zeigt ja nur korrekt an, wenn der 
Takt richtig steht. Der Zyklenzähler ist stimmt dagegen immer.
Wozu soll ich immer wieder die Taktfrequenz einstellen? Ist doch bei 
jedem Projekt anders. Geht im Kopf schneller.

Gruss
Oops

von Falk B. (falk)


Lesenswert?

@ Oops (Gast)

>Wozu soll ich immer wieder die Taktfrequenz einstellen? Ist doch bei
>jedem Projekt anders.

Das muss man EINMAL einstellen, so wie den Controllertyp, der auch meist 
verschieden ist.

> Geht im Kopf schneller.

Kopfrechenkünstler?

MFG
Falk

von Oops (Gast)


Lesenswert?

>Das muss man EINMAL einstellen, so wie den Controllertyp, der auch meist
verschieden ist.
Ja und? Warum sollte ich?

Gruss
Oops

von Anonymous (Gast)


Angehängte Dateien:

Lesenswert?

See attached picture.

von Falk B. (falk)


Lesenswert?

Und? MIt 10 und 100 kann ich auch noch im Kopf multiplizieren, Aber bei 
1,8432 MHz & Co wird schon eng.

MfG
Falk

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.