首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ARMv8系统中获得微秒计时器?

如何在ARMv8系统中获得微秒计时器?
EN

Stack Overflow用户
提问于 2022-01-25 07:42:38
回答 1查看 391关注 0票数 0

我正在用ARMv8实时操作系统编写内核代码的一部分。

我试图在Linux中执行gettimeofday()这样的函数,它可以在秒和微秒内返回系统时间。

但我没能做到。ARMv8 support PL031,我认为它在freq上工作。以1Hz计,我无法在微秒内获得时间。

我不确定我是否正在读/做一些PL031错误的事情,在ARMv8中有什么方法可以在微秒内获得系统时间吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-28 04:11:11

ARMv8有“通用计时器”。

您可以在"ARM架构参考手册. ARMv8,ARM 8-A架构配置文件“中找到描述(搜索”通用计时器“)。

还有程序员的指南(链接)

问题是您需要用系统频率值来编写CNTFRQ_EL0寄存器。这个“频率”寄存器不被硬件填充,并且有异常级别的限制。

但是既然你做了你的实时操作系统,那就不应该是问题了。

通过阅读CNTPCT_EL0,你可以得到“系统滴答声”,在“频率”的帮助下,它可以转换成时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70844977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档