![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 驱动
文章平均质量分 77
星光sky
这个作者很懒,什么都没留下…
展开
-
linux等待队列使用步骤
linux等待队列使用步骤在Linux驱动程序中,可以使用等待队列(wait queue)来实现阻塞进程的唤醒。wait queue很早就作为一种基本的功能单位出现在Linux内核里了,它以队列位基础数据结构,与进程调度机制紧密结合,能够用于实现内核中异步事件通知机制。等待队列可以用来同步对系统资源的访问。(信号量在内核中也依赖等待队列来实现). Linux-2.6提供如转载 2016-11-04 09:21:08 · 635 阅读 · 0 评论 -
GFP_ATOMIC or GFP_KERNEL 区别
本文转载至:http://lists.metaprl.org/pipermail/cs134-labs/2002-October/000025.htmlThe short (or kinda long) answer is this:GFP_ATOMIC means roughly "make the allocation operation atomic". Thismean转载 2016-09-21 22:18:45 · 3750 阅读 · 0 评论 -
INIT_WORK和INIT_DELAYED_WORK详解
朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其它系统产生相应的变化,由此引起连锁反应,最终导转载 2016-09-27 16:34:13 · 474 阅读 · 0 评论 -
PCIe配置空间和PCI设备中的寄存器
1、访问PCI配置空间,PCI基本配置空间的读写使用下列函数: 原型定义在int pci_read_config_byte(struct pci_dev *pdev, int where, u8 *val);int pci_read_config_word(struct pci_dev *pdev, int where, u8 *val);int pci_read_config_d转载 2016-09-23 15:24:54 · 13520 阅读 · 1 评论 -
pcie 驱动程序分析
PCIE 是外围设备互连(Peripheral Component Interconnect Express)的简称,作为一种通用的总线接口标准,在目前的计算机系统中得到了非常广泛的应用。PCIE 总线支持3个独立的物理地址空间:存储器空间,IO空间和配置空间。每个PCIE设备都有一个配置空间,配置空间采用Id寻址方法,用总线号,设备号,功能号和寄存器号来唯一标识一个配置空间。配置空间只能由hos原创 2016-09-23 10:56:55 · 16519 阅读 · 0 评论 -
understanding linux usb ehci device driver(1)
转自: http://www.diybl.com/course/6_system/linux/Linuxjs/2007917/71729.html 大概一年多前,曾经在linux下调试过VIA的一款ehci host controller,当时受项目进度以及知识积累所限,未能深入理解EHCI以及linux下的软件层面实现. 随着个人USB技术的不断积累, 近期在工作之余, 写了一些对EHC转载 2016-09-18 14:50:05 · 940 阅读 · 0 评论 -
understanding linux usb ehci device driver(2)
understanding linux usb ehci device driver(2)lm_tom@163.com 2. linux ehci device driver(ehci hcd)2.1. linux usb subsystem arch overview(host)2.2. ehci_hcd2.3. ehci 实现的接口2.3.1. ehci_pci_set转载 2016-09-18 14:51:49 · 1061 阅读 · 0 评论 -
linux usb ehci 驱动解读(一)
一直都是使用Usb 驱动程序,从来没有好好研读过。之前项目中碰到usb相关的也是usb register配置一下就好了。至于Usb驱动如何工作,让我们慢慢来揭开它神秘的面纱。对usb ehci 驱动的基本框架理解得益与understanding linux usb ehci device driver。这里还是借用这张经典的usb驱动框图,明确下EHCI在整个USB驱动中所处的地位。原创 2016-09-18 16:49:34 · 14533 阅读 · 0 评论 -
在 kernel中如何定时,变量 HZ 和 jiffies
HZ 定义了时钟中断的频率,即每秒钟时钟中断的次数jiffies 记录了自启动后,时钟中断发生的次数 例如:unsigned long timeout = jiffies + (3*HZ) ; while (hwgroup->busy) { if (time_after(jiffies, timeout) ) {转载 2016-11-04 09:28:31 · 847 阅读 · 0 评论