Linux驱动程序开发是当前一个非常热门的领域,大多数基于Linux操作系统的嵌入式系统都需要编写驱动程序。随着嵌入式系统的广泛应用,出现了越来越多的硬件产品,必须有人不断地编写驱动使设备在Linux操作系统上工作。但是,Linux驱动程序开发相对较难,高水平的开发人员也比较少,所以导致驱动程序跟不上硬件发展的问题。基于这个原因,笔者编写了这本书,希望借助本书能使驱动程序的开发更容易被开发人员所理解,从而迅速、高效地开发出相关的驱动程序来。
本书是获得了大量读者好评的“Linux典藏大系”中的《Linux驱动开发入门与实战》的第2版。在第1版的基础上,本书进行了全新改版,升级了Linux系统的编程环境,也升级了Linux的内核版本,并对书中的一些疏漏进行了修订,也对书中的一些实例和代码进行了重新表述,使得更加易读。相信读者可以在本书的引领下跨入Linux驱动开发大门,并成为一名驱动程序开发高手。
关于“Linux典藏大系”
“Linux典藏大系”是清华大学出版社自2010年1月以来陆续推出的一个图书系列,截止2012年,已经出版了10余个品种。该系列图书涵盖了Linux技术的方方面面,可以满足各个层次和各个领域的读者学习Linux技术的需求。该系列图书自出版以来获得了广大读者的好评,已经成为了Linux图书市场上最耀眼的明星品牌之一。其销量在同类图书中也名列前茅,其中一些图书还获得了“51CTO读书频道”颁发的“最受读者喜爱的原创IT技术图书奖”。该系列图书出版过程中也得到了国内Linux领域最知名的技术社区ChinaUnix(简称CU)的大力支持和帮助,读者在CU社区中就图书的内容与活跃在CU社区中的Linux技术爱好者进行广泛交流,取得了良好的学习效果。
关于本书第2版
本书第1版出版后深受读者好评,并被ChinaUNIX技术社区所推荐。但是随着Linux技术的发展,本书第1版的内容与Linux各个新版本有一定出入,这给读者的学习造成了一些不便。应广大读者的要求,我们结合Linux技术的最新发展推出第2版图书。相比第1版,第2版图书在内容上的变化主要体现在以下几个方面:
(1)Linux系统由Fedora 9升级为Fedora 18。
(2)Linux内核版本由Linux 2.6.29升级为Linux 2.6.34。
(3)更新Linux驱动最新的开发接口。
(4)对最新的嵌入式处理器接口进行了介绍,更新了驱动程序的写法。
(5)优化了驱动程序的代码,让代码更易懂。
(6)对一些难懂的概念列举了例子,使读者更容易理解。
(7)对第1版中没讲到的复杂算法进行了讲解。
(8)修订了第1版中的一些疏漏,并将一些表达不准确的地方表述得更加准确。
本书特色
1.最新内核,了解最新开发技术
本书基于Linux 2.6.34内核,这是目前较新的一个内核。该内核包含了大多数常用的驱动程序,便于学习和移植。
2.内容全面、系统、深入
本书介绍了Linux驱动开发的基础知识、核心技术和一些驱动程序开发实例。内容的安排上力求全面、系统。在实例的选择上力求深入。
3.讲解由浅入深、循序渐进,适合各个层次的读者阅读
本书从Linux驱动程序开发的基础开始讲解,逐步深入到Linux驱动的高级开发技术及应用,内容安排从易到难,讲解由浅入深、循序渐进,适合各个层次的读者阅读。
4.贯穿大量的开发实例和技巧,迅速提升开发水平
本书在讲解知识点时穿插了大量驱动程序的典型实例,并给出了大量的开发技巧,以便让读者更好地理解各种概念和开发技术,体验实际编程,迅速提高开发水平。
5.从工程应用出发,具有很强的实用性
本书详细介绍了多个驱动开发实例。通过这些应用实例,可以提高读者的驱动开发水平,从而具备独立进行驱动程序开发的能力。
本书内容及知识体系
第1篇 Linux驱动开发基础(第1~6章)
本篇主要内容包括:Linux驱动开发概述、嵌入式处理器和开发板简介、构建嵌入式驱动程序开发环境、构建嵌入式Linux操作系统、构建第一个驱动程序、简单的字符设备驱动程序。通过对本篇内容的学习,读者可以掌握Linux驱动开发的基本概念和基本环境。
第2篇 Linux驱动开发核心技术(第7~10章)
本篇主要内容包括:设备驱动中的并发控制、设备驱动中的阻塞和同步机制、中断与时钟机制、内外存访问等内容。通过本篇的学习,读者可以掌握Linux驱动开发的基础知识和核心技术。
第3篇 Linux驱动开发应用实战(第11~19章)
本篇主要内容包括:设备驱动模型、RTC实时时钟驱动程序、看门狗驱动程序、IIC设备驱动程序、LCD设备驱动程序、触摸屏设备驱动程序、输入子系统设计、块设备驱动程序、USB设备驱动程序等。通过对本篇内容的学习,读者可以掌握编写各种设备驱动程序的方法。
本书读者对象
* Linux内核爱好者;
* 想学习Linux驱动开发的入门人员;
* Linux驱动程序专业开发人员;
* 嵌入式工程师;
* 大中专院校的学生;
* 社会培训班的学员;
* 需要了解驱动程序开发的技术人员。
本书作者
本书由郑强主笔编写。其他参与编写的人员有陈杰、陈贞、樊俊、高彩丽、高莹婷、管磊、郭丽、韩亚、李红、李龙海、梁伟、刘忆智、曲宝军、孙忠贤、唐正兵、王全政、王勇浩、武文琛、徐学英、闫伍平、于轶、占海明、张帆。
您在阅读本书的过程中若碰到什么问题,请通过以下方式联系我们,我们会及时地答复您。
论坛网址:http://www.wanjuanchina.net
编者