如何在Linux开发工具中启动USB驱动程序
2015-03-29
展开全部
USB驱动程序支持在原生Linux提供了。
方法要求启用驱动,但是,取决于你所使用的分布和内核版本。
哪个发行版支持USBFS?
已知提供USBFS支持:
Ubuntu 9.04或以上,
Ubuntu 9.10的内核2.6.31-19服务器,
CentOS的4.8,
CentOS的5.4,
一般情况下,任何分布用内核版本<2.6.32
已知不提供USBFS支持:
Ubuntu 10.04,
一般情况下,任何分布用内核版本> = 2.6.32
方法1:USBFS支持
如果你的发行版提供了USBFS支持,那么下面的命令将工作:
mount -t usbfs none /proc/bus/usb -o devmode=0666
为了使这种更改永久,确保下面一行是在/ etc / fstab文件中:
none /proc/bus/usb usbfs defaults,devmode=0666 0 0
这将自动安装在系统启动。
一旦 /etc/fstab添加已经做完,一个简单的命令应该挂载USBFS文件系统:
mount /proc/bus/usb
无论是FTDI / XTAG和XTAG-2的调试适配器现在应该工作。
方法2:没有USBFS支持
为了确保在任何一个FTDI / XTAG或XTAG-2调试适配器插入时的权限是在设备上是正确的,您需要配置“udev”来识别这个设备。
创建一个文件“/etc/udev/rules.d/99-xmos.rules”,其内容如下:
SUBSYSTEM!="usb|usb_device", GOTO="xmos_rules_end"
ACTION!="add", GOTO="xmos_rules_end"
# 20b1:f7d1 for xmos xtag2
ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d1", MODE="0666", SYMLINK+="xtag2-%n"
# 20b1:f7d3 for xmos startkit
ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d3", MODE="0666", SYMLINK+="startkit-%n"
# 0403:6010 for XC-1 with FTDI dual-uart chip
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", SYMLINK+="xc1-%n"
LABEL="xmos_rules_end"
注意:本ATTRS,MODE和SYMLINK节必须全部在同一行,因为每个规则只能在一行上。
现在告诉udev进行重新加载,以确保文件添加新的规则:
service udev reload
还必须拔下并重新插上USB线,让udev的识别设备的新规则。或者触发重新插上的udev类型为“udevadm触发”或“udevtrigger”命令,取决于在你的Linux分布上udev的版本。
FTDI / XTAG其他注意事项
FTDI的库需要USB设备的文件都可以从/ proc /bus/ USB,不支持的/dev/bus/usb作为文件的位置。
但是,如果你的发行版不支持USBFS(以上方法1),但确实有一个的/proc/bus/usb空目录,你可以使用下面的绑定mount命令的解决方法:
mount --bind /dev/bus/usb /proc/bus/usb
如果你的发行版不支持USBFS,也没有一个的/proc/bus/usb目录(这是较新的内核的情况下,大约从2.6.32开始),然后联系XMOS的rthe设备库的非官方补丁的版本; 发送XMOS的支持标签,其中包括“Linux的FTDI库请求”的主题。
方法要求启用驱动,但是,取决于你所使用的分布和内核版本。
哪个发行版支持USBFS?
已知提供USBFS支持:
Ubuntu 9.04或以上,
Ubuntu 9.10的内核2.6.31-19服务器,
CentOS的4.8,
CentOS的5.4,
一般情况下,任何分布用内核版本<2.6.32
已知不提供USBFS支持:
Ubuntu 10.04,
一般情况下,任何分布用内核版本> = 2.6.32
方法1:USBFS支持
如果你的发行版提供了USBFS支持,那么下面的命令将工作:
mount -t usbfs none /proc/bus/usb -o devmode=0666
为了使这种更改永久,确保下面一行是在/ etc / fstab文件中:
none /proc/bus/usb usbfs defaults,devmode=0666 0 0
这将自动安装在系统启动。
一旦 /etc/fstab添加已经做完,一个简单的命令应该挂载USBFS文件系统:
mount /proc/bus/usb
无论是FTDI / XTAG和XTAG-2的调试适配器现在应该工作。
方法2:没有USBFS支持
为了确保在任何一个FTDI / XTAG或XTAG-2调试适配器插入时的权限是在设备上是正确的,您需要配置“udev”来识别这个设备。
创建一个文件“/etc/udev/rules.d/99-xmos.rules”,其内容如下:
SUBSYSTEM!="usb|usb_device", GOTO="xmos_rules_end"
ACTION!="add", GOTO="xmos_rules_end"
# 20b1:f7d1 for xmos xtag2
ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d1", MODE="0666", SYMLINK+="xtag2-%n"
# 20b1:f7d3 for xmos startkit
ATTRS{idVendor}=="20b1", ATTRS{idProduct}=="f7d3", MODE="0666", SYMLINK+="startkit-%n"
# 0403:6010 for XC-1 with FTDI dual-uart chip
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666", SYMLINK+="xc1-%n"
LABEL="xmos_rules_end"
注意:本ATTRS,MODE和SYMLINK节必须全部在同一行,因为每个规则只能在一行上。
现在告诉udev进行重新加载,以确保文件添加新的规则:
service udev reload
还必须拔下并重新插上USB线,让udev的识别设备的新规则。或者触发重新插上的udev类型为“udevadm触发”或“udevtrigger”命令,取决于在你的Linux分布上udev的版本。
FTDI / XTAG其他注意事项
FTDI的库需要USB设备的文件都可以从/ proc /bus/ USB,不支持的/dev/bus/usb作为文件的位置。
但是,如果你的发行版不支持USBFS(以上方法1),但确实有一个的/proc/bus/usb空目录,你可以使用下面的绑定mount命令的解决方法:
mount --bind /dev/bus/usb /proc/bus/usb
如果你的发行版不支持USBFS,也没有一个的/proc/bus/usb目录(这是较新的内核的情况下,大约从2.6.32开始),然后联系XMOS的rthe设备库的非官方补丁的版本; 发送XMOS的支持标签,其中包括“Linux的FTDI库请求”的主题。
浙江启扬智能科技有限公司
2019-05-20 广告
2019-05-20 广告
在8位或16位嵌入式系统应用中,由于CPU资源量比较少,任务比较简单,程序员可以在应用程序中管理CPU资源,而不一定要专门的系统软件。如果嵌入式系统比较复杂并且采用32位CPU时,情况就完全不同了。32位CPU的资源量非常大,除理能力也非常...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |