2014-01-20 93 views
2

我想要的USB转串口驱动程序添加到我的Arch Linux的臂设备,我注意到内核源代码树已经包含了FTDI驱动程序的源文件,位于:FTDI编译内核模块

drivers/usb/serial,存在ftdi_sio.c和ftdi_sio.h文件。

当我导航到内核/驱动程序时,我无法在任何地方找到ftdi_sio.ko模块。

如何构建ftdi内核模块并将其引入启动,以便我可以在我的arch linux arm上使用usb串行端口功能?

+0

参考这个http://stackoverflow.com/questions/21237632/cross-compile-ftdi-vcp-driver-for-embedded-linux-arm –

+0

'ftdi_sio.ko'找不到,因为它被编译为Linux内核的一部分。即Linux的静态模块部分。 – Jeyaram

回答

3

我想你你的手臂设备上有内核源代码树(从你的发行版包管理器),你不交叉编译:

make menuconfig 

导航到:设备驱动程序 - > USB支持 - > USB串口转换器支持

,并选择“M'odule为USB FTDI Single Port Serial Driver

退出,保存更改并

make M=drivers/usb/serial/ 
make modules_install 
+0

谢谢,这些步骤的工作。如果我现在想使用包含的驱动程序从uImage启动,我将如何继续执行此操作?我会在make modules_install之后运行make uImage吗?我试图做到这一点,并没有奏效。 – user3215598

+0

基本上,'make modules_install'应该做必要的事情。它应该将生成的.ko拷贝到/ lib/modules/kernel-version /和runnig'depmod'中,所以如果你使用与当前正在运行的内核相同的源代码进行编译,那没关系。 – Mali

+0

我实际上是交叉编译,所以我做的是:make ARCH = arm menuconfig,选择'M'odule for USB FTDI,make M = drivers/usb/serial ARCH = arm CROSS_COMPILE =/home/z3/bin/arm-,然后:INSTALL_MOD_PATH = 使ARCH = arm CROSS_COMPILE =/home/z3/bin/arm modules_install。我现在要做的就是再次从uImage进行u-boot吗? (不需要重新编译和构建新的uImage?) – user3215598

1

编辑的.config:

make ARCH=arm menuconfig 

制作和安装模块:make modulesmake modules_install

不要忘记:insmod usbserial.koinsmod ftdi_sio.ko如果你需要,并depmod -a让他们重新打开电源后加载。