AUTOSAR OS Counter讲解

Counter定义

Counter(计数器)以tick为单位记录操作系统中发生了多少“事情”。tick(滴答)是一个抽象的单位。我们可以这样定义tick:

  • 时间,例如毫秒,微妙,分钟等,然后计数器计算过去了多少时间
  • 旋转,例如以度或分钟为单位,计数器计算物体旋转了多少
  • 按钮按下,计数器计算按钮按下多少次
  • 错误,计数器计算错误发生的频次

中断(有时是任务)用于驱动一个计数器。该驱动程序负责进行正确的OS API调用来滴答计数器,或者告诉OS计数器已经滴答到一个所需的值。

Counter驱动

OS不控制任何硬件来提供计数器驱动程序。即我们需要为每一个定义的计数器提供驱动。并将接口提供给操作系统,

驱动程序和计数器之间的接口取决于计数器的类型:

Software Counters 由API调用增加

Hardware Counters 保存在外围硬件设备中。应用程序必须提供一个复杂驱动程序,复杂驱动程序告诉OS所请求的滴答数已经过了。OS使用特殊的回调来设置请求的tick数,取消请求,获取当前计数值并获取计数器的状态。

软件计数器驱动

我们需要给每一个软件计数器提供驱动,驱动提供tick。在StartOS()调用后,所有的软件计数器初始化为0,并且向上增加。

软件计数器驱动由AUTOSAR OS标准化,如下图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钢琴上的汽车软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值