Como posso encontrar a causa do desvio do relógio em um sistema incorporado personalizado?

3

Temos hardware personalizado rodando 3.2 Angstrom em um processador SAM9G45. Tudo funciona bem. Recentemente nós projetamos um hardware similar que usa o processador SAM9G25. Descobrimos que o kernel 2.6 funciona bem no SAM9G25, mas precisávamos portar o kernel 3.2 para a plataforma para aproveitar alguns dos drivers wireless. Completamos o porto, mas acabamos de descobrir que a hora do relógio não é confiável. Corre-se bem durante cerca de 20 minutos - depois a hora (reportada por "data") avança algumas horas ou dias. O kernel 2.6 ainda funciona bem, então achamos que é algo que não portamos corretamente. Nós examinamos tudo, mas sem sorte até agora. Não sei onde procurar a seguir.

Resposta final : A Atmel fornece um patch para o kernel 2.6, para o arquivo tcb_clksrc.c. Perdemos isso em nossa porta para o kernel 3.2. Obrigado pela perspicácia!

    
por Jeff 05.10.2012 / 05:35

1 resposta

2

Tente inicializar o sistema com a opção de kernel clocksource=jiffies ou nohpet .

Eu tenho um caso aberto sobre o SLES11 SP2 (usando o Kernel 3.0) onde observo incompatibilidades de tempo em VMs.

O clocksource=jiffies piorou no meu caso - mas no seu pode ajudar.

Atualmente, o suporte está focando no temporizador de eventos de alta precisão (mas duvido que o seu sistema embarcado tenha esse dispositivo).

    
por 05.10.2012 / 15:00