Hallo Leute, Wie kann man die CPU Taktung in einem Echtzeitbetriebsystem umstellen? In meinem Fall wären dies MicroC/OS-II und FreeRTOS. Es gibt ja bei beiden jede Menge Konfigurationsdateien, bis jetzt konnte ich allerdings noch keine finden, bei der ich die Taktung konfigurieren könnte. Ich möchte die Frequenz von 80MHz auf 50MHz heruntertakten. Oder kann ich dies einfach "selbst" konfigurieren? Wenn ja, stellt sich die Frage in welcher Datei. Vielen Dank für eure Hilfe! mfg Andreas
Andreas schrieb: > Wie kann man die CPU Taktung in einem Echtzeitbetriebsystem umstellen? Dem OS ist das herzlich egal. Es hängt von der CPU ab, ob die sowas unterstützt und wie das geht. Manche CPUs haben eine PLL oder einen ganzzahligen Teiler. Du solltest also mal den genauen Typ nennen. Peter
Hallo Peter,
Hab auch weiter recherchiert. Ja meine MCU unterstützt PLL.
Ich verwende einen Renesas R32C/111.
Ich kann also die PLL einfach in meiner Application einstellen?
z.B.:
app.c
void Start_up-Task (void *p_arg)
{
pll_init();
}
pll_init()
{
//PLL configuriern
}
lg
Andreas
Andreas schrieb: > Ich kann also die PLL einfach in meiner Application einstellen? Solche Fragen, und auch viele andere, beantwortet üblicherweise das Datenblatt zum Prozessor. Da musst du durch. Falls dein OS dazu fertige Funktionen mitbringt, steht auch noch was in dessen Dokumentation. Oliver
Hallo, habe soeben die Init Funktion des OS gefunden. Der Port (Renesas R32C/111) meines MicroC/OS-II besitzt die Datein app.c und bsp.c, welche für die Applikation des Users verwendet werden sollen. In der Datei bsp.c gibt es die Funktion TMR_TickInit. Dort wird auch die PLL eingestellt. Vielen Dank für eure Hilfe! Andreas
Das reicht aber nicht...das OS hat ja überlicherweise einen Systick, also einen Timer Interrupt Handler, der z.B. jede Millisekunde den Systick inkrementiert. Die Einstellung des Timers hängt von der PLL Einstellung ab, d.h. wenn du jetz einfach die PLL veränderst wird der Systick nicht mehr jede Millisekunde kommen. Ich kenne das jetzt nur bei embOS, dort gibt es einfach ein Define OS_FSYS, das man nur auf den neuen Wert setzen muss.
So ähnlich ist es auch bei MicroC/OS-II (Ebenfalls mit einem define). Kenn mich jetzt aus... vielen Dank für eure Hilfe nochmals. Ein tolles Forum :-) Schöne Grüße Andreas
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.