簡體   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