前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Utility之Timer的属性

Utility之Timer的属性

作者头像
Taishan3721
发布2021-09-15 11:18:50
5730
发布2021-09-15 11:18:50
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

Vx6+提供了一个组件INCLUDE_TIMER_SYS_SHOW

有了它,就可以使用vxbSysClkShow()查看系统时钟的基本属性,包括最大和最小Rate,以及Frequency

如果镜像中包含了辅助时钟,则可以使用vxbAuxClkShow()

如果镜像中包含了时间戳,则可以使用vxbTimestampShow()

VxWorks567的这个时间戳的Frequency为什么这么低呢?因为硬件平台是Intel的,而且OS运行在SMP模式下。这时候VxWorks默认使用的时钟源是HPET - Intel High Precision Event Timer

如果把OS运行模式换成UP,则时间戳默认就会使用TSC - Time Stamp Counter。当然了,Vx5就是这样的,因为那会还不支持SMP呢

TSC是奔腾兼容处理器中的一个计数器,记录处理器消耗的时钟周期数,即在CPU每个时钟到来时,该计数器自动加一。所以它的Frequency就是CPU的主频了

那能不能在SMP下使用TSC呢?有个风险: 多个CPU各自的TSC可能不同步。这样的话,就没法玩了,总不能指定每个任务的Affinity吧。

那是不是有些Intel处理器的多CPU的TSC是同步的呢?答案是YES!

https://community.intel.com/t5/Intel-ISA-Extensions/Invariant-TSC-support/td-p/772125

稍微高端一点的处理器已经支持这个Invariant TSC技术了!

所以,接下来就是要改造BSP了...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档