spi驱动,Linux驱动修炼之道-SPI驱动框架源码分析(上)

努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处 http://blog.csdn.net/woshixingaaa/archive/2011/06/29/6574215.aspx SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备 有独立的片选... [阅读全文]

vc编译驱动:Linux操作系统驱动编译和运行

、手工加载测试 1、insmod ./key_test.ko 加载驱动模块到内核 2、cat /proc/modules |grep key_test 查看key_test模块在内核中地址不加过滤器可以看到全部加载模块 3、lsmod 显示模块这时可以看到所有模块名字后面跟是主设备号和次设备号 4、rmmod key_test 把模块从内核里卸载 2、动态加载 1、把key_test.c源代码... [阅读全文]

黑客方向盘驱动:黑客进阶的Linux设备驱动编程中断处理

和Linux设备驱动中中断处理相关首先是申请和释放IRQAPI request_irq和free_irqrequest_irq原型为: request_irq(unsigned irq, void (*handler)( irq, void *dev_id, struct pt_regs *regs... [阅读全文]

linux驱动开发:Linux驱动的开发1【转载】

=tf width="98%" align=center border=0=bw width="100%"=htd id=font_word style="FONT-SIZE: 14px; FONT-FAMILY: 宋体, Verdana, Arial, Helvetica, sans-ser"作需要写了我们公司块网卡Linux驱动经历个从无到有过程深感技术 oqLfbaiducukL7KoqLf... [阅读全文]

linux驱动:深入浅出Linux设备驱动之并发控制

在驱动中当多个线程同时访问相同资源时(驱动中全局变量是种典型共享资源)可能会引发"竞态"因此我们必须对共享资源进行并发控制Linux内核中解决并发控制最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)JHjfbaiducuk75QJHjfbaiducuk75Q  自旋锁与信号量"类似而不类"类似说是它们功能上相似性"不类"指代它们在本质和实现机理上完全不样不属于类JHjfbaiducuk75... [阅读全文]

linux驱动:Linux驱动入门

内核版本: 2.4.226jefbaiducukori阅读此文目: 学会编写Linux设备驱动6jefbaiducukori阅读此文方法: 阅读以下2个文件: hello.c,asdf.c6jefbaiducukori此文假设读者:6jefbaiducukori已经能用C语言编写Linux应用,6jefbaiducukori理解"设备文件, 块设备文件, 主设备号, 次设备号",6jefbaidu... [阅读全文]

黑客攻防实战进阶:黑客进阶之Linux设备驱动...

黑客进阶之Linux设备驱动编程 与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API request_irq()和free_irq(),request_irq()的原型为: int request_irq(unsigned int irq, void (*handler)(int irq, void *dev_id, struct pt_re... [阅读全文]

i2clinux:Linux的操作系统I2C驱动架构解说

1.LinuxI2C驱动架Linux中I2C总线驱动分为两个部分总线驱动(BUS)和设备驱动(DEVICE)其中总线驱动职责是为系统中每个I2C总线增加相应读写思路方法但是总线驱动本身并不会进行任何通讯它只是存在在那里等待设备驱动其设备驱动则是和挂在I2C总线上具体设备通讯驱动通过I2C总线驱动提供设备驱动可以忽略区别总线控制器差异不考虑其实现细节地和硬件设备通... [阅读全文]

linux驱动:深入浅出 Linux设备驱动中断处理介绍

和Linux设备驱动中中断处理相关首先是申请和释放IRQAPI: request_irq和free_irq request_irq原型为: request_irq(unsigned irq,void (*handler)( irq, void *dev_id, struct pt_regs *regs),unsigned long irqflags,co... [阅读全文]

linux驱动:深入浅出 Linux设备驱动异步通知介绍

结合阻塞和非阻塞访问、poll可以较好地解决设备读写但是如果有了异步通知就更方便了异步通知意思是:旦设备就绪则主动通知应用这样应用根本就不需要查询设备状态这点非常类似于硬件上"中断"地概念比较准确称谓是"信号驱动(SIGIO)异步I/O" 我们先来看个使用信号驱动例子它通过signal(SIGIO, input_handler)对STDIN_FILENO启动信号... [阅读全文]

linux硬件驱动:介绍Linux操作系统下的USB硬件设备驱动

USB 是英文"Universal Serial Bus"缩写意为"通用串行总线"是由Compaq(康柏)、DEC、IBM、Intel、NEC、微软以及Northern Telecom(北方电讯)等公司于1994年11月共同提出主要目就是为了解决接口标准太多弊端USB使用个4针插头作为标准插头并通过这个标准接头采用菊花瓣形式把所有外设连接起来它采用串行方式传输数... [阅读全文]

linuxusb驱动:Linux环境下USB的原理、驱动和配置

随着生活水平提高人们对USB设备使用也越来越多鉴于Linux在硬件配置上尚不能全部即插即用因此有关Linux如何配置和使用成为困扰我们大问题 什么是USB? USB是英文Universal Serial Bus缩写意为通用串行总线USB最初是为了替代许多区别低速总线(包括并行、串行和键盘连接)而设计它以单类型总线连接各种区别类型设备USB发展已经超越了这些低速... [阅读全文]

linux驱动:Linux驱动开发学习的一些必要步骤

1. 学会写简单makefile 2. 编应用可以用makefile跑起来 3. 学会写驱动makefile 4. 写简单char驱动makefile编译通过可以insmod lsmod rmmod. 在驱动init里打印hello world insmod后应该能够通过dmesg看到输出 5. 写完整驱动 加上read writ... [阅读全文]

napibjd:NAPI技术在Linux网络驱动上的应用(一)

  NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以 POLL 的方法来轮询数据,类似于底半方式(bottom-half 的处理模式);但是目前在 Linux 的 NAPI 工作效率比较差,本文在分析 NAPI 的同时,提供了一种高效的改善方式供大家参考。     前言:   NAPI 是 Linux 上采用的一种提高网络处理效率的技... [阅读全文]

napibjd:NAPI技术在Linux网络驱动上的应用(二)

  如何在8139CP使用NAPI:   从 POLL 方法的本质意义上来说就在于尽量减少中断的数目,特别在于大量的小长度的数据包的时候,减少中断,以达到不要让整个操作系统花费太多的时间在中断现场的保护和恢复上,以便把赢得的时间用来在我网络层上的处理数据的传输,例如在下面介绍的 8139CP 中断的处理过程中,目的就在于尽快把产生中断的设备挂在 poll_list,并且关闭接收中断,最后直接调用设... [阅读全文]

napibjd:NAPI技术在Linux网络驱动上的应用(三)

  能让接收速度更快一些吗?   我们现在来思考一下如何提高 NAPI 效率的问题,在说到效率这个问题之前我们先看一下在 的文档中 NAPI_HOWTO.txt 中提供一个模型用来构造自己 NIC 的 POLL 方法,不过和 8139 有一些不一样,其中 NIC 设备描述中有一个 dirty_rx 字段是在 8139CP 中没有使用到的。     dirty_rx 就是已经开辟了 sk_buff ... [阅读全文]
1 共1条 分1页