全部博文(200)
发布时间:2013-01-07 14:28:37
arm电源管理(3)--s3c2410 pm.c R.wen再看看(2)中的enter_state():/*** enter_state - Do common work of entering low-power state.* @state: pm_state structure for state we're entering.** Make sure we're the only ones tryin......【阅读全文】
发布时间: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的虚拟内存将会* 对......【阅读全文】
发布时间: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 ......【阅读全文】
发布时间: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。在底......【阅读全文】