etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:1741回复:11

请教2440在CE4.2中GetTickCount()不准确的问题

楼主#
更多 发布于:2007-05-07 15:30
在勤研2440的开发板上运行CE4.2,结果发现GetTickCount()很不准确,导致定时器等不能正常使用,而且速度还是时快时慢。检查BSP发现是通过PWM的Timer4实现,然后在调试中注意到TCNTO4的值一直为0,不知道是怎么回事。照理说这么基础的东西应该是三星原BSP包里就写好了的,我和2410的BSP大致比较了一下,看起来方法类似,2440的更复杂一点。不知道有没有人也遇到过这种情况?
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-10 09:16
没有人用过这块板子么?或者有人在用过的2440板子上遇到过类似的情况么?
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-05-11 11:50
顶,希望有人帮忙
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-05-15 11:31
找到了问题出在哪里了,OEMIdle函数中的处理应该是有问题,用Stub代替之后正常了。
剩下的就是分析一下这个函数里的流程了,看起来要和CE的Kernel部分代码联系一起来看。
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-16 08:19
本人也碰到此问题,楼主能否说得清楚一点?用哪里的stub替代?
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-05-16 09:36
就是用空白替代,因为这个函数的实现不是必要的。
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-16 09:56
就是Stub out罗,进入后直接返回。
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-05-16 10:02
是啊,不过还是要检查一下为什么会出这种错误,迟些吧。
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-16 12:22
等你的消息。我有空了也会研究一下。
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-05-20 10:08
引用第5楼etermis于2007-05-16 09:36发表的  :
就是用空白替代,因为这个函数的实现不是必要的。



OEMIDLE不是必须要实现的,
但如果你的系统对功耗有要求,就一定要把它做好,在这个函数中将TIMER的频率降低,把CPU的频率降低或者停掉.
学海无涯
powerall888
驱动小牛
驱动小牛
  • 注册日期2007-03-02
  • 最后登录2010-09-29
  • 粉丝0
  • 关注0
  • 积分906分
  • 威望329点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-05-21 15:44
将OEMIdle stub out后,发现拷贝文件等有关nandflash的访问将变得非常慢,有没更好的解决方案?
etermis
驱动牛犊
驱动牛犊
  • 注册日期2006-05-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-05-22 08:37
我这里没有发现这种问题啊?
游客

返回顶部