GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare la causa della deriva dell'orologio su un sistema integrato personalizzato?

Abbiamo hardware personalizzato che esegue 3.2 Angstrom su un processore SAM9G45. Tutto funziona bene. Recentemente abbiamo progettato hardware simile che utilizza il processore SAM9G25. Abbiamo riscontrato che il kernel 2.6 funziona bene sul SAM9G25, ma dovevamo portare il kernel 3.2 sulla piattaforma per sfruttare alcuni driver wireless. Abbiamo completato il port, ma abbiamo appena scoperto che l'orologio non è affidabile. Funziona bene per circa 20 minuti, quindi l'ora (riportata da "data") salterà avanti di alcune ore o giorni. Il kernel 2.6 funziona ancora bene, quindi pensiamo che sia qualcosa che non abbiamo portato correttamente. Abbiamo esaminato tutto, ma finora senza fortuna. Non sono sicuro di dove guardare dopo.

Risposta finale :Atmel fornisce una patch per il kernel 2.6, nel file tcb_clksrc.c. Ci siamo persi nel nostro port sul kernel 3.2. Grazie per l'approfondimento!

Risposta accettata:

Prova ad avviare il sistema con l'opzione kernel clocksource=jiffies o nohpet .

Ho un caso aperto su SLES11 SP2 (usando il kernel 3.0) in cui osservo le discrepanze temporali sulle macchine virtuali.

Il clocksource=jiffies nel mio caso ha peggiorato le cose, ma nel tuo potrebbe aiutare.

Attualmente il supporto si sta concentrando sul timer di eventi ad alta precisione (ma dubito che il tuo sistema embedded abbia un dispositivo del genere).


Linux
  1. Come controllare la versione del sistema operativo e di Linux

  2. Come scoprire se il disco è SSD o HDD in Linux

  3. Come cambiare l'identità di un sistema Linux

  4. Come trovo la dimensione massima dello stack?

  5. Come reindirizzare i risultati di "trova" a mv in Linux

Come trovare la versione di Redhat Linux installata

Come trovare il numero di porta di un servizio in Linux

Come scoprire chi ha riavviato il sistema Linux e quando

Come trovare l'indirizzo IP di una macchina virtuale KVM

Come trovare l'utilizzo della CPU, cosa blocca il sistema

Come utilizzare il comando fd sul sistema Linux