Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384870
  • 博文数量: 200
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-07 12:12
文章分类

全部博文(200)

文章存档

2015年(2)

2013年(198)

发布时间:2013-01-07 14:28:24

这里提到的DMA设备是非PCI设备在framebuffer的prob函数中,用到了这样一个函数,下面分析下它的作用/**    s3c_fb_map_video_memory():*   分配DRAM的缓存区给frame buffer。*   这个缓存区是一个non-cached,non-buffered的。*   这片内存区域允许调色板和像素在写入时不刷新cache缓存。*   一旦这片区域重新映射,那么所有用来访问video memory的虚拟内存将会*   对......【阅读全文】

阅读(817) | 评论(0) | 转发(0)

发布时间:2013-01-07 14:24:04

 USB Gadget是分层的软件结构,本文分析的是2.6.32.2版本的Gadget软件结构,这个软件结构与以前版本的变化很大。USB Gadget软件结构总共分为三层:一. UDC层        这一层是与硬件相关层。相关文件s3c2410_udc.c s3c2410_udc.h。s3c2410设备控制器作为一个linux设备在这一层是作为platform设备而注册到linux设备模型中的。相关数据结构以及相关函数如下:1 数据结构[cpp] view plaincopystruct s3c2410_udc ......【阅读全文】

阅读(1035) | 评论(0) | 转发(0)

发布时间:2013-01-07 14:23:52

       Linux USB Gadget软件结构一文中分析Linux USB Gadget软件分为三层。这三层其中两层是与硬件无关的,分别是Gadget功能驱动层,USB设备层。一层是与硬件相关的是UDC层。每一层都提供一种关键的数据结构与函数与其他层交互。        Gadget功能驱动层:  最主要的结构是struct usb_composite_driver,这个结构在这层定义,并且实现结构中的各个函数。        USB设备层:  最......【阅读全文】

阅读(922) | 评论(0) | 转发(0)

发布时间:2013-01-07 14:23:41

   前面介绍了Linux USB Gadget的软件结构与各软件层的整合过程。经过各种注册函数,Gadget功能驱动层,USB设备层与UDC底层结合在了一起形成了一个完整的USB设备。而这个设备已经准备好了接受主机的枚举。在介绍USB设备枚举之前。先熟悉一下各层通信所用的数据结构,在USB主机端编写USB设备驱动程序,最重要的结构就是URB了,我们只需要将各种URB提交给USB核心,核心就会自动给我们的数据发送到指定的设备。而对于设备端也有这样一个类似的重要的数据结构。这个数据结构就是urt--usb_request。每一个端点都有一个urt链表,上面挂着各种urt。在底......【阅读全文】

阅读(775) | 评论(0) | 转发(0)

发布时间: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功能。解决办法网上也有一些,就......【阅读全文】

阅读(826) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册