Embedded
如何在定制嵌入式系統上找到時鐘漂移的原因?
我們有在 SAM9G45 處理器上執行 3.2 埃的定制硬體。一切正常。最近我們設計了使用 SAM9G25 處理器的類似硬體。我們發現 2.6 核心在 SAM9G25 上執行良好,但我們需要將 3.2 核心移植到平台以利用一些無線驅動程序。我們完成了埠,但我們剛剛發現時間時鐘不可靠。它可以正常執行大約 20 分鐘 - 然後時間(由“日期”報告)將提前幾個小時或幾天。2.6 核心仍然可以正常工作,所以我們認為這是我們沒有正確移植的東西。我們已經查看了所有內容,但到目前為止還沒有運氣。我不知道下一步該往哪裡看。
最終答案:Atmel 為文件 tcb_clksrc.c 提供了 2.6 核心的更新檔。我們在移植到 3.2 核心時錯過了這一點。感謝您的洞察力!
嘗試使用核心選項
clocksource=jiffies
或nohpet
.我有一個關於 SLES11 SP2(使用核心 3.0)的未決案例,我觀察到虛擬機上的時間不匹配。
這
clocksource=jiffies
讓我的情況變得更糟 - 但在你的情況下它可能會有所幫助。目前支持集中在高精度事件定時器(但我懷疑你的嵌入式系統有這樣的設備)。