SylixOS普通定时器精度分析
生活随笔
收集整理的這篇文章主要介紹了
SylixOS普通定时器精度分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 適用范圍
??? SylixOS下實現高精度定時器和普通定時器功能,本文檔介紹普通定時器的精度問題,適用于SylixOS開發工程師,使用者應具備SylixOS基礎知識以及基本編程能力。
2. 實現原理
??? SylixOS下在應用層創建定時器時系統會申請定時器控制塊,在啟動定時器時將定時器控制塊加入到全局掃描鏈表中,由內核線程負責循環掃描隊列,代碼模塊如程序清單 2.1所示。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 程序清單 2.1? 定時器內核線程?
? ?? 由程序清單 2.1可知,內核線程循環的時間周期通過RMS調度控制,時間周期為:
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下定時器精度依賴于系統Tick,以上述系統Tick為100 Hz為例,定時器線程遍歷周期為5個系統Tick,即定時器精度為50 ms。
轉載于:https://blog.51cto.com/12558126/2153150
總結
以上是生活随笔為你收集整理的SylixOS普通定时器精度分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HandlerThread原理与应用
- 下一篇: React 的 PureComponen