共 11 篇文章 |
|
tengel,我是这样加的again:static int s3c2410_udc_read_fifo(struct s3c2410_ep *ep, struct s3c2410_request *req) {u8 *buf;u32 ep_csr;unsigned bufferspace;int is_last = 1;unsigned avail;int fifo_count = 0;u32 idx;int fifo_reg;int again_num = 0;struct timeval time;fifo_reg = S3C2410_UDC_EP0_FIFO_REG;udc_write(ep_csr &... 阅2 转自Vin的藏書... 公众公开 17-05-18 14:03 |
当USB设备连接到主机后,Windows的设备管理器(图1)会进行快速检查,看设备枚举是否有问题。主机对USB设备枚举成功后,应用软件可以按预定用途对设备进行测试,Windows设备驱动程序可通过组合API函数如ReadFile()、WriteFile()或DeviceIoControl()等使应用软件访问USB设备。认证测试USB应用者论坛和微软公司可为USB设备和主机软件开发人员提供测... 阅3 转自lchjczw 公众公开 17-05-18 13:55 |
二、描述符。在描述符中可能包含有对字符串描述符的引用来描述这个描述符,若设备不支持字符串描述符,则其他描述符中字符串描述符引用域必须存储,但需要设置为0来描述没有可用字符串描述符。当一个配置支持一个或多个接口时,接口描述将作为配置描述符的一部分返回,端点描述符将紧跟着接口描述符返回。字符串描述符是可选的,但若设备不支持... 阅40 转0 评0 公众公开 16-06-17 19:26 |
USB设备驱动开发-USB协议相关(2)在USB设备的功能可用之前必须被配置,主机首先获取设备的配置信息了解设备的功能进而进行配置。为了支持通用性驱动程序,设备描述符和接口描述符中都包含Class、SubClass和Protocol域,来标示USB设备提供的功能和利用这些功能主机和设备的通信协议。在设备标准请求中,若没有数据阶段,则设备必须在50ms内完成请... 阅51 转0 评0 公众公开 16-06-17 19:25 |
USB设备驱动开发-USB协议相关(1)但近年来随着嵌入式设备的广泛使用,运行Linux系统嵌入式设备也需要通过USB协议与主机端通信,因此从设备端的Linux也需要进行USB设备驱动程序开发,为了避免和主机端的USB设备驱动开发混淆,就将运行Linux的从设备驱动开发成为USB gadget driver,进入与device driver区分开。usb function:USB功能层,调用下层... 阅55 转0 评0 公众公开 16-06-17 19:25 |
USB设备驱动程序-USB Gadget Driver(4) Gadget 功能层 Gadget功能层完成USB设备的具体功能,其表现的形式各不相同,如键盘、鼠标、存储和网卡等等。struct usb_gadget *gadget = cdev->gadget;loop->in_ep = usb_ep_autoconfig(cdev->gadget, &fs_loop_source_desc);loop->out_ep = usb_ep_autoconfig(cdev->gadget, &f... 阅1633 转2 评0 公众公开 16-06-17 19:19 |
USB设备驱动开发-USB Gadget Driver(1)一、Linux USB Gadget Driver功能 为了与主机端驱动设备的USB Device Driver概念进行区别,将在外围器件中运行的驱动程序称为USB Gadget Driver。int (*enable) (struct usb_ep *ep, const struct usb_endpoint_descriptor *desc);void (*free_request) (struct usb_ep *ep, struct usb_request *... 阅227 转1 评0 公众公开 16-06-17 19:18 |