USB核功能:实现USB协议的功能
选择我们开发板的系统
[*] System support
ARM system type (Samsung S5PC100)
<1> Mass storage:是USB协议中的一部分, 是大容量存储器或者海量存储器的意思。我们的U盘就是利用的这个协议开发和制作的。
如何配置内核使其支持Mass storage
开发板支持读U盘的实验
1、首先配置其支持设备的热插拔
General setup-->
[*]Configure standard kernel features(for small systems)-->
[*]Support for hot-pluggable devices
2、U盘默认是一个SCSI的设备,这个我们也要选上
Device Drivers-->
<*>SCSI device support
<*>SCSI disk support
<*>SCSI generic support
3、选择USB的支持
Device Drivers-->
USB support-->
<*>Support for Host-side USB
[*]USB device filesystem
<*>OHCI HCD<主控制器驱动> support
<*>USB Mass Storage support
[*]USB Monitor
4、文件系统的支持<因为我们的U盘可能是采用Windows的格式化支持,所以我们要配置>
File systems-->
DOS/FAT/NT Filesystems-->
<*>MSDOS fs support
<*>VFAT (Windows-95)fs support
(936)Default codepage for FAT
(cp936)Default iocharset for FAT
Pattion Types-->
[*]PC BIOS (MSDOS partition tables)support
Native Language Support-->
<*>Simplified Chinese charset(CP936,GB2312)
<*>NLS UTF8
5、重新编译内核,烧写内核,开机启动,插入U盘看效果
最后一行显示的是U盘的名字,假设名字是uba
6、mount /dev/uba /mnt/
7、umount /mnt/
8、拔掉U盘后也可以看到打印的信息
<2> USB HID:
是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘、鼠标与游戏杆等。
不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。
配置内核使其支持HID
1、Device Drivers-->
主控制器Host驱动
[*] USB support-->
<*> OHCI HCD support <开发板是主控制器,我们的开发板上面没有USB2.0的控制芯片>
<*> Support for Host-side USB
Hub驱动
[*] HID Devices-->
<*> USB Human Interface Device (full HID) support
2、编译内核
3、在开发板上面插上鼠标 ls /dev/mouse1 cat /dev/mouse1 移动鼠标查看数据
<3> RNDIS :是一种基于热插拔的接口标准,Remote Network Driver Interface Specification,
既是RemoteNDIS,既是远程网络驱动接口规范。基于USB实现RNDIS实际上就是TCP/IP over USB,
就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。
将开发板制作成一个从机,下面选择的是设备控制器的驱动,我们将我们的开发板模拟成一个网卡
1、Device Drivers-->
[*] USB support-->
<*> USB Gadget Support-->
USB Peripheral Controller ((默认的配置))
2、选择Gadget驱动
<*>USB Gadget Support-->
USB Gadget Drivers
Ethernet Gadget (with CDC Ethernet support)
3、编译内核
4、将内核拷进tftp服务器,将drivers/usb/gadget/g_ether.ko拷进根文件系统的里面
5、将模块安装上去
<4> CDC/ACM:将我们的USB模拟成一个串口
1、Device Drivers-->
[*] USB support-->
<*> USB Modem (CDC ACM) support
2、选择Gadget驱动
[*] USB support-->
<*>USB Gadget Support-->
USB Gadget Drivers
去掉上面的网卡的配置
Serial Gadget (with CDC ACM and CDC OBEX support)
3、编译内核
4、将内核拷进tftp服务器,将drivers/usb/gadget/g_serial.ko拷进根文件系统的里面
5、将模块安装上去
6、ls /dev/ttyGS0新产生的设备文件
阅读(2017) | 评论(0) | 转发(0) |