《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. UVALive 5033 I'm Telling the Truth 二分图最大匹配(略有修改)

    I - I'm Telling the Truth Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu ...

  2. U盘用FAT32还是用NTFS格式好

    U盘用FAT32还是用NTFS格式好 ● FAT32文件系统 FAT32使用4个字节(也就是32位)的空间来表示每个扇区(Sector)配置文件的情形,故称之为FAT32.FAT16的分区容量上限是2 ...

  3. bzoj 4465 游戏中的学问(game)

    题目描述 输入 输出 样例输入 3 1 1000000009 样例输出 2 提示 solution 令f[i][j]表示i个人围成j个圈的方案数 啥意思呢 可以把一个人塞进前面的圈里(i-1种塞法) ...

  4. modeJS 深了解(1): Node.js + Express 构建网站预备知识

    转载:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp1.html 目录 前言 新建express项目并自定义路由规则 如何提取页面中的 ...

  5. 股票交易(bzoj 1855)

    Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价 ...

  6. pat 团体天梯 L3-003. 社交集群

    L3-003. 社交集群 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在社交网络平台注册时,用户通常会输入自己的兴趣爱好, ...

  7. 洛谷 [P1337] 平衡点

    模拟退火练手 一道模拟退火的好题 结果一定势能最小 与模拟退火思路高度一致 #include <iostream> #include <cstdio> #include < ...

  8. CF126B password&&HDU 4763 Theme Section

    http://acm.hdu.edu.cn/showproblem.php?pid=4763 http://codeforces.com/problemset/problem/126/B 这两个题都是 ...

  9. SpringTest(一)

     SpringMvcTest总结: 最近要做单元测试,所以选择的是SpringTest这个测试框架. 1.准备工作.(导入jar包)   因为使用Maven管理jar包,所以在要做单元测试的模块中的p ...

  10. [LeetCode] Gas Station 贪心

    There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...