全部博文(200)
发布时间:2013-01-07 14:23:52
Linux USB Gadget软件结构一文中分析Linux USB Gadget软件分为三层。这三层其中两层是与硬件无关的,分别是Gadget功能驱动层,USB设备层。一层是与硬件相关的是UDC层。每一层都提供一种关键的数据结构与函数与其他层交互。 Gadget功能驱动层: 最主要的结构是struct usb_composite_driver,这个结构在这层定义,并且实现结构中的各个函数。 USB设备层: 最......【阅读全文】
发布时间:2013-01-07 14:23:41
前面介绍了Linux USB Gadget的软件结构与各软件层的整合过程。经过各种注册函数,Gadget功能驱动层,USB设备层与UDC底层结合在了一起形成了一个完整的USB设备。而这个设备已经准备好了接受主机的枚举。在介绍USB设备枚举之前。先熟悉一下各层通信所用的数据结构,在USB主机端编写USB设备驱动程序,最重要的结构就是URB了,我们只需要将各种URB提交给USB核心,核心就会自动给我们的数据发送到指定的设备。而对于设备端也有这样一个类似的重要的数据结构。这个数据结构就是urt--usb_request。每一个端点都有一个urt链表,上面挂着各种urt。在底......【阅读全文】
发布时间:2013-01-07 14:23:27
USB Gadget驱动又称USB器件驱动。主要用于运行linux的嵌入式系统中,使得系统拥有普通USB设备的功能。mini2440具有USB1.1设备控制器,所以可以使用USB Gadget功能。但是linux2.6.32.2内核对于mini2440的支持不是很完全。开启USB Gadget功能之后,不能使得主机发现USB硬件。这个问题主要是USB接口的上拉电阻的问题,mini2440使用GPC5来上拉USB,使得主机集线器发现有USB设备链接从而枚举设备。但是在linux2.6.32.2内核中,没有设置GPC5的代码。所以导致不能使用Gadget功能。解决办法网上也有一些,就......【阅读全文】
发布时间:2013-01-07 14:23:14
S3C2440 USB 设备控制器 s3c2440 soc集成了一个usb1.1设备控制器,可以进行全速/低速的控制,中断与批量传输。除了端点0,具有四个端点,每个端点都可以作为中断与批量的端点,每个端点具有128 byte的FIFO,所以端点最大packet可以设置成128byte。并且支持DMA传输。任何一种设备控制器对于软件来说都是一组寄存器:数据,状态,控制。usb 设备控制器也不例外。设置好相应的控制寄存器,并且在数据来时读取数据寄存器,需要发送数据的时候将数据写入输出寄存器。而这种数据的通信建立在对状态寄存器的读取上,往往还会有......【阅读全文】
发布时间:2013-01-07 14:23:02
串口本身,标准和硬件什么是串行通信什么是RS-232信号定义异步通讯什么是全双工和半双工什么是流控制什么是BREAK同步通讯用户看到的串口和用户空间的串口编程串口的设备文件打开串口打开文件的选项给端口上写数据从端口上读取数据关闭串口配置串口POSIX终端接口控制选项设置波特率设置字符大小设置奇偶校验设置硬件流控制本地设置选择经典输入选择原始输入输入选项设置输入奇偶校验选项设置软件流控制输出选项选择加工过的输出选择原始输出控制字符设置软件流控制字符设置读取超时调制解调器通讯什么是调制解调器与调制解调器通讯标准调制解调器命令高级串口编程串口的ioctl取得控制信号设置控制信号英文原文串口本身,标准......【阅读全文】