ARM开发板上交叉编译usb转串口驱动

问题


这两天为了做gps和arm的通讯,不得不捣鼓这个东东。开发板是创维特jx2410,usb转串口线的芯片是pl2303。还好是这个芯片,让我没费多少力气,就达成了目的。因为linux对它已经支持了,我们只要编译、加载它的驱动就ok了。

驱动源码


一般来说USB转串口的驱动已经集成在内核中,我们无需下载,只需要在编译时进行一些配置即可.
因此在编译之前我们需要确认自己的内核中有没有USB转串口的驱动.
usb转串口的驱动位于内核源码根目录下/drivers/usb/serial

ARM开发板上交叉编译usb转串口驱动_第1张图片
主要的源码包括usb-serial.c, option.c
针对不同的芯片还有cp210x.cpl2303.c
例如在我们本例中使用的就是pl2303

内核配置


使用make menuconfig进行配置

主要配置信息如下

usb support

USB Serial Converter Surpport相关的选项。

USB Serial Converter Surpport这个配置成M

然后usb generic serial driver选中,
usb prolific 2303 single port serial driver配成M。

具体配置如下图所示
首先打开menuconfig,进入Device Drivers驱动配置页面
ARM开发板上交叉编译usb转串口驱动_第2张图片
进入usb support USB驱动配置页面主要配置信息如下
usb support
ARM开发板上交叉编译usb转串口驱动_第3张图片

选择USB Serial Converter Surpport相关的选项。
ARM开发板上交叉编译usb转串口驱动_第4张图片

ARM开发板上交叉编译usb转串口驱动_第5张图片

选中USB Serial Converter Surpport
usb generic serial driver
ARM开发板上交叉编译usb转串口驱动_第6张图片

最后选择对应的芯片,注意这里选择为M,将驱动编译成模块,动态加载

编译内核和驱动模块

make zImage
ARM开发板上交叉编译usb转串口驱动_第7张图片
make modules
ARM开发板上交叉编译usb转串口驱动_第8张图片

加载驱动


最后在源码目录下pl2303.ko 就是我们需要的驱动,在板子上直接insmod即可

ARM开发板上交叉编译usb转串口驱动_第9张图片

你可能感兴趣的:(┈┈【C,/,C++发现】)