首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >冷火高分辨率定时器(MCF5328)

冷火高分辨率定时器(MCF5328)
EN

Stack Overflow用户
提问于 2011-06-17 23:42:28
回答 2查看 408关注 0票数 2

我继承了一个嵌入式项目,它需要一些简单的、每个功能的性能分析。它由运行MCF5328的Coldfire (2.6.17.7-uc1)组成。

我既不是Coldfire的专家,也不是uClinux (或者Linux )的专家,所以请原谅我的无知。

在Windows中,我只需使用QueryPerformanceCounter来访问x86高分辨率计时器。记录计数器前后的差异,并进行比较。

我了解到Linux在QueryPerformanceCounter上有许多不同的版本:

  • clock_gettime/res
  • getnstimeofday
  • ktime_x

甚至可以访问时间戳柜台

  • get_cycles

在此设备正在运行的uClinux构建中,所有这些都不可用。因此,操作系统似乎没有高分辨率的定时器访问权限。

这是否意味着Coldfire本身没有提供这样的功能?还是uClinux端口的作者将它们排除在外?硬件上是否有我可以使用的东西,以及如何使用它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-21 18:37:46

最后,我在Coldfire上使用了四个DMA计时器之一。这是一个简单的事情,使计时器作为一个自由运行,无中断的生成,计数器.这提供了一个12.5ns计数器(在80 This )。

票数 1
EN

Stack Overflow用户

发布于 2011-06-17 23:47:11

考虑到您的内核有多老,您可能不支持高分辨率定时器。

如果您正在编写内核驱动程序,则API是不同的。如果get_cycles()被删除,这可能意味着您的CPU体系结构不支持循环计数器。因为您的内核很老了,所以do_gettimeofday可能是您所能做的最好的了,除了编写一个驱动程序来直接查询一些计时器硬件之外。

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

https://stackoverflow.com/questions/6392867

复制
相关文章

相似问题

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