USB主控制器引起的中断

时间:2017-04-12 17:15:37

标签: usb ubuntu-14.04 interrupt interrupt-handling

如果我使用具有中断端点(USB / KBD /触摸屏)的USB设备,则主机控制器通过轮询此端点从端点获取数据。 因此在Linux中,此管道称为URB(USB请求块)......此URB由主机控制器启动。 所以数据是由主机控制器收集的 - 现在,我失去了路径。 我认为数据被缓冲到ram,可能是由dma控制器(不确定)...并且主机控制器必须向中断控制器注册一个中断,以便Core可以处理最初来自USB设备的中断。 哪个驱动程序将中断注册到PIC?主机控制器轮询时存储的数据在哪里?

任何人都熟悉这个吗?

****我的规格:************* Jetson Tegra K1使用Ubuntu 14.04.4 TLS Egalax USB触摸屏 - USB隐藏设备

dmesg:输入:eGalax Inc. eGalaxTouch EXC3000-1470-46.00.00 as /devices/platform/tegra-ehci.2/usb2/2-1/2-1.2/2-1.2.3/2-1.2。 3:1.0 /输入/ INPUT8 [83.700372] hid-multitouch 0003:0EEF:C000.0007:输入:USB HID v2.10指针[eGalax Inc. eGalaxTouch EXC3000-1470-46.00.00] on usb-tegra-ehci.2-1.2.3 / input0 lsusb - v: 总线002设备012:ID 0eef:c000 D-WAV Scientific Co.,Ltd       bInterfaceClass 3人机接口设备       bInterfaceSubClass 1引导接口子类       bInterfaceProtocol 2鼠标       端点描述符:         bLength 7         bDescriptorType 5         bEndpointAddress 0x81 EP 1 IN         bmAttributes 3           传输类型中断           同步类型无           使用类型数据         wMaxPacketSize 0x0040 1x 64字节         bInterval

1 个答案:

答案 0 :(得分:0)

哪个驱动程序将中断注册到PIC?

  

tegra平台的EHCI驱动程序注册中断。只需在“drivers / usb / host”中引用文件ehci-tegra.c即可。您可以添加调试打印并重新编译tegra平台,这个文件将被构建。

主机控制器轮询时存储的数据在哪里?

  

数据绝对存储在RAM中。缓冲区地址实际上是由用户空间应用程序设置的。