Linux设备驱动开发详解的区别
第2版相对第1版的主要改动如下。
(1)直接提供VirtualBox虚拟机,该虚拟机上已包含了书中所需的开发环境和源代码,读者不再需要安装环境即可进行实验,书中详细介绍了各个实验的步骤。
(2)提供了专门的配套学习板—基于三星S3C6410SoC的LDD6410(LinuxDevice Drivers 6410),使得书中的各种真实设备驱动实例有了实验的依托。
(3)全面升级内核至Linux 2.6.28.6,根据Linux内核API的变更情况更新了书中的所有内容,如IC驱动的体系结构、网络NAPI的接口等,并对delayed_work等较新的内核机制进行了介绍。
(4)删除了过时的内容,如传统的按键驱动、SAA7113H启动、传统的IDE驱动等,同时新增了大量内容,包括Linux内核的编码风格、Linux内核的移植、Android驱动、USBUDC和gadget驱动、ALSASoC驱动、input驱动、SPI驱动、基于sysfs的设备驱动、Linux设备驱动的固件加载、Linux性能调优工具、Linux设备驱动的电源管理、Linux驱动的分层设计思想、主机驱动与设备驱动分离设计思想等。
(5)在块设备驱动方面,删除了RAMDISK驱动实例,而新增了更加简单易懂的vmem_disk、类似于globalmem和globalfifo驱动。
(6)对许多关键知识点的讲解进行了语言调整和内容增强,以便读者能更好地理解,例如,以专门章节讲解platform驱动等。