在 kernel中如何定时,变量 HZ 和 jiffies HZ 定义了时钟中断的频率,即每秒钟时钟中断的次数jiffies 记录了自启动后,时钟中断发生的次数 例如:unsigned long timeout = jiffies + (3*HZ) ; while (hwgroup->busy) { if (time_after(jiffies, timeout) ) {
linux等待队列使用步骤 linux等待队列使用步骤在Linux驱动程序中,可以使用等待队列(wait queue)来实现阻塞进程的唤醒。wait queue很早就作为一种基本的功能单位出现在Linux内核里了,它以队列位基础数据结构,与进程调度机制紧密结合,能够用于实现内核中异步事件通知机制。等待队列可以用来同步对系统资源的访问。(信号量在内核中也依赖等待队列来实现). Linux-2.6提供如
Linux内存管理之mmap详解 转自:http://blog.chinaunix.net/uid-26669729-id-3077015.html一. mmap系统调用1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。
INIT_WORK和INIT_DELAYED_WORK详解 朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其它系统产生相应的变化,由此引起连锁反应,最终导
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
pcie 驱动程序分析 PCIE 是外围设备互连(Peripheral Component Interconnect Express)的简称,作为一种通用的总线接口标准,在目前的计算机系统中得到了非常广泛的应用。PCIE 总线支持3个独立的物理地址空间:存储器空间,IO空间和配置空间。每个PCIE设备都有一个配置空间,配置空间采用Id寻址方法,用总线号,设备号,功能号和寄存器号来唯一标识一个配置空间。配置空间只能由hos
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
linux usb ehci 驱动解读(一) 一直都是使用Usb 驱动程序,从来没有好好研读过。之前项目中碰到usb相关的也是usb register配置一下就好了。至于Usb驱动如何工作,让我们慢慢来揭开它神秘的面纱。对usb ehci 驱动的基本框架理解得益与understanding linux usb ehci device driver。这里还是借用这张经典的usb驱动框图,明确下EHCI在整个USB驱动中所处的地位。
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
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
sed命令使用 sed --help用法: sed [选项]... {脚本(如果没有其他脚本)} [输入文件]... -n, --quiet, --silent 取消自动打印模式空间 -e 脚本, --expression=脚本 添加“脚本”到程序的运行列表 -f 脚本文件, --file=脚本文件
linux正则表达式的使用 在使用grep、awk和sed命令时,需要使用正则表达式。这里说下正则表达式基本的应用:• 匹配行首与行尾。• 匹配数据集。• 只匹配字母和数字。• 匹配一定范围内的字符串集。^只匹配行首$只匹配行尾*一个单字符后紧跟*,匹配0个或多个此单字符[]匹配[]内字符,可以是一
grep命令详解 原文地址:http://bbs.chinaunix.net/thread-1687220-1-1.html一、简介grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fi
GDB 命令详细解释【转】 http://blog.csdn.net.sixxs.org/wei801004/archive/2009/06/09/4253911.aspx GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。 和所有常用的调试工具一样
ffmpeg pcm码流编码为aac 根据雷霄骅博文介绍非常清楚 http://blog.csdn.net/leixiaohua1020/article/details/25430449 可是为什么我这么做了却出来奇怪的声音?经过仔细研究发现是我们使用的ffmpeg版本有了很大的变化造成,我使用的是ffmpeg-2.8.1,对音频编码处理已经有了很大的变化。查看aac编码AVCodec ff_aac_encoder =