主机如何将数据传送到USB设备,主机发送到USB设备的数据被USB总线驱动程序写道何处,固件程序在那里取主机送来的数据?
回复(9) 2003-12-29 20:57 来自版块 - USB驱动开发
表情
flycat0101因为我只熟悉linux的架构,所以对你所说的在windows下是否是这样,不敢肯定。下面也就针对linux而言 管道(PIPE)包括endpoint、usb设备地址、传输方向(IN or OUT)、传输速率(低速、全速)传输类型(Control、Bulk...)。 一般而言,...(2003-12-31 11:03)
fwzfwz1flycat0101 : 我有下面的一些理解,不知对不对: 首先要定义一个管道,管道包含端口地址信息和用户缓冲区对应的系统缓冲区(也可能系统缓冲区不在管道中) 其次,定义一个URB,这个URB中包含管道信息和用户缓冲区的地址和长度信息。 最后,将这个URB通过管道发送到U...(2003-12-30 22:01)
flycat0101那么如何获得usb设备的地址呢? 这个是由系统host端确定的,如果是作usb驱动程序和usb设备固件,不用考虑这个(2003-12-30 21:16)
fwzfwz1那么如何获得usb设备的地址呢?(2003-12-30 18:08)
flycat0101管道是在驱动程序中建立的巴,如何建立一个管道呢? 如何将一个管道和一个端口关联起来? 是不是一个端口对应一个地址,端口对应的地址是不是主机分配给usb设备的地址,这个地址又是如何获得呢? 对于通信时的管道,只是一个逻辑上的概念,在实际的实现时是通过设置一些数据结构的成员来...(2003-12-30 12:24)
fwzfwz1管道是在驱动程序中建立的巴,如何建立一个管道呢? 如何将一个管道和一个端口关联起来? 是不是一个端口对应一个地址,端口对应的地址是不是主机分配给usb设备的地址,这个地址又是如何获得呢?(2003-12-30 11:38)
flycat0101主机发送数据时,数据要存放在一个连续的物理地址中。发送时要建立ED队列,队列中的每一个ED又是一个TD队列的头。ED队列头的物理地址是要写入usb host的寄存器中的,而其头、尾是指向第一个TD和最后一个TD的物理地址;而TD中包含有指向数据区的物理地址(起始地址和结束地址),...(2003-12-30 11:31)
fwzfwz1主机是不是通过写管道来向usb设备写数据?那么如何定义一个管道?(2003-12-30 11:09)
fwzfwz1usb设备不占用主机地址空间,那么主机向usb设备写数据时,写向何处? usb设备将通过端口FIFO可以读来自主机的数据或向主机写数据; 而我的主机的应用程序及驱动程序如何将缓冲区的数据写到指定的端口,即驱动程序如何和端口或管道建立联系。如何保证我的数据是发向端口1而不是端口...(2003-12-29 21:24)

返回顶部