简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
题记: 最近想研究一下驱动开发,找了一本电子版 的Oreilly.linux.device.drivers.3rd.edition.2005.CHM,第三版针对的内核是2.6的,可我虚拟机里面 的系统内核是2.4的,以前曾经升级过内核, 但是不知道什么原因,现在进不了2.6的内核了.所以下决心重头再来过一遍^_^. 关于内核升级的好文章网上数不胜数, 我写下这篇文章的目的一是为了和大家分
三 响应中断首先在分析源码之前,让我们了解一些原理性的东西, 我们都知道在处理中断要保存当前现场状态,然后才能处理中断,处理完之后还要把现场状态恢复过来才能返回到被中断的地方继续执行,这里要说明的是在指令跳转到中断向量的地方开始执行之前,CPU帮我们做了哪些事情: R14_irq = 要执行的下条指令地址 + 4 //这里的下条指令是相对于被中断指令的下条。即返回
Linux ifconfig使用及其配置文件
第十四章 Linux终端设备驱动本章导读在Linux系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈信息,Linux中包含控制台、串口和伪终端3类终端设备。 14.1节阐述了终端设备的概念及分类,14.2节给出了Linux终端设备驱动的框架结构,重点描述tty_driver结构体及其成员。14.3~14.5节在14.2节的基础上,分别给出了Linux终端设备驱动模块加载/卸载
Linux下USBsuspend/resume源码分析Author:aaron 本文主要从自己开发的一个USB驱动的例子来深入讲解linux内核是如何支持USB设备的休眠和唤醒的, 最近我在为我们公司的一个模块写linux下的驱动, 其中之一就是要支持USB的休眠唤醒问题, 实际上linux内核对USB的这个功能的支持还是比较新的, 也就是最近几年的事. 一 打开/关
linux内核中Kconfig文档的作用2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成
本文将详细讲述2.6.22下的一个USB设备插上linux系统的PC后是如何一步一步调到我们的usb设备驱动的probe函数的, 我们知道我们的USB驱动的probe函数中的一个参数是interface结构, 因此一般来说, 一个USB设备中的任何一个接口都应该有对应的一个驱动程序,当然也有例外(如cdc-acm). 我们知道USB设备都是通过插入上层HUB的一个Port来连入系统并进而被系
devfs、sysfs、udev介绍一、devfslinux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中两种。在2.6内核以前一直使用的是devfs,devfs挂载于/dev目录下,提供了一种类似于文件的方法来管理位于/dev目录下的所有设备,我们知道/dev目录下的每一个文件都对应的是一个设备,至于当前该设备存在与否先且不论,而且这些特殊文件是位于根文件系
接下来咱们该看看如何处理CSW了.1018行,usb_stor_bulk_transfer_buf()函数再一次被调用,这次是获得CSW,期望长度是US_BULK_CS_WRAP_LEN,这个宏来自drivers/usb/storage/transport.h中:109 #define US_BULK_CS_WRAP_LEN 1313对应CSW的长度,13个bytes.而cswle
一旦这种狼狈为奸的关系建立好了,就可以开始执行请求了.来看blk_execute_rq(),来自block/ll_rw_blk.c: 2605 /** 2606 * blk_execute_rq - insert a request into queue for execution 2607 * @q: queue to insert the re