设备驱动程序是嵌入式操作系统的重要模块,也是难点之一,Linux设备驱动程序更以复杂和繁多而著名,本书的作者集多年授课和开发的经验,以简洁的语言和丰富的实例讲述了这一技术,深入浅出,值得一读。
本书系统讲述了Linux内核驱动的支撑技术,涉及内核编程方式、内核模块、设备文件系统、同步互斥机制等。本书针对具体硬件的真实外设,结合实际外设的硬件逻辑,讲解了常见类型驱动程序的编写方法和实现细节。
如果说硬件是系统的躯体,软件是系统的灵魂,驱动就是连接躯体和灵魂的纽带,是系统运转的枢纽。本书旨在引导读者,消除读者对驱动开发的神秘感,同时也指出了老手常见的盲点与误区。更难得的是,本书通过大量开发实例生动、系统地讲解了Linux设备驱动开发的方方面面。
本书是一本介绍Linux设备驱动开发理论、框架与实例的书,本书基于LDD6410开发板,以Linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论;字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。
本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大Linux开发人员、嵌入式工程师参考使用。
第1篇 Linux设备驱动入门
第1章 Linux设备驱动概述及开发环境构建
第2章 驱动设计的硬件基础
第3章 Linux内核及内核编程
第2篇 Linux设备驱动核心理论
第4章 Linux内核模块
第5章 Linux文件系统与设备文件系统
第6章 字符设备驱动
第7章 Linux设备驱动中的并发控制
第8章 Linux设备驱动中的阻塞与非阻塞I/O
第9章 Linux设备驱动中的异步通知与异步I/O
第10章 中断与时钟
第11章 内存与I/O访问
第12章 工程中的Linux设备驱动
第3篇 Linux设备驱动实例
第13章 Linux块设备驱动
第14章 Linux终端设备驱动
第15章 Linux的I2C核心、总线与设备驱动
第16章 Linux网络设备驱动
第17章 Linux音频设备驱动
第18章 LCD设备驱动
第19章 Flash设备驱动
第20章 USB主机与设备驱动
第21章 PCI设备驱动
第4篇 Linux设备驱动调试、移植
第22章 Linux设备驱动的调试
第23章 Linux设备驱动的移植
参考文献