如何进行SylixOS普通定时器精度分析
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,如何进行SylixOS普通定时器精度分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 适用范围SylixOS下实现高精度定时器
千家信息网最后更新 2024年11月30日如何进行SylixOS普通定时器精度分析
如何进行SylixOS普通定时器精度分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1. 适用范围
SylixOS下实现高精度定时器和普通定时器功能,本文档介绍普通定时器的精度问题,适用于SylixOS开发工程师,使用者应具备SylixOS基础知识以及基本编程能力。
2. 实现原理
SylixOS下在应用层创建定时器时系统会申请定时器控制块,在启动定时器时将定时器控制块加入到全局扫描链表中,由内核线程负责循环扫描队列,代码模块如程序清单 2.1所示。
程序清单 2.1 定时器内核线程
… … (省略)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 进行周期运行 */#else API_TimeSleep(LW_ITIMER_RATE); /* 等待一个扫描周期 */#endif … … (省略)} … … (省略)
由程序清单 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。
关于如何进行SylixOS普通定时器精度分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
定时器
精度
周期
普通
系统
线程
问题
分析
内核
清单
程序
控制
时间
更多
知识
帮助
循环
解答
易行
简单易行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
飞扬网络技术服务
信息安全网络安全与隐私保护考试
apex服务器更换
锐思数据库的主权信用评级
uniapp数据库选择
查看mysql数据库进程
vr软件开发需要的参考文献
微信数据中心服务器多大
会计信息系统服务器在境外
数据库保护包括哪四个方面内容
网络安全交流会发言
mongodb同步图数据库
高级软件开发手干嘛的
福建南平市网络安全教育平台
营销网络技术含义
gis如何建立mdb数据库
佛山武夷山软件开发
pcb工程师和软件开发
天翼网络安全产业联盟联系电话
郑州服务器回收多少钱
dopost获取不到数据库
怎么做mc服务器
汕尾通讯软件开发代理价格
京柏医疗软件开发工程师
龙海应用软件开发
中国航空工业软件开发公司
删除mysql数据库用户
游侠我的世界联机一直连接服务器
功能性的聊天软件开发
dnf正在检查登录服务器