《Linux设备驱动开发具体解释:基于最新的Linux 4.0内核》

china-pub   

spm=a1z10.3-b.w4011-10017777404.30.kvceXB&id=521111707813&rn=4cf013961288ab7c4dfd2016aeb21fa8&abbucket=5">天猫     dangdang   京东

China-pub 8月新书销售榜

推荐序一

  技术日新月异,产业斗转星移,滚滚红尘,消逝的事物太多,新事物的诞生也更迅猛。众多新生事物如灿烂烟花,转瞬即逝。当我们仰望星空时,在浩如烟海的专业名词中寻找,赫然发现,Linux的生命力之旺盛顽强,斗志之昂扬雄壮,令人称奇。

它正以摧枯拉朽之势迅速占领包含server、云计算、消费电子、工业控制、仪器仪表、导航娱乐等在内的众多应用领域,并逐步占领很多WINCE、VxWorks的传统嵌入式市场。

  Linux所及之处,所向披靡。这与Linux的社区式开发模式,迅速的迭代不无关系。Linux每2~3月更新一次版本号。吸纳新的体系架构、芯片支持、驱动、内核优化和新特性。这使得Linux总是可以在第一时间内迎合用户的需求,高速地适应瞬息万变的市场。由Linux以及环绕着Linux进行产品研发的众多企业和爱好者构成了一个庞大的Linux生态圈。而本书,无疑给这个庞大的生态圈注入了养料。

  然而,养料的注入应该是持续不断的。

至今。Linux内核的底层BSP、驱动框架和内核实现发生了很多变更,本书涵盖了这些新的变化,这将给予开发人员很多其它新的帮助。内核的代码不断重构并最优化,而本书也无疑是一次重大的重构。

  生命不息,重构不止。

  周立功

  推荐序二

  在翻译了《Understanding the Linux Kernel》和《Linux Kernel Development》这两本书后,每当有读者询问怎样学习Linux内核时,我都不敢贸然给出建议。

如此庞大的内核。各个子系统之间的关系错综复杂,代码不断更新和迭代,究竟该从何入手?你的出发点是哪里?你想去的彼岸又是哪里?对应的学习方法都不同。

  一旦踏入Linux内核领域,要精通Linux内核的精髓。差点儿没有捷径可走。虽然通往山顶的路有无数条,但每条路上都布满荆棘,也许时间和毅力才是斩荆披棘的利器。

  从最初到如今,Linux内核的版本号更新达上千个,代码规模不断增长,平均每一个版本号的新增代码有4万行左右。在源码的10个主要子文件夹(arch、init、include、kernel、mm、IPC、fs、lib、net、drivers)中,驱动程序的代码量呈线性增长趋势。

  从软件project角度来看内核代码的变化规律,Linux的体系结构相对稳定,子系统数变化不大。平均每一个模块的复杂度呈下降趋势,但系统总体规模和复杂性分别呈超线性和接近线性增长趋势。drivers和arch等模块的高速变化是引起系统复杂性添加的主因。那么。在代码量最多的驱动程序中。有什么规律可循?最根本的又是什么?

  本书很多其它的是关于Linux内核代码背后机理的解说,呈现给读者的是一种思考方法。让读者可以在思考中举一反三。

虽然驱动程序仅仅是内核的一个子系统,但Linux内核是一种总体结构,牵一发而动全局。对Linux内核其它相关知识的掌握是开发驱动的基础。本书的内容包含中断、定时器、进程生命周期、uevent、并发、编译乱序、运行乱序、等待队列、I/O模型、内存管理等,实例代码也被大幅重构。

  明代著名的思想家王明阳有句名言“知而不行。是为不知;行而不知,可以致知”。因此在研读本书时,你一定要亲身实践。在实践之后要提升思考,如此,你才可以越过代码本身而看到内核的深层机理。

  陈莉君

  西安邮电大学

媒体评论

  十多年前,我在海外一家路由器公司从事底层软件开发时。一本《Linux Device Driver》(LDD)使我受益匪浅。

近年来,我在从事基于ARM的嵌入式操作系统教学时发现,非常多Linux设备驱动中的新技术,比方Device Tree、sysfs等。在LDD3中均没有涉及。而市面上的翻译书晦涩难懂。有的还不如英文原书好理解。

宋宝华是我尊敬的技术人员。十年如一日,在Linux内核及设备驱动领域潜心耕耘,堪称大师。

本书不管从汉语的遣词造句,案例的深入浅出,还是对前沿技术的掌握。对难点技术丝丝入扣的分析,都体现出了强烈的“工匠精神”,堪称经典。值得推荐。

  ——Xilinx前大中华区大学计划经理、慕客信CEO  谢凯年

  设备驱动程序是连接计算机软件和硬件的纽带和桥梁。开发人员在嵌入式操作系统的开发移植过程中。有将近70%~80%的精力都用在了驱动程序的开发与调试方面。这就对设备驱动程序开发人员提出了极高的要求。

开发人员不仅要同一时候具备软件和硬件的知识和经验,并且还要不断地学习、更新自己,以便跟上嵌入式系统日新月异的发展。研究前人的总结和动手实践是不断提高自己的有效途径。

虽然市面上已经有多种设备驱动的书籍,但本书在总结Linux设备驱动程序方面仍然非常具有特色。它用理论联系实际。尤其是提供了大量的实例。对读者深入地理解并掌握各种驱动程序的编写大有裨益。
  ——飞思卡尔半导体(中国)有限公司数字网络软件技术方案部总监  杨欣欣博士

  一位优秀的设备驱动开发project师须要具备多年嵌入式软件和硬件开发经验的积累,本书针对Linux设备驱动开发相关的设计思想、框架、内核,深入浅出,结合代码,从理论到实践进行重点解说。

毫无疑问。本书可谓一把通向设备驱动大师殿堂之门的金钥匙,它将激发你的味蕾。带你“品尝”嵌入式设备驱动开发这道“美味佳肴”,掩卷沉思,意味深长。

  ——ARM中国在线社区经理   宋斌

  作者长期从事嵌入式Linux开发和教学工作,擅长Linux驱动开发。并跟踪开源软件和嵌入式处理器技术的最新发展。撰写本书。书中内容新奇有用。作者针对ARM和移动便携式设备的兴起,在书中加入了ARM Linux 设备树和Linux电源管理系统架构及驱动的内容,书中关于Linux设备驱动的软件架构思想的章节也非常有特色。
  ——中国软件行业协会嵌入式系统分会副理事长 何小庆

封面:

《Linux设备驱动开发具体解释(第3版)》(即《Linux设备驱动开发具体解释:基于最新的Linux 4.0内核》)网购链接的更多相关文章

  1. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)--宋宝华

    http://blog.csdn.net/21cnbao/article/details/45322629

  2. 基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(一)之miscdevice和ioctl

    基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(一)之miscdevice和ioctl 0. 导语 在嵌入式的道路上寻寻觅觅很久,进入嵌入式这个行业也有几年的时间了,从2011年后 ...

  3. 使用U盘安装Linux最美桌面发行版Elementary OS 及常用开发环境配置(JDK,Redis,MySQL,Docker,IDEA,STS)

    前言 假期在家无聊,刚好把六年前的一台笔记本电脑利用起来,原来电脑虽然说配置说不上古董机器,但是运行win系统感觉还是不流畅,所幸给换成Linux桌面版系统,在网上查阅了很多,Linux桌面系统要么推 ...

  4. 《Linux设备驱动开发具体解释(第3版)》进展同步更新

    本博实时更新<Linux设备驱动开发具体解释(第3版)>的最新进展. 2015.2.26 差点儿完毕初稿. 本书已经rebase到开发中的Linux 4.0内核,案例多数基于多核CORTE ...

  5. Linux字符设备驱动结构(一)--cdev结构体、设备号相关知识机械【转】

    本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50839042 一.字符设备基础知识 1.设备驱动分类 linux系统将设备分为3类:字符 ...

  6. 基于335X平台Linux交换芯片驱动开发

    基于335X平台Linux交换芯片驱动开发   一.软硬件平台资料 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.Kernel版本:4.4.12,采用FDT 3.交换芯片MARVEL ...

  7. 基于tiny4412的Linux内核移植 -- 设备树的展开

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  8. 基于FT5x06嵌入式Linux电容触摸屏驱动

    **************************************************************************************************** ...

  9. 基于tiny4412的Linux内核移植 -- 设备树的展开【转】

    转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...

随机推荐

  1. hibernate注解配置举例说明

    Hibernate Annotation   (Hibernate 注解)   进入:http://www.hibernate.org 说明文档: 英文:http://docs.jboss.org/h ...

  2. Java GUI编程4---标签组件JLabel

    Java GUI编程4---标签组件JLabel 2018年06月11日 22:06:58 蓝蓝223 阅读数 12103更多 个人分类: Java书籍摘抄 所属专栏: Java Swing图形界面 ...

  3. HDR 高动态范围图像

    以下来源于百度百科: 高动态范围图像(High-Dynamic Range,简称HDR),相比普通的图像,可以提供更多的动态范围和图像细节,根据不同的曝光时间的LDR(Low-Dynamic Rang ...

  4. 批量保存 htm

    公司项目,需要对一个列表做批量保存到Doc的功能. 后来通过架构人员协助,采用MemoryStream二进制流的方式保存为htm文档. 然后通过第3方的dll,ICSharpCode.SharpZip ...

  5. 【BZOJ4476&JSOI2015】送礼物(二分,RMQ)

    ANS明显是有二分性的 二分答案,设二分值为b M(i,j)−m(i,j)j−i+k>b 显然当l<长度<r时,一端是最小值,一端是最大值. 等于l或r的时候因为可能不满足以上性质, ...

  6. wap提交表单

    原文发布时间为:2010-08-31 -- 来源于本人的百度文章 [由搬家工具导入] <%@ page contentType="text/vnd.wap.wml" page ...

  7. 透明层提示框代替windows警告窗口方法!

    原文发布时间为:2009-04-05 -- 来源于本人的百度文章 [由搬家工具导入] 有人会说,怎么网页用JavaScript会有安全提示,而其他网站上面用了JavaScript都没有安全提示,呵呵, ...

  8. 《手把手教你学C语言》学习笔记(10)--- 程序的循环控制

    C语言程序设计中,有些代码需要重复执行很多次,循环主要有三类: 一.for循环 1.基本格式为:for(表达式1:表达式2:表达式3){ //表达式1:循环变量赋初值 //表达式2:循环变量满足的条件 ...

  9. 处理printf的变参问题

    VA_LIST 是在C语言中解决变参问题的一组宏,所在头文件:#include <stdarg.h> (1)首先在函数里定义一具VA_LIST型的变量,这个变量是指向参数的指针: (2)然 ...

  10. HDU5032 Always Cook Mushroom(树状数组&&离线)

    树状数组+询问离线.一个优化是需要的,就是先对1000*1000个点先排序,而不是每次都生成这1000*1000个点然后和询问一起排序,那样会tle. #include <iostream> ...