一、开发环境
Linux | CentOS 6.4 |
ARM | Mirco2440 |
内核 | linux-2.6.32 |
交叉编译 | arm-linux-gcc 4.4.3 |
文件系统 | rootfs_qtopia_qt4 |
二、内核配置
Cd ~/linux-2.6.32.2Make menuconfig
配置:
Device Drivers=>
USB support=>
[*] Suppon for Host-side USB
[*] USB device filesystem
[*] USB device class-devices
[*] OHCI HCDsupport
[*] USB Mass Storage Support
USB Serial Convelter suppor -->
[*] USB driver for GSM and CDMA modems
SCSI device support=>
[*]SCSI device support
[*] SCSI disk support
[*] Probe all LUNs on each SCSI device
HDI Devices=>
[*] USB Human Interface Devices support
[*] /dev/hiddev raw HID device support
Network device support=>
<*> PPP(point—to—point protoco1)support
[*] PPP multilink support(EXPERIMENTAL)
<*> PPP support for async serial ports
<*> PPP suppo rt for sync tty ports
<*> PPP Deflate compression
<*> PPP BSD —Compress compression
<*> PPP MPPE compress compression(encryp—tion)
<*> PPP over Ethernet
<*> PPP over 12TP
三、修改相关内核驱动文件(此处使用的是华为EC189上网卡)
首先在将华为EC189上网卡插入开发板上支持usb host模式的usb口。
识别之后会在屏幕上打印出以下信息:
Bus 00x Device 00x: ID12d1:1446 HUAWEI。。。(类似这种,x为序号,不用管)
从上面我们可以看到ID号,这就是我们需要的信息。
再进入linux-2.6.32.2/drivers/usb/serial/option.c,将此设备增添上。#defineHUAWEI_PRODUCT_EC189 0x1446
staticstruct usb_device_id option_ids[]={
……
{USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID,0x1446,0xff,0xff,0xff)},
……};
修改完之后输入以下命令开始编译
#make zImage
编译结束后,会在 arch/arm/boot目录下生成 linux 内核映象文件:zImage
将其烧录到开发板中。
这里我用的是SuperVivi-USB-Transfer-Tool将内核烧录进去的。
先将Mirco2440设置成从NOR Flash启动,进入vivi选项界面,选择下载内核,再SuperVivi中选中zImage,就OK了。
接下来就是准备USB_modeswitch工具的移植了。。。