Linux设备驱动开发详解(09年度畅销榜TOP50)(08年度畅销榜TOP50)
基本信息
- 作者: 宋宝华
- 丛书名: 华清远见嵌入式培训中心教材
- 出版社:人民邮电出版社
- ISBN:9787115172396
- 上架时间:2008-1-25
- 出版日期:2008 年2月
- 开本:16开
- 页码:686
- 版次:1-1
- 所属分类:
计算机 > 操作系统 > Linux
编辑推荐
上架首月即进入china-pub畅销榜TOP10
业界权威机构和专家强力推荐.
多年培训、研发经验的总结..
华清远见嵌入式培训中心培训教材...
本书作者2008.06.07与您面对面交流,详情请查看
内容简介回到顶部↑
本书是一本介绍linux设备驱动开发理论、框架与实例的书,本书以linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和i/o映射以及异步通知、阻塞i/o、非阻塞i/o等linux设备驱动理论;字符设备、块设备、tty设备、i2c设备、lcd设备、音频设备、usb设备、网络设备、pci设备等linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了大量linux驱动开发的大量实例,使读者能够独立开发各类linux设备驱动。
本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大linux开发人员、嵌入式工程师参考使用。
本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大linux开发人员、嵌入式工程师参考使用。
目录回到顶部↑
第1篇 linux设备驱动入门
第1章 设备驱动概述
1.1 设备驱动的作用
1.2 无操作系统时的设备驱动
1.3 有操作系统时的设备驱动
1.4 linux设备驱动
1.4.1 设备的分类及特点
1.4.2 linux设备驱动与整个软硬件系统的关系
1.4.3 编写linux设备驱动的技术基础
1.4.4 linux设备驱动的学习方法
1.5 设备驱动的helloworld:led驱动
1.5.1 无操作系统时的led驱动
1.5.2 linux系统下的led驱动
第2章 驱动设计的硬件基础
2.1 处理器
2.1.1 通用处理器
2.1.2 数字信号处理器
2.2 存储器
2.3 接口与总线
2.3.1 串口
第1章 设备驱动概述
1.1 设备驱动的作用
1.2 无操作系统时的设备驱动
1.3 有操作系统时的设备驱动
1.4 linux设备驱动
1.4.1 设备的分类及特点
1.4.2 linux设备驱动与整个软硬件系统的关系
1.4.3 编写linux设备驱动的技术基础
1.4.4 linux设备驱动的学习方法
1.5 设备驱动的helloworld:led驱动
1.5.1 无操作系统时的led驱动
1.5.2 linux系统下的led驱动
第2章 驱动设计的硬件基础
2.1 处理器
2.1.1 通用处理器
2.1.2 数字信号处理器
2.2 存储器
2.3 接口与总线
2.3.1 串口
前言回到顶部↑
背景
Linux设备驱动开发是Linux开发的热门领域,是所有Linux应用系统中不可缺少的组成部分。但是Linux设备驱动的开发门槛相对较高,主要原因如下:.
首先,编写Linux设备驱动必须牢固掌握自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞/非阻塞、I/O等大量理论知识;
其次,由于近年来Linux内核在驱动方面更偏向于提供设备驱动的框架(framework)而非单个设备驱动,考虑到框架更强的兼容性,字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等驱动的体系结构都变得愈发复杂,框架成为Linux设备驱动学习上的绊脚石。
因此,读者极需这样一本书:它以简单易懂的方式讲解Linux设备驱动中涉及的复杂理论,并对各种复杂设备的驱动框架进行全面剖析,引导读者走出由错综复杂的函数和数据结构组成的框架迷宫,这就是本书编写的初衷。 本书特点 目前市面上讲解Linux设备驱动的书并不多,而且多是从一个较小的视角对驱动中的某一个方面进行简单的解释,本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架,具有以下特点。
(1)本书基于Linux 2.6内核进行讲解,为便于移植,本书还对Linux 2.4和2.6内核在驱动开发方面的差异进行了对比。
(2)本书的实例背景非常简单,使读者能将注意力完全集中于驱动本身而不陷于复杂的实例。最简单的字符设备globalmem和globalfifo将解放读者的思路。
(3)本书将字符设备、块设备、TTY设备、I2C设备、LCD设备、Flash设备、网络设备、音频设备、USB设备、PCI设备等复杂设备驱动的框架作为核心内容。
(4)本书完全从工程实际出发,具有很强的可操作性。书中对Linux设备驱动开发环境建设、驱动的调试、驱动的移植等进行了讲解。在讲解驱动的同时,本书还给出了用户空间的验证方法,以便读者理清Linux设备驱动与上层应用的关系。
(5)本书内容虽集中于Linux设备驱动,但并不局限于Linux设备驱动,还将Linux设备驱动与无操作系统下的设备驱动及其他操作系统(主要是VxWorks)的驱动进行了对比分析,以便读者以更宏观的视角看待Linux设备驱动。
阅读完本书,读者将具备完全自主地从头到尾开发Linux设备驱动的能力,而不是只能对现有的驱动进行简单修改。
本书的内容简介
本书共分4篇23章,内容安排如下。
第1篇(第1~3章)主要讲解Linux设备驱动的基础。
第1章主要讲解设备驱动的作用,并从无操作系统的设备驱动引出了Linux操作系统下的设备驱动。
第2章系统地讲解了一个Linux驱动工程师应该掌握的硬件知识,使读者打下Linux设备驱动开发的硬件基础。本章涵盖了各种类型的CPU、存储器和常见的外设,并讲解了硬件时序分析方法和仪器使用方法。
第3章将Linux设备驱动放在Linux2.6内核背景中进行讲解,说明Linux内核的编程方法,为编写Linux设备驱动打下软件基础。
第2篇(第4~12章)主要讲解Linux设备驱动编程的基础理论、字符设备驱动及设备驱动设计中涉及的并发控制、同步等问题。
第4、5章分别讲解Linux内核模块和Linux设备文件系统。
第6~9章以虚拟设备globalmem和globalfifo为主线讲解了字符设备驱动的编写方法,各章还讲解了并发控制、阻塞与非阻塞、异步I/O等高级控制功能。..
Linux设备驱动开发是Linux开发的热门领域,是所有Linux应用系统中不可缺少的组成部分。但是Linux设备驱动的开发门槛相对较高,主要原因如下:.
首先,编写Linux设备驱动必须牢固掌握自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞/非阻塞、I/O等大量理论知识;
其次,由于近年来Linux内核在驱动方面更偏向于提供设备驱动的框架(framework)而非单个设备驱动,考虑到框架更强的兼容性,字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等驱动的体系结构都变得愈发复杂,框架成为Linux设备驱动学习上的绊脚石。
因此,读者极需这样一本书:它以简单易懂的方式讲解Linux设备驱动中涉及的复杂理论,并对各种复杂设备的驱动框架进行全面剖析,引导读者走出由错综复杂的函数和数据结构组成的框架迷宫,这就是本书编写的初衷。 本书特点 目前市面上讲解Linux设备驱动的书并不多,而且多是从一个较小的视角对驱动中的某一个方面进行简单的解释,本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架,具有以下特点。
(1)本书基于Linux 2.6内核进行讲解,为便于移植,本书还对Linux 2.4和2.6内核在驱动开发方面的差异进行了对比。
(2)本书的实例背景非常简单,使读者能将注意力完全集中于驱动本身而不陷于复杂的实例。最简单的字符设备globalmem和globalfifo将解放读者的思路。
(3)本书将字符设备、块设备、TTY设备、I2C设备、LCD设备、Flash设备、网络设备、音频设备、USB设备、PCI设备等复杂设备驱动的框架作为核心内容。
(4)本书完全从工程实际出发,具有很强的可操作性。书中对Linux设备驱动开发环境建设、驱动的调试、驱动的移植等进行了讲解。在讲解驱动的同时,本书还给出了用户空间的验证方法,以便读者理清Linux设备驱动与上层应用的关系。
(5)本书内容虽集中于Linux设备驱动,但并不局限于Linux设备驱动,还将Linux设备驱动与无操作系统下的设备驱动及其他操作系统(主要是VxWorks)的驱动进行了对比分析,以便读者以更宏观的视角看待Linux设备驱动。
阅读完本书,读者将具备完全自主地从头到尾开发Linux设备驱动的能力,而不是只能对现有的驱动进行简单修改。
本书的内容简介
本书共分4篇23章,内容安排如下。
第1篇(第1~3章)主要讲解Linux设备驱动的基础。
第1章主要讲解设备驱动的作用,并从无操作系统的设备驱动引出了Linux操作系统下的设备驱动。
第2章系统地讲解了一个Linux驱动工程师应该掌握的硬件知识,使读者打下Linux设备驱动开发的硬件基础。本章涵盖了各种类型的CPU、存储器和常见的外设,并讲解了硬件时序分析方法和仪器使用方法。
第3章将Linux设备驱动放在Linux2.6内核背景中进行讲解,说明Linux内核的编程方法,为编写Linux设备驱动打下软件基础。
第2篇(第4~12章)主要讲解Linux设备驱动编程的基础理论、字符设备驱动及设备驱动设计中涉及的并发控制、同步等问题。
第4、5章分别讲解Linux内核模块和Linux设备文件系统。
第6~9章以虚拟设备globalmem和globalfifo为主线讲解了字符设备驱动的编写方法,各章还讲解了并发控制、阻塞与非阻塞、异步I/O等高级控制功能。..
序言回到顶部↑
在过去这些年,Linux已经成功应用于服务器和桌面系统,而近年来,随着嵌入式系统应用的持续升温,Linux也广泛应用于嵌入式领域,逐步成为通信、工业控制、消费电子等领域的主流操作系统。.
Linux正以其独特的优势极大地吸引电子设计工程师,很多工程师从自己编写的或专用的RTOS转移到Linux,Linux在嵌入式系统中的占有率与日俱增。..
全世界有无数的嵌入式产品正使用Linux作为其操作系统,在这些采用Linux作为操作系统的设备中,无一例外都包含着多个Linux设备驱动。现在全世界每天都有大量的新芯片被投产、大量的电路板被设计出来,Linux设备驱动的开发需求与日俱增,没有这些设备驱动,用户便无法享受Linux上诸多精彩纷呈的应用。
Linux设备驱动的开发需要牢固的硬件基础,并需要对驱动中所涉及的Linux内核知识有良好的掌握,设备驱动设计的好坏将直接影响整个系统的性能表现。
《Linux设备驱动开发详解》一书是带领开发者进入Linux设备驱动领域的最佳选择,希望能在Linux设备驱动开发的普及、推广中发挥重大作用。..
周立功
Linux正以其独特的优势极大地吸引电子设计工程师,很多工程师从自己编写的或专用的RTOS转移到Linux,Linux在嵌入式系统中的占有率与日俱增。..
全世界有无数的嵌入式产品正使用Linux作为其操作系统,在这些采用Linux作为操作系统的设备中,无一例外都包含着多个Linux设备驱动。现在全世界每天都有大量的新芯片被投产、大量的电路板被设计出来,Linux设备驱动的开发需求与日俱增,没有这些设备驱动,用户便无法享受Linux上诸多精彩纷呈的应用。
Linux设备驱动的开发需要牢固的硬件基础,并需要对驱动中所涉及的Linux内核知识有良好的掌握,设备驱动设计的好坏将直接影响整个系统的性能表现。
《Linux设备驱动开发详解》一书是带领开发者进入Linux设备驱动领域的最佳选择,希望能在Linux设备驱动开发的普及、推广中发挥重大作用。..
周立功
媒体评论回到顶部↑
专家推荐
设备驱动程序是嵌入式操作系统的重要模块,也是难点之一,Linux设备驱动程序更以复杂和繁多而著名,本书的作者集多年授课和开发的经验,以简洁的语言和丰富的实例讲述了这一技术,深入浅出,值得一读。
[strong]北京麦克泰软件技术有限公司(BMR) 董事长/电子产品世界杂志 编委 何小庆[/strong]
本书有个非常突出的特点—实用,全书以大量实例来引导读者编写以及移植Linux设备驱动,这些实例是作者多年Linux设备驱动开发从业经验的总结,读者一定会从中受益。
[strong]中国软件行业协会嵌入式系统分会 秘书长 郭淳学[/strong]
在Linux系统广泛应用、嵌入式系统飞速发展的今天,Linux设备驱动正在发挥着越来越大的作用,这本书是学习Linux设备驱动很好的选择。
[strong]信息产业部软件与集成电路促进中心(CSIP) 教育培训部主任 杜广斌[/strong]
设备驱动程序是嵌入式操作系统的重要模块,也是难点之一,Linux设备驱动程序更以复杂和繁多而著名,本书的作者集多年授课和开发的经验,以简洁的语言和丰富的实例讲述了这一技术,深入浅出,值得一读。
[strong]北京麦克泰软件技术有限公司(BMR) 董事长/电子产品世界杂志 编委 何小庆[/strong]
本书有个非常突出的特点—实用,全书以大量实例来引导读者编写以及移植Linux设备驱动,这些实例是作者多年Linux设备驱动开发从业经验的总结,读者一定会从中受益。
[strong]中国软件行业协会嵌入式系统分会 秘书长 郭淳学[/strong]
在Linux系统广泛应用、嵌入式系统飞速发展的今天,Linux设备驱动正在发挥着越来越大的作用,这本书是学习Linux设备驱动很好的选择。
[strong]信息产业部软件与集成电路促进中心(CSIP) 教育培训部主任 杜广斌[/strong]
【插图】


点击看大图





加载中...

