Hallo Klaus,
>Ich weiß nicht, ob das für weitere Funktionen in der Simulation
>notwendig wird, die Kalibrierungsroutine zu durchlaufen.
Nicht wirklich. Die Kalibrierung dient auf der realen Hardware dazu,
die Taktfrequenz des internen Taktgebers im AVR mittels 32kHz-Quarz auf
1MHz zu kalibrieren. Wichtig hauptsaechlich fuer UART. Fuer die
Simulation eher uninteressant.
>Ich habe das mal komplett durchlaufen lassen, es hatte sich
>kein OSCCAL Wert eingestellt gehabt...
Kann gut sein. Bin nicht sicher, ob AVRStudio den Async-Mode eines
Timers richtig emuliert. Ohne diese Funktion, wird die Simulation der
Kalibrierung und auch die RTC nicht funktionieren.
>Sind eigentlich die Default Einstellungen des Controllers in der
>Simulation angepasst? Ich mein, Dein Port ist ja für 1MHz
>geschrieben.
Nicht nur mein Port, das hat Atmel im Original schon so implementiert.
Der Divider des internen Taktgebers wird bei Start auf "/8"
eingestellt (8/8=1MHz). Nur bei UART-Transfer im "Name upload" und im
Bootloader wird der FCPU auf 2MHz (=/4) eingestellt, um 19200 bps mit
moeglichst geringem Fehler zu erreichen.
>Nach Aufruf des Projekts im AVRStudio und Simulation war jedoch
>4MHz voreingestellt, was ich dann später aber auf 1 MHz
>korrigiert habe.
Ja, 1MHz sollte fuer die Simulation die richtig Einstellung sein. Die
UART-Simulation ist meines wissens ohnehin noch nicht implementiert.
Weiss nicht, ob AVRStudio bei der Laufzeitmessung in der Simulation den
Divider beruecksichtigt. Sorry, die Einstellung zur Simulation in der
Projektdatei habe ich mir nie angeschaut und auch den fertigen Code
nicht komplett simuliert. Ich habe die AVRStudio-Projektdatei
hauptsaechlich deswegen beigelegt, weil die libm.a bei einem neuen
"gcc-plugin"-Projekt nicht per default gelinkt wird und ohne diese
Einstellung eine zu groesse Binaerdateien erzeugt wird. Hatte deswegen
ein paar Nachfragen per e-mail.
> Nichts desto trotz sollte doch die Kalibrierungsroutine
> laufen, oder?
Wie geschrieben, nur wenn der Simulator den Divider und den Async-Mode
richtig emuliert. Bei beidem bin ich mir nicht sicher, den Simulator
nutzt ich nur sehr selten fuer Laufzeitmessungen von Unterfunktionen.
Bei AVRFreaks gibt es ein extra Forum fuer AVRStudio. Falls die
online-Dokumentation keine Erleuchtung bringt, einfach dort fragen.
Hoffe, es hilft.
Martin Thomas