[英]Embedded Linux USB driver for SAM7 serial
我有一台使用在Linux下运行的Atmel处理器的设备。 我想使用AT91SAM7处理器将远程设备连接到此设备。 将此远程设备配置为通过USB执行伪串行,在Windows下可以正常工作,并显示为“ AT91 USB到串行转换器(COM3)”。
在Linux下,设备显示在/ dev中,如下所示:
crw-rw---- 1 root root 253, 7 Aug 30 10:52 /dev/usbdev2.2_ep00
crw-rw---- 1 root root 253, 5 Aug 30 10:52 /dev/usbdev2.2_ep01
crw-rw---- 1 root root 253, 6 Aug 30 10:52 /dev/usbdev2.2_ep82
crw-rw---- 1 root root 253, 4 Aug 30 10:52 /dev/usbdev2.2_ep83
为了与设备通信,我该怎么做? 一些驱动程序绑定到内核? 还是存在可加载的驱动程序(.ko)?
根据您所写的内容,带有AT91SAM7处理器的嵌入式板已正确配置,因为当您将其连接到Windows主机时它可以工作。
如果它在Linux下不起作用,则可能是由于它无法识别vendorid:productid值。
在linux主机上,检查lsusb
的输出:
ottavio@ottavio:~$ lsusb
Bus 004 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
ottavio@ottavio:~$
在这种情况下,我的计算机上装有USB <-> RS232转换器。 插入时,您的电路板应与线路相关。
现在,根据您的系统,您可能需要使用usbserial
或ftdi_sio
。 因此,请先尝试加载usbserial
modprobe usbserial vendor=0x067b product=0x2303
如果这不起作用,请尝试加载ftdi_sio
modprobe ftdi_sio vendor=0x067b product=0x2303
请注意,如果模块已经加载,则需要对其进行rmmod
。 最后,在我的示例中,vendrid为0x067b,乘积为0x2303,您将需要使用正确的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.