免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2052 | 回复: 1
打印 上一主题 下一主题

[PATCH] new udelay() [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-11 21:03 |只看该作者 |倒序浏览
用三个函数实现了比较精确的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,欢迎大家试用!

0002-fix-udelay.patch.gz

2.28 KB, 下载次数: 23

论坛徽章:
0
2 [报告]
发表于 2010-03-15 22:09 |只看该作者
applied for now, but further devel needed.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP