Wir haben kundenspezifische Hardware mit 3,2 Angstrom auf einem SAM9G45-Prozessor. Alles funktioniert gut. Kürzlich haben wir ähnliche Hardware entwickelt, die den SAM9G25-Prozessor verwendet. Wir fanden, dass der 2.6-Kernel auf dem SAM9G25 gut funktioniert, aber wir mussten den 3.2-Kernel auf die Plattform portieren, um einige drahtlose Treiber nutzen zu können. Wir haben den Hafen fertiggestellt, aber wir haben gerade festgestellt, dass die Tageszeit nicht zuverlässig ist. Etwa 20 Minuten läuft sie einwandfrei – dann springt die Uhrzeit (mit „Datum“ gemeldet) um ein paar Stunden oder Tage vor. Der 2.6-Kernel funktioniert immer noch gut, also denken wir, dass wir ihn nicht richtig portiert haben. Wir haben alles durchgesehen, aber bisher kein Glück. Ich bin mir nicht sicher, wo ich als nächstes suchen soll.
Endgültige Antwort :Atmel liefert einen Patch für den 2.6er Kernel in der Datei tcb_clksrc.c. Das haben wir bei unserer Portierung auf den 3.2er Kernel vermisst. Danke für den Einblick!
Akzeptierte Antwort:
Versuchen Sie, das System mit der Kernel-Option clocksource=jiffies
zu booten oder nohpet
.
Ich habe einen offenen Fall zu SLES11 SP2 (unter Verwendung von Kernel 3.0), bei dem ich Zeitkonflikte auf VMs beobachte.
Die clocksource=jiffies
hat es in meinem Fall schlimmer gemacht – aber in deinem könnte es helfen.
Derzeit konzentriert sich der Support auf den High-Precision-Event-Timer (aber ich bezweifle, dass Ihr eingebettetes System über ein solches Gerät verfügt).