SylixOS普通定时器精度分析
1. 適用范圍
??? SylixOS下實(shí)現(xiàn)高精度定時(shí)器和普通定時(shí)器功能,本文檔介紹普通定時(shí)器的精度問題,適用于SylixOS開發(fā)工程師,使用者應(yīng)具備SylixOS基礎(chǔ)知識(shí)以及基本編程能力。
2. 實(shí)現(xiàn)原理
??? SylixOS下在應(yīng)用層創(chuàng)建定時(shí)器時(shí)系統(tǒng)會(huì)申請(qǐng)定時(shí)器控制塊,在啟動(dòng)定時(shí)器時(shí)將定時(shí)器控制塊加入到全局掃描鏈表中,由內(nèi)核線程負(fù)責(zé)循環(huán)掃描隊(duì)列,代碼模塊如程序清單 2.1所示。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 程序清單 2.1? 定時(shí)器內(nèi)核線程?
? ?? 由程序清單 2.1可知,內(nèi)核線程循環(huán)的時(shí)間周期通過RMS調(diào)度控制,時(shí)間周期為:
LW_ITIMER_RATE? ? SylixOS下為LW_ITIMER_RATE定義為:
#define?LW_ITIMER_RATE????????????????????_K_timingKernel.TIMING_ulITimerRate? ? _K_timingKernel定義為(以ARM CortexA9 base為例):
_K_timingKernel?=?{100,?10000000,?100,?5,?1,?10,?LW_CFG_SLICE_DEFAULT};? ? 因此SylixOS下定時(shí)器精度依賴于系統(tǒng)Tick,以上述系統(tǒng)Tick為100 Hz為例,定時(shí)器線程遍歷周期為5個(gè)系統(tǒng)Tick,即定時(shí)器精度為50 ms。
轉(zhuǎn)載于:https://blog.51cto.com/12558126/2153150
總結(jié)
以上是生活随笔為你收集整理的SylixOS普通定时器精度分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HandlerThread原理与应用
- 下一篇: React 的 PureComponen