8249|25

54

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

我的2440跑得像PC机中毒一样慢,是什么原因? [复制链接]

我移植三星的5.0BSP到我的2440上,但是发现启动很快,但是运行很慢,很像台式机中了病毒的样子。

后来我把一些驱动屏蔽了,就运行快了。
-------这个方法比较笨,纯属运气,后来我听说可以使用remote process viewer来查看。我点击device.exe,下方出现了很多DLL,我看不懂哪个DLL导致了系统慢,我想请教大家是看什么东西知道DLL有问题的?
是proc Count还是Global Count?

另外还有一个问题,触摸屏的XM和YM是什么意思,有什么用的?现在我就剩下这个触摸屏问题了。

最新回复

lws
对阿,我现在遇到GetCurrentTime有时会去错时间的问题,但是下一次取又会变成正常的? 真奇怪  详情 回复 发表于 2010-2-3 09:06
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
头晕了,回去了。最近是好多问题啊。
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
自己顶上去,请高人指点。
这是提高BSP性能的关键因素啊。非常有意义的。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
跑得慢有可能2个原因,一个是某些驱动中中断设置不对(有可能你根本没有用到),导致频繁发生中断
二是 5.0的bsp中串口1驱动是按9线串口来做的,如果硬件上你只用了3线,其他的几根状态线没有接出来或者用做别用,可能导致modem驱动误以为收到数据
可以把驱动一个个的去掉来判断是哪个驱动导致慢
触摸屏的XM,YM就是屏x,y方向的一端,这个不太容易说清楚
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

5
 
如果慢基本上是系统时间跑飞了,我只遇到这种情况。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 Reallyu 的回复:
跑得慢有可能2个原因,一个是某些驱动中中断设置不对(有可能你根本没有用到),导致频繁发生中断
二是 5.0的bsp中串口1驱动是按9线串口来做的,如果硬件上你只用了3线,其他的几根状态线没有接出来或者用做别用,可能导致modem驱动误以为收到数据
可以把驱动一个个的去掉来判断是哪个驱动导致慢
触摸屏的XM,YM就是屏x,y方向的一端,这个不太容易说清楚


Thank you!我上次跑得慢的确是因为产生了没有用的中断。这个串口驱动的确是个问题,因为我们的确是使用三线来做的(因为2440等的串口接口哪有什么9线呢?不是全部是三线的吗?)。————好像串口调试助手都是用三线的。不知道有什么方法好解决这个问题呢?看来串口1的中断要改动一下。

---------------------------------------
我看了触摸屏的驱动。发现它只是设置一下寄存器而已,就开始读取X、Y坐标了,并且我发现触摸屏接口只用了四个口,就是AIN4~AIN7-------其中XP和YP分别接到AIN5和AIN7,XM和YM分别接到剩下两个了。我在这里的疑问是,触摸屏不是还要用nYPON、YMON、nXPON、XMON四个控制信号控制4个MOS管(S1、S2、S3、S4)的通断吗?怎么在各家2440的开发板电路图上都没有画出这几个接口呢?难道是触摸屏自己在内粗搞定了,2440用XM和YM就控制了所有的东西?
 
 
 

回复

105

帖子

0

TA的资源

一粒金砂(中级)

7
 
引用 4 楼 constantine 的回复:
如果慢基本上是系统时间跑飞了,我只遇到这种情况。


后来怎么解决?
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
难道真的没有快速定位造成系统运行慢的DLL的办法?
各位,来发表高见啊。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
系统时间跑飞只需校准重启就可以了
如果你认为dll有问题,可以修改注册表吗,通过远程连接进去修改注册表里面对应dll的名字,让他重启后无法启动你的dll就可以,一个一个慢慢测试吧,祝你好运。
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 constantine 的回复:
系统时间跑飞只需校准重启就可以了
如果你认为dll有问题,可以修改注册表吗,通过远程连接进去修改注册表里面对应dll的名字,让他重启后无法启动你的dll就可以,一个一个慢慢测试吧,祝你好运。


看来我贪心了,最高的诀窍,还是老老实实看代码了。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

11
 
在evc的tools中有很多工具,相当部分不会用。

你可以看看是否是可以用来调试系统的。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 lenux 的回复:
在evc的tools中有很多工具,相当部分不会用。

你可以看看是否是可以用来调试系统的。


谢谢。EVC的tool和PB的tool是一样的,
我看了就是搞不懂,主要是线程ID什么和进程之间的关系搞不懂。如果会这些就好办了。其实这是个比较好的topic,因为以往调试驱动都是比较死的方法。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

13
 
我停止进程,就会是同步连接软件不能连接了。
更可恶的是,我电脑死机了,看来这个remote process viewer只能看看那些DLL在运行啊。

再没有人指点,只能结贴了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

14
 
在 CE 下重设 RTC 时间, 检测 各个 IO 功能配置和中断配置,防止中断和板子不兼容,中断频繁触发, 检查 PLL 寄存器, 看看配置是否正确,这几个问题解决了,基本上就 OK 了
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

15
 
先全部弄掉,然后挨个添加,这样就能找到有问题的DLL了。

你没有编译DEBUG版试试看,一般调试串口会给出些信息,
可以帮你确定问题所在。
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

16
 
还有就是2440 bsp 里 RTC驱动有bug,星期几和日期的寄存器弄反了
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

17
 
谢谢楼上几位,我的每个都看看。真是让我长见识了。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

18
 
up
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 18 楼 hhyh612 的回复:
我移过5.0的bsp
当时慢的原因是触摸屏采样频率太快了,检查Timer的设置试试看吧


这也是个原因之一,我的原因是有些驱动和我板子的硬件接口正好赶上了

我的问题是想如何使用remote process viewer等工具来分析,估计是错误的方向。

明天结贴。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

20
 
可以写个程序统计每个线程占用的时间,根据内核对象指针得到当前进程列表,
遍历进程对象中的线程列表里面的每一个线程对象,
Thread data structures里面有两个成员,  
  
DWORD       dwUTime;        // ??: user time
DWORD       dwKTime;        // ??: kernel time

这是CE6下面的,CE5下面好像是dwKernTime和dwUserTime,分别记录线程在Kernel和User模式下消耗的时间,用这些信息可以统计每个进程消耗的时间和其下每个线程分别消耗的时间,重点分析时间占用最多的几个线程。
线程结构里面有个成员
DWORD dwStartAddr; /* 5c: thread PC at creation, used to get thread name */
即线程的入口地址,然后枚举进程内所有已加载模块,最后判断线程入口地址落在哪个加载模块范围内。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表