日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SylixOS普通定时器精度分析

發(fā)布時(shí)間:2025/4/16 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SylixOS普通定时器精度分析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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)核線程?

????…?…?(省略) for?(;;)?{PLW_CLASS_WAKEUP_NODE??pwun;ULONG?????????????????????ulCounter?=?LW_ITIMER_RATE;#if?(LW_CFG_RMS_EN?>?0)?&&?(LW_CFG_MAX_RMSS?>?0)API_RmsPeriod(ulRms,?LW_ITIMER_RATE);????/*??使用?RMS?進(jìn)行周期運(yùn)行???????*/ #elseAPI_TimeSleep(LW_ITIMER_RATE);?????????????/*??等待一個(gè)掃描周期????????????*/ #endif…?…?(省略) }…?…?(省略)

? ?? 由程序清單 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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。