资料介绍
这是一本介绍Linux设备驱动开发理论、框架与实例的书,Linux设备驱动开发详解基于LDD6410开发板,以Linux2.6 版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论;字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。
第1篇
Linux设备驱动入门
第1章 Linux设备驱动概述及开发环境构建 2
第2章 驱动设计的硬件基础 21
第3章 Linux内核及内核编程 53
第2篇
Linux设备驱动核心理论
第4章 Linux内核模块 82
第5章 Linux文件系统与设备文件系统 92
第6章 字符设备驱动 118
第7章 Linux设备驱动中的并发控制 139
第8章 Linux设备驱动中的阻塞与非阻塞I/O 161
第9章 Linux设备驱动中的异步通知与异步I/O 176
第10章 中断与时钟 193
第11章 内存与I/O访问 213
第12章 工程中的Linux设备驱动 242
第3篇
Linux设备驱动实例
第13章 Linux块设备驱动 272
第14章 Linux终端设备驱动 304
第15章 Linux的I2C核心、总线与设备驱动 333
第16章 Linux网络设备驱动 363
第17章 Linux音频设备驱动 388
第18章 LCD设备驱动 440
第19章 Flash设备驱动 479
第20章 USB主机与设备驱动 507
第21章 PCI设备驱动 547
第4篇
Linux设备驱动调试、移植
第22章 Linux设备驱动的调试 564
第23章 Linux设备驱动的移植 602
参考文献 631
任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件较固定,软件则很灵活,可以适应各种复杂多变的应用。可以说,计算机系统的软硬件互相成就了对方。但是,软硬件之间同样存在着悖论,那就是软件和硬件不应该互相渗透到对方的领地。
为了尽可能快速地完成设计,应用软件工程师不想也不必关心硬件,而硬件工程师也难有足够的闲暇和能力来顾及软件。例如,应用软件工程师在调用套接字发送和接收数据包的时候,他不必关心网卡上的中断、寄存器、存储空间、I/O 端口、片选以及其他任何硬件词汇;在使用 printf()函数输出信息的时候,他不用知道底层究竟是怎样把相应的信息输出到屏幕或串口。也就是说,应用软件工程师需要看到一个没有硬件的纯粹的软件世界,硬件必须被透明地呈现给他们。谁来实现硬件对应用软件工程师的隐形?这个艰巨的任务就落在了驱动工程师的头上。对设备驱动最通俗的解释就是“驱使硬件设备行动”。
设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询、中断处理、 DMA 通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录文件和数据。由此可见,设备驱动充当了硬件和应用软件之间的纽带,它使得应用软件只需要调用系统软件的应用编程接口(API)就可让硬件去完成要求的工作。在系统中没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口,如对串口定义 SerialSend()、SerialRecv();对 LED 定义 LightOn()、LightOff();以及对 Flash 定义 FlashWrite()、FlashRead()等。而在有操作系统的情况下,设备驱动的架构则由相应的操作系统定义,驱动工程师必须按照相应的架构设计设备驱动,这样,设备驱动才能良好地整合到操作系统的内核中。驱动程序沟通着硬件和应用软件,而驱动工程师则沟通着硬件工程师和应用软件工程师。随着通信、电子行业的迅速发展,全世界每天都会有大量的新芯片被生产,大量的新电路板被设计,因此,也会有大量设备驱动需要开发。这些设备驱动,或运行在简单的单任务环境中,或运行在 VxWorks、Linux、Windows 等多任务操作系统环境中,发挥着不可替代的作用。
- 图解数字磁带录音机的PDF电子书免费下载 99次下载
- 现代无线电实验的PDF电子书免费下载 250次下载
- 半导体收音机浅谈的PDF电子书免费下载 162次下载
- 光学谐振腔的图解分析与设计方法的PDF电子书免费下载 123次下载
- 无线电全息摄影的PDF电子书免费下载 52次下载
- MATLAB函数速查手册PDF电子书免费下载 148次下载
- 电子管数据手册合集PDF电子书免费下载 72次下载
- 51单片机100实例源码的注释详细PDF电子书免费下载 213次下载
- Java基础教程PDF电子书免费下载 66次下载
- Linux设备驱动开发详解PDF电子书免费下载的 31次下载
- 基于最新的Linux 4.0内核Linux设备驱动开发详解Linux设备驱动开发详解PDF电子书免费下载 242次下载
- 电冰箱快速维修PDF电子书免费下载 43次下载
- 家电维修1128例PDF电子书免费下载 186次下载
- 数字信号处理算法C语言实现PDF版电子书免费下载 0次下载
- 实用Linux教程电子书 0次下载
- Linux 驱动开发与应用开发,你知道多少? 119次阅读
- 一文总结linux的platform驱动 783次阅读
- 电子书阅读器内置锂电池供电自动切换电路 1600次阅读
- 如何写一个Linux设备驱动程序 4314次阅读
- Linux设备驱动开发的基本知识 4260次阅读
- Linux驱动到底能不能在应用层开发驱动 6029次阅读
- 米尔科技Linux设备驱动研究浅谈 1913次阅读
- 米尔科技LINUX设备驱动程序教程 1965次阅读
- 基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用 1138次阅读
- 基于嵌入式Linux内核的系统设备驱动程序开发设计 1113次阅读
- 基于Linux2.6.30开发DS18B20的驱动程序的类型和文件操作接口函数详解 1377次阅读
- 驱动是如何工作的_Linux设备驱动的固件加载详解 6142次阅读
- 想要驾驭Linux驱动开发,必须深刻理解Linux总线设备驱动框架 1w次阅读
- 嵌入式Linux驱动开发基础总结(上篇) 8416次阅读
- 最新电子书拆解评测系列报道(一):打开你的眼界 1.2w次阅读
下载排行
本周
- 1TPS54202H降压转换器评估模块用户指南
- 1.02MB | 7次下载 | 免费
- 2华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 1次下载 | 3 积分
- 3SMD LED选型目录 灯珠手册
- 5.36 MB | 1次下载 | 免费
- 4Tiva C系列DK-TM4C129X入门指南
- 1.69MB | 1次下载 | 免费
- 5电涌保护器(SPD)的选择、安装以及装配
- 4.57 MB | 1次下载 | 免费
- 6时源芯微EMC前车灯案例
- 458.59 KB | 1次下载 | 免费
- 7bq25890、bq25892双级联充电器EVM(PWR692)用户指南
- 2.02MB | 1次下载 | 免费
- 8TPS54426降压转换器评估模块用户指南
- 847.7KB | 次下载 | 免费
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 156次下载 | 免费
- 22024PMIC市场洞察
- 2.23 MB | 63次下载 | 免费
- 3开关电源设计原理手册
- 1.83 MB | 30次下载 | 免费
- 4智能门锁原理图
- 0.39 MB | 28次下载 | 免费
- 5OAH0428最新规格书(中文)
- 2.52 MB | 15次下载 | 7 积分
- 6ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 9次下载 | 1 积分
- 7LTH7充电电路和锂电池升压5V输出电路原理图
- 0.04 MB | 7次下载 | 免费
- 8TPS54202H降压转换器评估模块用户指南
- 1.02MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183334次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多