맞춤형 임베디드 시스템에서 클럭 드리프트의 원인을 찾는 방법은 무엇입니까?

맞춤형 임베디드 시스템에서 클럭 드리프트의 원인을 찾는 방법은 무엇입니까?

우리는 SAM9G45 프로세서에서 3.2Angstrom을 실행하는 맞춤형 하드웨어를 보유하고 있습니다. 모든 것이 정상입니다. 최근 우리는 SAM9G25 프로세서를 사용하여 유사한 하드웨어를 설계했습니다. 우리는 2.6 커널이 SAM9G25에서 제대로 작동한다는 것을 알았지만 일부 무선 드라이버를 활용하려면 해당 플랫폼에 3.2 커널을 이식해야 했습니다. 포트를 완료했지만 시계가 신뢰할 수 없다는 사실을 방금 발견했습니다. 약 20분 동안은 정상적으로 실행됩니다. 그런 다음 시간("날짜"로 보고됨)이 몇 시간 또는 며칠 정도 빨라집니다. 2.6 커널은 여전히 ​​잘 작동하므로 이것이 올바르게 포팅되지 않은 문제라고 생각합니다. 우리는 모든 것을 확인했지만 지금까지 운이 없었습니다. 다음에는 어디를 봐야할지 모르겠습니다.

최종 답변: Atmel은 tcb_clksrc.c 파일에서 2.6 커널용 패치를 제공합니다. 3.2 커널로 포팅할 때 이것을 놓쳤습니다. 귀하의 통찰력에 감사드립니다!

답변1

커널 옵션 clocksource=jiffies이나 nohpet.

가상 머신에서 시간 불일치가 관찰되는 SLES11 SP2(커널 3.0 사용)와 관련된 공개 사례가 있습니다.

이로 인해 clocksource=jiffies상황이 더욱 악화되었습니다. 하지만 도움이 될 수도 있습니다.

현재 지원은 고정밀 이벤트 타이머에 중점을 두고 있습니다(그러나 귀하의 임베디드 시스템에 그러한 장치가 있는지는 의심스럽습니다).

관련 정보