详解嵌入式Linux的USB驱动设计
1.3.4 设备注销
skel_disconnect()函数在注销设备时被调用,定义如下:
2 USB串口驱动
2. 1 驱动初始化函数
usb_serial_init()函数是一个典型的USB设备驱动初始化函数,定义如下:
函数首先调用alloc_tty_driver()函数分配一个串口驱动描述符;然后设置串口驱动的属性,包括驱动的主从设备号、设备类型、串口初始化参数等;串口驱动描述符设置完毕后,调用usb_register()函数注册USB串口设备。
2. 2 驱动释放函数
2.3 串口操作函数
USB串口设备驱动使用了一个tty_operations类型的结构,该结构包含了串口的所有操作,定义如下:
按上述的步骤和方法通过lnsmod命令成功实现了USB驱动程序的加载,成功的通过USB串口进行了数据的读写。
3 结论
新出的Linux2.6内核加入了对USB2.0的支持,重新定义了usb_class_driver结构体。同时对探测函数probe和usb_submit_urb做了修改,包含了advanced linux sound Archiecture可以更安全的使用USB设备。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论