LINUX下USB驱动移植
仇洁婷,陈儒军
在Linux2.6内核中有支持USB读写的驱动程序,需要选上相应的配置即可。
1、让内核支持热插拔
General setup --->
Support for hot-pluggable devices
2、USB驱动设置
Device Drivers --->
Generic Driver Options --->
<*> Hotplug firmware loading support
Block devices --->
<*> Low Performance USB Block driver
SCSI device support --->
<*> SCSI generic support
Probe all LUNs on each SCSI device
USB support --->
<*> Support for Host-side USB
USB device filesystem---->
<*> OHCI HCD support
<*> USB Mass Storage support
3、加入了MSDOS fs和VFAT fs的支持。
File systems --->
DOS/FAT/NT Filesystems --->
<*> MSDOS fs support
<*> VFAT (Windows-95) fs support
(437) Default codepage for FAT
(iso8859-1) Default iocharset for FAT
<*> NTFS file system support
[*] NTFS debugging support
[*] NTFS write support
4、加入分区支持
File systems --->
Partition Types --->
Advance Partition Selection
由于本系统采用的是PQFP封装AT91RM9200,该芯片只有一个usb主端口,而usb从端口是不能用。在Linux2-.6.21启动时会有以下错误提示:
new low speed USB device using at91_ohci and address 2
修改方法:
在/linux/arch/arm/mach-at91/board-dk.c文件,将usb ports值改为1,则显示有一个usb端口。
static struct at91_usbh_data __initdata dk_usbh_data = {
.ports =1, // 2,
};
最后是重新生成uImage,烧写内核。
挂载USB命令,将USB目录挂载到/mnt/usb:
mount -t vfat -o /dev/uba1 /mnt/usb
卸载usb命令:
umount /mnt/usb
https://blog.sciencenet.cn/blog-39626-332587.html
上一篇:
SPI串行外围设备驱动移植下一篇:
嵌入式微处理器在电磁法勘探仪器中的应用