本书是关于介绍“Linux设备驱动开发入门与编程实践”的教学用书,全书共分12章。前两章介绍了嵌入式Linux系统开发的基础知识,以及Linux系统开发工具链、嵌入式Linux内核分析与移植技术;第3章介绍了Linux设备驱动程序开发的一般技术和基本过程;第4章到第9章详细剖析了字符设备、PCI设备、音频接口、显示接口、块设备、网络设备的驱动开发技术;第10章到第12章分别介绍了USB设备驱动开发的知识、USB驱动的设备端及主机端的设计,以及OTG驱动程序的开发。
本书适合于具备一定嵌入式Linux开发经验,需要从事或学习嵌入式Linux驱动程序设计的读者作为嵌入式Linux驱动开发的自学教材。
本书从嵌入式系统开发的基础概念讲起,着重介绍了嵌入式Linux 驱动开发技术。
全书共分12章。前两章介绍了嵌入式Linux系统开发的基础知识,以及Linux系统开发工具链、嵌入式Linux内核分析与移植技术;第3章介绍了Linux设备驱动程序开发的一般技术和基本过程;第4章到第9章详细剖析了字符设备、PCI设备、音频接口、显示接口、块设备、网络设备的驱动开发技术;第10章到第12章分别介绍了USB设备驱动开发的知识、USB驱动的设备端及主机端的设计,以及OTG驱动程序的开发。
本书具有由浅入深、通俗易懂和注重实践等特点,适合于具备一定嵌入式Linux开发经验,需要从事或学习嵌入式Linux驱动程序设计的读者作为嵌入式Linux驱动开发的自学教材;同时也适合已掌握Linux驱动程序设计的一般原理,需要提高嵌入式Linux驱动开发实践能力及对嵌入式Linux驱动开发感兴趣的程序员参考学习。
第1章 嵌入式Linux系统开发概述
1.1 嵌入式系统概述
1.1.1 你身边的嵌入式系统
1.1.2 什么是嵌入式系统
1.1.3 嵌入式系统的发展
1.1.4 嵌入式系统市场规模
1.1.5 嵌入式系统发展趋势和面临的挑战
1.2 嵌入式操作系统
1.2.1 嵌入式操作系统的特点
1.2.2 嵌入式操作系统发展概述
1.2.3 Linux操作系统特点
1.2.4 嵌入式Linux系统的特点
1.2.5 国外嵌入式Linux发展现状
1.2.6 国内嵌入式Linux发展现状
1.3 ARM处理器平台介绍
1.3.1 嵌入式处理器特点与分类
1.3.2 ARM处理器介绍
1.3.3 ARM体系结构
1.4 嵌入式Linux的体系结构分析
1.4.1 嵌入式系统的体系结构
1.4.2 硬件抽象层的Linux
1.5 基本编辑器vi的使用
1.5.1 进入和退出vi
1.5.2 vi的基本编辑命令
1.5.3 vi的高级编辑命令
1.6 高级编辑器Emacs的使用
1.6.1 Emacs的启动与退出
1.6.2 Emacs的基本操作
1.6.3 Emacs的高级命令
1.7 编译器GCC的使用
1.7.1 GCC简介
1.7.2 GCC的编译过程
1.7.3 GCC的常用模式
1.7.4 GCC的常用选项
1.7.5 GCC的警告功能
1.8 调试器GDB的使用
1.8.1 GDB的调试过程
1.8.2 GDB的基本命令
1.8.3 GDB的高级命令
1.9 Make工程管理器
1.9.1 Make管理器简介
1.9.2 Makefile的描述规则
1.9.3 一个简单示例
1.9.4 Make如何工作
1.9.5 指定变量
1.9.6 自动推导规则
1.9.7 另类风格的Makefile
1.9.8 清除工作目录过程文件
1.10 本章小结
第2章 嵌入式Linux内核分析与移植
第3章 Linux设备驱动程序开发概述
第4章 Linux字符设备驱动程序开发
第5章 基于DSP的PCI图像采集卡驱动程序
第6章 音频接口设计与Linux驱动程序
第7章 显示设备接口设计与Linux驱动程序
第8章 ARM Linux块设备驱动程序开发
第9章 嵌入式Linux网络设备驱动程序开发
第10章 嵌入式Linux USB驱动程序设计基础
第11章 USB接口系统软件设计
第12章 OTG驱动功能模块的设计与实现