看这本《LINUX内核源代码情景分析》,上面讲USB很全
怎么写USB设备驱动程序?
1. 分配/设置usb_driver结构体
.id_table
.probe
.disconnect
2. 注册
测试1th/2th:
1. make menuconfig去掉原来的USB鼠标驱动
-> Device Drivers
-> HID Devices
<> USB Human Interface Device (full HID) support
- make uImage 并使用新的内核启动
cp arch/arm/boot/uImage /work/nfs_root/uImage_nohid
make 生成.ko文件
cp usbmouse_as_key.ko /work/nfs_root/first_fs
进入uboot
nfs 30000000 192.168.31.105:/work/nfs_root/uImage_nohid
bootm 30000000
挂接网络根文件系统
mount -t nfs -o nolock,vers=2 192.168.31.105:/work/nfs_root/first_fs /mnt
3. insmod usbmouse_as_key.ko
4. 在开发板上接入、拔出USB鼠标