[PATCH] new udelay()
用三个函数实现了比较精确的udelay()功能:
1 calibrate_delay(x)函数,该函数位于base/timer.c中,采用的是和arch无关的通用算法。不同的plat在执行time_init时调用该函数,用来计算每个tick udelay函数所需循环次数loops_perjiffies和每微妙的所需的循环次数loops_perusec,这两个变量是base/timer.c的全局静态变量。
2 udelay(x)函数,该函数位于base/timer.c中,也和arch无关,只是封装了不同的arch下实际执行循环的__udelay(x)函数。
3 __udelay()函数,该函数位于arch/arm/udelay.S中,相同的体系结构这个函数的实现应该是一样的,这个函数的功能很简单,实现循环参数中给定的x次。
升级这个patch需要先打昨天的那个fix at91sam926x compile bug的patch,欢迎大家试用!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
applied for now, but further devel needed.