繁体   English   中英

用于SAM7串行的嵌入式Linux USB驱动程序

[英]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转换器。 插入时,您的电路板应与线路相关。

现在,根据您的系统,您可能需要使用usbserialftdi_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM