Linux驱动开发入门与实战(第2版)(Linux典藏大系)
定 价:69 元
丛书名:Linux典藏大系
- 作者:郑强 等编著
- 出版时间:2014/2/1
- ISBN:9787302337768
- 出 版 社:清华大学出版社
- 中图法分类:TP316.89
- 页码:435
- 纸张:胶版纸
- 版次:2
- 开本:16开
-
商品库位:
《Linux典藏大系:Linux驱动开发入门与实战(第2版)》是获得了大量读者好评的“Linux典藏大系”中的《Linux驱动开发入门与实战》的第2版。本.书由浅入深,全面、系统地介绍了Linux驱动开发技术,并提供了大量实例供读者实战演练。另外,作者在实例讲解中详细分析了各种重要的理论知识,让读者能够举一反三。
《Linux典藏大系:Linux驱动开发入门与实战(第2版)》共分3篇。第1篇介绍了Linux驱动开发概述、嵌入式处理器和开发板简介、构建嵌入式驱动程序开发环境、构建嵌入式Linux操作系统、构建第一个驱动程序、简单的字符设备驱动程序等内容;第2篇介绍了设备驱动中的并发控制、设备驱动中的阻塞和同步机制、中断与时钟机制、内外存访问等内容;第3篇介绍了设备驱动模型、RTC实时时钟驱动程序、看门狗驱动程序、IIC设备驱动程序、LCD设备驱动程序、触摸屏设备驱动程序、输入子系统设计、块设备驱动程序、USB设备驱动程序等内容。
《Linux典藏大系:Linux驱动开发入门与实战(第2版)》重点突出,涉及面广,实用性强,从基本知识到核心原理,再到实例开发,几乎涉及Linux驱动开发的所有重要知识。《Linux典藏大系:Linux驱动开发入门与实战(第2版)》适合所有想学习Linux驱动开发的入门人员阅读,也适合作为驱动工程师的参考书,对于Linux驱动开发的专业开发人员也有很高的参考价值。
Linux驱动发精品图书全面升级,China Unix社区鼎力推荐,由浅入深、全面、系统地介绍Linux驱动开发的基础与核心技术,注重实战,重点阐述8种典型的Linux设备驱动程序的开发方法。 内容新颖:基于当前最流行的Linux 2.6.34内核,讲解最新的驱动开发 内容全面:涵盖Linux驱动开发的基础知识、核心技术与典型应用 讲解详细:结合典型开发实例与案例讲解各知识点,并力求详尽和透彻 注重实战:介绍了看门狗、LCD、触摸屏等8种典型设备的驱动开发方法 技巧性强:讲解时融入了作者多年的项目开发经验和实战技巧
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
编者
郑强,毕业于西南大学,获硕士学位。长期从事嵌入式系统开发和设计。现任职于某公司的项目主管,先后开发过十几个大中型项目,涉及GPS定位系统、刷卡系统、指纹识别和手机等产品。工作之余,热心于Flash游戏引擎开发和2D游戏开发。
第1篇 Linux驱动开发基础
第1章 Linux驱动开发概述
1.1 Linux设备驱动的基本概念
1.1.1 设备驱动程序概述
1.1.2 设备驱动程序的作用
1.1.3 设备驱动的分类
1.2 Linux操作系统与驱动的关系
1.3 Linux驱动程序开发
1.3.1 用户态和内核态
1.3.2 模块机制
1.3.3 编写设备驱动程序需要了解的知识
1.4 编写设备驱动程序的注意事项
1.4.1 应用程序开发与驱动程序开发的差异
1.4.2 GUNC开发驱动程序
1.4.3 不能使用C库开发驱动程序 第1篇 Linux驱动开发基础
第1章 Linux驱动开发概述
1.1 Linux设备驱动的基本概念
1.1.1 设备驱动程序概述
1.1.2 设备驱动程序的作用
1.1.3 设备驱动的分类
1.2 Linux操作系统与驱动的关系
1.3 Linux驱动程序开发
1.3.1 用户态和内核态
1.3.2 模块机制
1.3.3 编写设备驱动程序需要了解的知识
1.4 编写设备驱动程序的注意事项
1.4.1 应用程序开发与驱动程序开发的差异
1.4.2 GUNC开发驱动程序
1.4.3 不能使用C库开发驱动程序
1.4.4 没有内存保护机制
1.4.5 小内核栈
1.4.6 重视可移植性
1.5 Linux驱动的发展趋势
1.5.1 Linux驱动的发展
1.5.2 驱动的应用
1.5.3 相关学习资源
1.6 小结
第2章 嵌入式处理器和开发板简介
2.1 处理器的选择
2.1.1 处理器简述
2.1.2 处理器的种类
2.2 ARM处理器
2.2.1 ARM处理器简介
2.2.2 ARM处理器系列
2.2.3 ARM处理器的应用
2.2.4 ARM处理器的选型
2.2.5 ARM处理器选型举例
2.3 S3C2440开发板
2.3.1 S3C2440开发板简介
2.3.2 S3C2440开发板的特性
2.3.3 其他开发板
2.4 小结
第3章 构建嵌入式驱动程序开发环境
3.1 虚拟机和Linux安装
3.1.1 在Windows上安装虚拟机
3.1.2 在虚拟机上安装Linux
3.1.3 设置共享目录
3.2 代码阅读工具SourceInsight
3.2.1 Sourcelnsight简介
3.2.2 阅读源代码
3.3 小结
第4章 构建嵌入式Linux操作系统
4.1 Linux操作系统的介绍
4.1.1 Linux操作系统
4.1.2 Linux操作系统的优点
4.2 Linux内核子系统
4.2.1 进程管理
4.2.2 内存管理
4.2.3 文件系统
4.2.4 设备管理
4.2.5 网络功能
4.3 Linux源代码结构分析
4.3.1 arch目录
4.3.2 drivers目录
4.3.3 fs目录
4.3.4 其他目录
4.4 内核配置选项
4.4.1 配置编译过程
4.4.2 常规配置
4.4.3 模块配置
4.4.4 块设备层配置
4.4.5 CPU类型和特性配置
4.4.6 电源管理配置
4.4.7 总线配置
4.4.8 网络配置
……
第2篇 Linux驱动开发核心技术
第3篇 Linux驱动开发实用实战