2014-01-20 112 views
3

我正在嘗試爲我的嵌入式Linux linux arm機器交叉編譯FTDI VCP驅動程序。我從http://www.ftdichip.com/Drivers/VCP.htm源文件下載到我的主機,其運行的內核:交叉編譯用於嵌入式linux arm的FTDI VCP驅動程序

2.6.32-54-仿製PAE

當運行Makefile中,我得到內核頭文件相關的錯誤,即:ASM /找不到thread_info.h文件。我知道這意味着我的ASM符號鏈接壞了,所以我試圖將其鏈接到

Linux的頭-2.6.32-54 /包括/ ASM-通用

但目錄的內容不包括thread_info.h要麼,我試圖找到。

有沒有人交叉編譯的FTDI VCP驅動程序的嵌入式拱門Linux臂使用Ubuntu作爲他們的主機,可以指向我在正確的方向嗎?我是新來建立內核模塊和交叉編譯和任何幫助,將不勝感激。

如果有人需要更多信息,我會很樂意添加它。

+0

你的目標內核版本是什麼?如果它也是2.6。32,那麼FTDI驅動程序已經存在,如果它未被激活,它必須通過'make menuconfig'激活。 – yegorich

+0

我的內核版本是2.6.32。我知道它已經存在並在我的Ubuntu(主機)機器上激活,但我需要交叉編譯驅動程序,以將usb添加到我的嵌入式Linux機器(我正在交叉編譯的目標)的串行端口功能。 – user3215598

+0

我可以使用make menuconfig在我的嵌入式linux arm上激活它嗎?我用dmesg搜索已安裝的FTDI模塊,但沒有一個存在。 – user3215598

回答

2

使ARCH =手臂menuconfig的

製作和安裝模塊:make模塊,使modules_install

不要忘記:insmod的usbserial.ko和insmod的ftdi_sio.ko如果你需要,和depmod -a讓它們在電源循環後加載。

不要忘記包含交叉編譯鏈。

2

基本上你需要在宿主x86機器上交叉編譯內核。

首先檢查源代碼是否已經配置並構建,如果是的話。

make ARCH=arm menuconfig

窗口會出現在驅動程序啓用FTDI。

如果源代碼是乾淨的。

然後你需要將/proc/config.gz文件從目標機器複製到主機並解壓。

副本源頂層文件夾,比如`CP配置的.config」

make ARCH=arm menuconfig

,使你的驅動 在此之後make ARCH=arm CROSS_COMPILE=<your tool chain> zImage

e.g make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- zImage

make ARCH=arm CROSS_COMPILE=<your tool chain> modules

e.g make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules

2

FTDI「VCP」驅動程序現在已經成爲Linux內核的一部分。除了內核本身,你不需要下載任何東西。只要你可以交叉編譯你的內核,你就全部設置好了。