全部博文(200)
发布时间:2013-01-07 14:28:52
arm电源管理(1)--apm.c R.wen由于arm系统中没有bios设备, 所以只能为arm系统创建一个虚拟的字符设备与用户空间进行通讯. 这就是/arch/arm/kernel/amp.c1. 工作原理: 这个apm中实现一个misc设备,实质上也是一个字符设备, misc设备的主设备号是10, 而apm_bios作为一个misc设备, 次设备号是134. 定义为:/** The apm_bios device is one of the misc char devices.* This is its minor number.*/#defi......【阅读全文】
发布时间: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: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。在底......【阅读全文】