如何找到定制嵌入式系统上时钟漂移的原因?

如何找到定制嵌入式系统上时钟漂移的原因?

我们有在 SAM9G45 处理器上运行 3.2 Angstrom 的定制硬件。一切正常。最近我们设计了使用 SAM9G25 处理器的类似硬件。我们发现 2.6 内核在 SAM9G25 上运行良好,但我们需要将 3.2 内核移植到该平台以利用一些无线驱动程序。我们完成了移植,但我们刚刚发现时钟不可靠。它可以正常运行大约 20 分钟 - 然后时间(按“日期”报告)将提前几个小时或几天。 2.6 内核仍然可以正常工作,因此我们认为这是我们没有正确移植的问题。我们已经检查了一切,但到目前为止还没有运气。我不知道下一步该看哪里。

最终答案:Atmel 在文件 tcb_clksrc.c 中提供了 2.6 内核的补丁。我们在移植到 3.2 内核时错过了这一点。感谢您的见解!

答案1

尝试使用内核选项clocksource=jiffiesnohpet.

我有一个关于 SLES11 SP2(使用内核 3.0)的未决案例,我在其中观察到虚拟机上的时间不匹配情况。

clocksource=jiffies使我的情况变得更糟 - 但对你来说可能会有所帮助。

目前支持主要集中在高精度事件定时器(但我怀疑您的嵌入式系统是否有这样的设备)。

相关内容