2014-01-20 271 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讓他們重新打開電源後加載。