Hi, ich versuche mich gerade mit dem Butterlfy anzufreunden. Da das AVRStudio zwischenzeitlich auch den GCC Port unterstützt, möchte ich im AVRStudio samt den C Dateien simulieren. Dummerweise komme ich nicht über die OSCCAL kalibrierung hinaus. Weiß also nicht woran das liegen könnte, normalerweise sollte ja die OSCCAL Funktion ebenfalls zu simulieren sein. Vielleicht hat sich bereits jemand von Euch mit diesem Problem auseinander gesetzt. Viele Grüße
Habe schon eine Weile nicht mehr den gcc-Port auf den Simulator losgelassen. Als ich seinerzeit den Code von Atmel nach gcc portiert habe, habe ich den Aufruf der Kalibrierroutine auskommentiert, da die Warteschleifen innerhalb der Kalibrierroutine im Simulator nur sehr lagsam ablaufen. Martin Thomas
Hi Martin, vielen Dank für Deine Antwort. Ich weiß nicht, ob das für weitere Funktionen in der Simulation notwendig wird, die Kalibrierungsroutine zu durchlaufen. Ich habe das mal komplett durchlaufen lassen, es hatte sich kein OSCCAL Wert eingestellt gehabt... Sind eigentlich die Default Einstellungen des Controllers in der Simulation angepasst? Ich mein, Dein Port ist ja für 1MHz geschrieben. Nach Aufruf des Projekts im AVRStudio und Simulation war jedoch 4MHz voreingestellt, was ich dann später aber auf 1 MHz korrigiert habe. Nichts desto trotz sollte doch die Kalibrierungsroutine laufen, oder? Viele Dank nochmals für Dein Hilfe. Grüße
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.