阅读:3833回复:32
一次DeviceIoControl与内核的通讯花费2ms左右的时间
请教高手们:
我编写的usb驱动程序速度很慢(500hz),应用层一次DeviceIoControl与内核的通讯花费2ms左右的时间,我用ds、ddk编写的驱动速度都是一样的,太慢了!你们的速度是多少呀? 不尽感激!!! |
|
最新喜欢:![]()
|
沙发#
发布于:2003-05-20 14:37
我的好像比你的快不了多少,我用的是buffered方式,我正在做direct方式,也许这样能快一些。
|
|
板凳#
发布于:2003-05-20 14:38
这与你 DeviceIoControl 中完成的功能有关
|
|
|
地板#
发布于:2003-05-20 14:53
deviceIOControl 差不多就在这样的速度
关键是你的Reafile/WriteFile()的速度要高 |
|
地下室#
发布于:2003-05-20 15:36
jinghuiren direct方式一样,别试了!!!其实,他与buffer 的通讯方式的快慢程度差不多,解决不了问题!比起500hz的速度,小菜一碟!
|
|
|
5楼#
发布于:2003-05-20 15:43
swf2003 您说的功能我不太清楚,您能说具体点吗?好像即使从内核传个常数,也不过1-2K、2―3K的样子!我去年做pci驱动时做过测试,记得是这样!
|
|
|
6楼#
发布于:2003-05-20 15:48
Snailpipi 您好,Reafile/WriteFile()?我没用过,请指教!我一直用deviceIOControl, Reafile/WriteFile()与内核通讯速度是多少? 谢谢!lq519@263.net
|
|
|
7楼#
发布于:2003-05-20 18:14
内存映射吧,这样应该很快,不要考来考去
|
|
|
8楼#
发布于:2003-05-20 22:57
是吗,那我到可以考虑用readfile和writefile试试了,现在的速度虽然能满足我们的要求,但是觉得有点太慢了,才3M字节左右。
|
|
9楼#
发布于:2003-05-21 10:03
我的测试,平均40k/s
|
|
|
10楼#
发布于:2003-05-21 11:03
kilroy_guo,您好?“内存映射“没用过,这样应用层与内核的通讯会达到多快呀!
|
|
|
11楼#
发布于:2003-05-21 11:13
jinghuiren,您好:您的速度好像比我的快不了多少?“3M字节左右”您是怎么实现的呀?批量传输吗?固件是怎么往内核送数的呢,几个端点呀?
|
|
|
12楼#
发布于:2003-05-21 11:22
drivermaster,您好:“平均40k/s“是应用层与内核的通讯速度吗?太快了!您是如何实现的呢?谢谢!
|
|
|
13楼#
发布于:2003-05-21 11:51
从硬件――固件――内核――应用层,犹如是在接力!其实速度问题(和稳定性相比)也是一个很实际的问题,usb速度的计算到底是怎样算得呢?
固件:中断、等时传输好算,批量传输速度到底是如何计算的呢?1ms的帧中批量传输最多能占多少字节呢?这些字节(〉64 byte)能是同一端点的吗?“u盘,移动硬盘也应该是bulk模式,它们的速率可以达到6,7Mbps”,是如何组织下面端点向1ms的帧中放数的呢? 内核:通过usbd.sys访问usb总线,一次读(批量传输)一个端点,只能最多64byte吧!??? 应用层:他与内核的通讯速度到底有多快呢? 我对一些概念,不是很清楚,望各位大虾,能指点一下,在下不胜感激!!!我想其他人也会由类似的问题,高手们不妨在这里讨论一下这个“USB 的接力过程???” |
|
|
14楼#
发布于:2003-05-21 12:18
jinghuiren,您好:您的速度好像比我的快不了多少?“3M字节左右”您是怎么实现的呀?批量传输吗?固件是怎么往内核送数的呢,几个端点呀? 我用了一个in一个out端点,都是双缓冲,我的是2.0的芯片,这个速度已经很慢了! |
|
15楼#
发布于:2003-05-21 12:39
我用了一个in一个out端点,都是双缓冲,我的是2.0的芯片,这个速度已经很慢了! [/quote]
难怪? |
|
|
16楼#
发布于:2003-05-22 10:16
如果是USB1。1能到600kb/s就很不错了!
|
|
17楼#
发布于:2003-05-22 10:41
如果是USB1。1能到600kb/s就很不错了! NewTech 您好:我用的是usb1.1,您指的是批量传输的速度吗? 600kb/s如何解释呢? 如何组织下面端点向1ms的帧中放数的呢? 谢谢!!! |
|
|
18楼#
发布于:2003-05-26 12:33
??????????????
大虾们: 我的问题好像没解决。有没有人能明白的阐述一下以上的问题呢? 另一个问题:usb1.1,bulk传输,1ms帧,一个端点一次传输64字节,在1ms的帧中,一个端点只能放一次数吗?如果不只一次,一个端点的bulk传输,如何往总线上放数呢? |
|
|
19楼#
发布于:2003-05-27 10:10
usb的传输是基于1ms的帧的,bulk传输是如何往usb总线上放数的呢?
|
|
|
上一页
下一页