6207|15

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE 5.0 USB Mass Storage疑问 [复制链接]

大家好,我的WinCE 5.0系统使用Usb Mass Storage功能,把Pocket Mory1作为存储设备开放时,从PC端拷贝数据到Pocket Mory1时,点击触摸屏进行操作,系统没有任何反应;把SD卡作为存储设备开放时,从PC端拷贝数据到SD卡时,点击触摸屏操作系统,操作是正常的;当不连接PC,直接把数据从SD卡拷贝到PocketMory1时,点击触摸屏操作系统也是正常的。

我的Nand还划分了另外一个分区PocketMory,用来存放系统文件(包括注册表),也就是说PocketMory1只是用来存储数据,那么为什么通过USB Mass Storage功能把PocketMory1开放出来,进行数据写入的时候,系统会不响应触摸事件呢。

开始我怀疑是不是我的Nand读写不是DMA模式引起的,后来改成DMA模式,速度提了上来,但是效果还是一样;

通过编写测试文件测试,然后通过EVC抓取CPU占用率,发现大多数情况下往Nand写数据时CPU占用率只有16%,偶尔会有峰值,达到90%以上;

后来怀疑是不是USB设备驱动的问题,但是把SD卡开放出来,写操作时系统又是正常的。

不知道是不是文件系统固有的问题,或者线程优先级等的问题,还请高手指点,谢谢!
此帖出自WindowsCE论坛

最新回复

MARK  详情 回复 发表于 2010-1-15 08:49
点赞 关注
 

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
和文件系统没有关系,可能是你的NAND驱动或者触摸屏驱动有问题吧,我的MASS STORAGE通过PC往NAND的盘符里边写数据的时候可以用触摸屏。
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
应该和触摸屏没有关系,我播放SD卡的音乐时传输文件,音乐就会停止,传输完成后音乐接着播放,感觉文件传输独占了CPU资源。
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
MARK.
此帖出自WindowsCE论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

5
 
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出
此帖出自WindowsCE论坛
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

7
 
学习
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
      2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?
此帖出自WindowsCE论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 guopeixin 的回复:
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?


To:1:是的,我现在确实都只是根据表象来推测;
   2:把触摸屏驱动打印LOG打开,发现是有LOG输出的,虽说不是很流畅,打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=2959, *pUncalY=1888
up
*pUncalX=2959,*pUncalY=1888
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 eastley 的回复:
引用 8 楼 guopeixin 的回复:
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?


To:1:是的,我现在确实都只是根据表象来推测;
? 2:把触摸屏驱动打印LOG打开,发现是有LOG输出的,虽说不是很流畅,打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=2959, *pUncalY=1888
up
*pUncalX=2959,*pUncalY=1888


那就基本上可以确定是优先级导致的该问题,解决方法如前面说的
不过,其实这个也不算是啥问题,因为连接usb的时候用户基本上不可能同时做这么多的操作
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

12
 
另外,一次正常的触摸点击打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=1868, *pUncalY=2016
down 1868 2016
DdsiTouchPanelGetPoint:: *pUncalX=1868, *pUncalY=2016
TSP_GetXY: 1- x= 2368, y=1940
TSP_GetXY: 2- x= 2382, y=1988
TSP_GetXY: 3- x= 2384, y=2028
TSP_GetXY: 4- x= 2385, y=2076
TSP_GetXY: *px=2383, *py=2008
invalid touch pen
*Final:*pUncalX=2383, *pUncalY=2008
DdsiTouchPanelGetPoint:: *pUncalX=2383, *pUncalY=2008
TSP_GetXY: 1- x= 2395, y=2082
TSP_GetXY: 2- x= 2398, y=2083
TSP_GetXY: 3- x= 2398, y=2085
TSP_GetXY: 4- x= 2445, y=2089
TSP_GetXY: *px=2398, *py=2084
invalid touch pen
*Final:*pUncalX=2383, *pUncalY=2008
DdsiTouchPanelGetPoint:: *pUncalX=2383, *pUncalY=2008
TSP_GetXY: 1- x= 2380, y=2089
TSP_GetXY: 2- x= 2380, y=2091
TSP_GetXY: 3- x= 2383, y=2099
TSP_GetXY: 4- x= 2429, y=2102
TSP_GetXY: *px=2381, *py=2095
invalid touch pen
*Final:*pUncalX=2381, *pUncalY=2095
DdsiTouchPanelGetPoint:: *pUncalX=2381, *pUncalY=2095
up
*pUncalX=2381,*pUncalY=2095
DdsiTouchPanelGetPoint:: *pUncalX=2381, *pUncalY=2095
up
*pUncalX=2381,*pUncalY=2095
此帖出自WindowsCE论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 10 楼 guopeixin 的回复:
引用 9 楼 eastley 的回复:
引用 8 楼 guopeixin 的回复:
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?


To:1:是的,我现在确实都只是根据表象来推测;
? 2:把触摸屏驱动打印LOG打开,发现是有LOG输出的,虽说不是很流畅,打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=2959, *pUncalY=1888
up
*pUncalX=2959,*pUncalY=1888


那就基本上可以确定是优先级导致的该问题,解决方法如前面说的
不过,其实这个也不算是啥问题,因为连接usb的时候用户基本上不可能同时做这么多的操作


USB Mass Storage是一种情况,但是应用层软件在执行写操作的时候,点击触摸屏有时也会没有反应,或者很慢,这就不能容忍了,如果修改构架的话应该怎么入手呢?能否给个指导思路,谢谢了:)我觉得使用MS的Driver时间会比较久。
此帖出自WindowsCE论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 eastley 的回复:
引用 10 楼 guopeixin 的回复:
引用 9 楼 eastley 的回复:
引用 8 楼 guopeixin 的回复:
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?


To:1:是的,我现在确实都只是根据表象来推测;
? 2:把触摸屏驱动打印LOG打开,发现是有LOG输出的,虽说不是很流畅,打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=2959, *pUncalY=1888
up
*pUncalX=2959,*pUncalY=1888


那就基本上可以确定是优先级导致的该问题,解决方法如前面说的
不过,其实这个也不算是啥问题,因为连接usb的时候用户基本上不可能同时做这么多的操作


USB Mass Storage是一种情况,但是应用层软件在执行写操作的时候,点击触摸屏有时也会没有反应,或者很慢,这就不能容忍了,如果修改构架的话应该怎么入手呢?能否给个指导思路,谢谢了:)我觉得使用MS的Driver时间会比较久。

呵呵,软件总会多多有些问题的,看怎么权衡了
我觉得有两种方法可以解决这个问题:
1。 更新driver架构,使用ms架构(这个要看你对两种架构优缺点的权衡了);
2. 改变hw,采用类似于inand之类的(如魅族M8就采用了movinand+sd架构,就不会出现lz的情况)
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 13 楼 guopeixin 的回复:
引用 12 楼 eastley 的回复:
引用 10 楼 guopeixin 的回复:
引用 9 楼 eastley 的回复:
引用 8 楼 guopeixin 的回复:
引用 7 楼 eastley 的回复:
引用 5 楼 guopeixin 的回复:
引用 4 楼 guopeixin 的回复:
samsung flash驱动设计的问题,采用了所有r/w操作经由kerneliocontrol转接到oal的方式,所以优先级比较高,导致操作flash的时候系统cpu loading很高
如果想解决这个问题,可以改一下架构或者采用ms 的driver

另外,你点击触摸屏没有反应的时候,可不可以做如下尝试
1. 拷贝文件之前,在device上运行一个测试程序,如播放对象存储中音频文件的播放器,当触摸屏没有反应的时候看测试程序能够正常工作;
2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出

谢谢,1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
? ? ? 2、先打开SD卡上的音频文件播放,通过USB Mass Storage拷贝数据到Nand时,音频播放会停在那里,直到拷贝完成才继续播放。

to:1、如果如你所说,我把SD卡上的数据拷贝到Pocketmory1时,系统是正常的,又如何解释?
在没有看到所有线程对cpu占用的具体时间之前所有的分析都是推测
这个应该是SD卡和Mass Storage情况下USB速度的差异导致拷贝文件的时候用在flash Write上的时间长短有关
另外,“2. 在touch driver中每次检测到用户点击的时候输出log信息,看触摸屏没有反映的时候是否有中断的log信息输出”的结果是?


To:1:是的,我现在确实都只是根据表象来推测;
? 2:把触摸屏驱动打印LOG打开,发现是有LOG输出的,虽说不是很流畅,打印如下:
DdsiTouchPanelGetPoint:: *pUncalX=2959, *pUncalY=1888
up
*pUncalX=2959,*pUncalY=1888


那就基本上可以确定是优先级导致的该问题,解决方法如前面说的
不过,其实这个也不算是啥问题,因为连接usb的时候用户基本上不可能同时做这么多的操作


USB Mass Storage是一种情况,但是应用层软件在执行写操作的时候,点击触摸屏有时也会没有反应,或者很慢,这就不能容忍了,如果修改构架的话应该怎么入手呢?能否给个指导思路,谢谢了:)我觉得使用MS的Driver时间会比较久。

呵呵,软件总会多多有些问题的,看怎么权衡了
我觉得有两种方法可以解决这个问题:
1。 更新driver架构,使用ms架构(这个要看你对两种架构优缺点的权衡了);
2. 改变hw,采用类似于inand之类的(如魅族M8就采用了movinand+sd架构,就不会出现lz的情况)

只是个人愚见,仅供参考,呵呵
此帖出自WindowsCE论坛
 
 
 

回复

577

帖子

0

TA的资源

五彩晶圆(高级)

16
 
MARK
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

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-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表