Linux-2.6.32.2内核在mini2440上的移植(十)
Linux-2.6.32.2内核在mini2440上的移植(十)配置USB外设
移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)
1,主机环境:VMare下CentOS 5.5 ,1G内存。
2,集成开发环境:Elipse IDE
3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。
4,开发板:mini2440,2M nor flash,128M nand flash。
5,u-boot版本:u-boot-2009.08
6,linux 版本:linux-2.6.32.2
7,参考文章:
嵌入式linux应用开发完全手册,韦东山,编著。
Mini2440 之Linux 移植开发实战指南
【1】在内核中配置USB键盘和鼠标等hci设备驱动程序
Linux-2.6.32.2 内核对USB 外设的支持是相当丰富的,并且已经包含了S3C2440 的USBHost 驱动支持,因此我们只要配置一下内核就可以了,下面是各种USB 外设的内核配置。
在linux-2.6.32.2根目录下执行make menuconfig,然后确认如下选项被选中
Device Drivers >
[*] HID Devices >
USB Human Interface Device (full HID) support //支持usb键盘鼠标等hci设备
提示:这里的配置选项对应的内核源代码目录是:linux-2.6.32.2/drivers/hid/usbhid,其中USB 键盘和条码扫描器的原理是一样的,因此它们的代码是相同的。
[*] /dev/hiddev raw HID device support //以原始的raw方式访问HID设备。
以上信息被选中后可以在控制台看到如下启动信息
... ...
usbcore: registered new interface driver hiddevusbcore: registered new interface driver usbhidusbhid: v2.6:USB HID core driver
... ...
使用LCD和USB键盘作为终端
现在的内核已经支持LCD和USB键盘可以用它来作为控制台终端了,确保然按前篇文章Linux-2.6.32.2内核在mini2440上的移植(七)LCD驱动移植说过的在命令行增加“console=tty1”和修改inittab文件,当接上USB键盘和LCD后,可以在LCD上看到如下信息“Please press Enter to activate this console.”。
这里有一点要注意,点选择了使用USB键盘和LCD作为独立的输入输出设备之后,串口控制终端将不再起作用了,在开发调试阶段,还是不这样做为好。
【2】在内核中配置U盘驱动程序
因为优盘用到了 SCSI 命令,所以我们先增加SCSI 支持。
Device Drivers >
SCSI device support >
SCSI device support //要支持USB磁盘,此项要选中。
[*] legacy /proc/scsi/ support //在/proc/scsi目录下提供一些信息。
SCSI disk support //SCSI硬盘,要支持U盘,此项要选中。[*] USB support >
Support for Host-side USB //usb主机控制器
[*] USB device filesystem (DEPRECATED) //在/proc文件系统中提供一些调试信息
OHCI HCD support //OHCI主机控制驱动程序
USB Mass Storage support //USB存储设备
现在的U盘等移动存储器使用的大都是FAT/FAT32 格式的,因此我们还需要添加FAT32 文件系统的支持,在内核配置主菜单下依次选择如下菜单项:
File systems >
DOS/FAT/NT Filesystems >
MSDOS fs support //加FAT32 文件系统的支持
-*- Native language support > //以下为支持中英文的编码
Codepage 437 (United States, Canada)
Simplified Chinese charset (CP936, GB2312)
Traditional Chinese charset (Big5)
NLS ISO 8859-1 (Latin 1; Wes