交叉编译用于嵌入式linux arm的FTDI VCP驱动程序

时间:2014-01-20 15:19:35

标签: linux linux-kernel cross-compiling kernel-module ftdi

我正在尝试为我的嵌入式arch linux arm机器交叉编译FTDI VCP驱动程序。我将源文件从http://www.ftdichip.com/Drivers/VCP.htm下载到我运行内核的主机上:

2.6.32-54泛型-PAE

运行Makefile时,我收到与内核头相关的错误,即:找不到asm / thread_info.h文件。我意识到这意味着我的asm符号链接被破坏了,所以我尝试将它链接到

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

但该目录的内容也不包括thread_info.h,我正试图找到它。

有没有人使用Ubuntu作为主机来编译用于嵌入式arch linux arm的FTDI VCP驱动程序并且可以指向正确的方向?我是新手来构建内核模块和交叉编译,我们将不胜感激。

如果有人需要更多信息,我会非常乐意添加它。

3 个答案:

答案 0 :(得分:2)

基本上你需要在主机x86机器上交叉编译内核。

首先检查源代码是否已配置并构建,如果是这样。

make ARCH=arm menuconfig

出现

窗口ll并在驱动程序中启用ftdi。

如果源代码是干净的。

然后你需要将/proc/config.gz文件从目标机器复制到主机并解压缩它。

复制到源顶级文件夹,如`cp config .config'

make ARCH=arm menuconfig

启用您的驱动程序 在此make ARCH=arm CROSS_COMPILE=<your tool chain> zImage

之后

例如make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- zImage

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

例如make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules

答案 1 :(得分:2)

FTDI“VCP”驱动程序已经成为Linux内核的一部分了。除了内核本身之外,您不需要下载任何内容。只要您可以交叉编译内核,就可以了。

答案 2 :(得分:2)

制作ARCH = arm menuconfig

制作并安装模块:制作模块并制作modules_install

不要忘记:insmod usbserial.ko和insmod ftdi_sio.ko如果需要,并且depmod -a让它们在重新上电后加载。

不要忘记包含交叉编译链。