你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【ST MCU实战经验】FreeRTOS定时器精度研究

[复制链接]
沐紫 发布时间:2016-5-17 17:10
背景介绍
FreeRTOS 以其移植方便,高度可定制,footprint 小,使其在嵌入式操作系统中的份额不容小觑!尤以免费license,颇受开发者青睐。
问题描述
客户在基于cortex-m3 的平台上使用FreeRTOS 系统提供的定时器功能时,意外发现定时器的精确度不够高。譬如,设置1 秒钟的定时器,理论上1 秒超时,并且执行相应的回调函数。但是调试却发现,有时回调函数是在1.4 秒后被执行!这对于精度要求较高的实时系统,是不能接受的!
问题复现与分析
首先在stm32f407-discovery 平台移植FreeRTOS,并创建一个定时器,在其回调函数里toggle led 灯,并测量被执行的时间。鉴于FreeRTOS 是一个多任务可抢占式系统,这个问题需要在多种情况下分析。
    Case 1 :
单任务,即系统里仅有timer task 和idle task。整个系统最高优先级为4,Timer task 的优先级为默认优先级2。
在这种环境下,回调函数能精确的以1 秒的时长超时执行回调函数。虽然此刻精度能满足要求,但是实际的系统一般会包含多个task。以下为测试的日志,显而易见,该定时器严格1 秒钟超时。


详细专家解答请下载PDF文档:

FreeRTOS定时器精度研究

更多实战经验请见:https://www.stmcu.org.cn/document/list/index/category-657



收藏 1 评论6 发布时间:2016-5-17 17:10

举报

6个回答
watershade 回答时间:2016-5-17 20:59:03
对,频率最高才1KHZ,看看专家的意见。
高二毛 回答时间:2016-8-26 17:17:28
学习了。
zhangguo 回答时间:2016-8-28 10:05:44
不知道有没有出Free RTOS的系列视频啊。以便大家学习呀。
wdshuang09 回答时间:2016-11-27 09:34:43
学习了               

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版