Linux设备驱动开发详解是一本介绍linux设备驱动开发理论、框架与实例的书,设备驱动程序是嵌入式操作系统的重要模块,也是难点之一,Linux没备驱动程序更以复杂和繁多而著名,本书的作者集多年授课和开发的经验,以简洁的语言和丰富的实例讲述了这一技术,深入浅出,值得一读。
本书基于ldd6410开发板,以linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和i/o映射以及异步通知、阻塞i/o、非阻塞i/o等linux设备驱动理论;字符设备、块设备、tty设备、i2c设备、lcd设备、音频设备、usb设
备、网络设备、pci设备等linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了linux驱动开发的大量实例,使读者能够独立开发各类linux设备驱动。
本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大linux开发人员、嵌入式工程师参考使用。
第1篇 Linux设备驱动入门
第1章 Linux设备驱动概述及开发环境构建
1.1 设备驱动的作用辅
1.2 无操作系统时的设备驱动
1.3 有操作系统时的设备驱动
1.4 Linux设备驱动
1.4.1 设备的分类及特点
1.4.2 Linux设备驱动与整个软硬件系统的关系
1.4.3 Linux设备驱动的重点、难点
1.5 Linux设备驱动开发环境构建
1.5.1 PC上的Linux环境
1.5.2 LDD6410开发板
1.5.3 工具链安装
1.5.4 主机端nfs和trip服务安装
1.5.5 源代码阅读和编辑
1.6 设备驱动Hello World:LED驱动
1.6.1 无操作系统时的LED驱动
1.6.2 Linux下的LED驱动
1.7 全书结构
第2章 驱动设计的硬件基础
2.1 处理器
2.1.1 通用处理器
2.1.2 数字信号处理器
2.2 存储器
2.3 接口与总线
2.3.1 串口
2.3.2 12C
2.3.3 USB
2.3.4 以太网接口
2.3.5 ISA
2.3.6 PCI和cPCI
2.4 CPLD和FPGA
2.5 原理图分析
2.5.1 原理图分析的内容
2.5.2 原理图的分析方法
2.6 硬件时序分析
2.6.1 时序分析的概念
2.6.2 典型硬件时序
2.7 芯片手册阅读方法
2.8 仪器仪表使用
2.8.1 万用表
2.8.2 示波器
2.8.3 逻辑分析仪
2.9 总结
第3章 Unttx内核及内核编程
3.1 Linux内核的发展与演变
3.2 Linux 2.6内核的特点
3.3 Linux内核的组成
3.3.1 Linux内核源代码目录结构
3.3.2 Linux内核的组成部分
3.3.3 Linux内核空间与用户空间
3.4 Linux内核的编译及加载
3.4.1 Linux内核的编译
3.4.2 Kconfi9和Makefile
3.4.3 Linux内核的引导
3.5 Linux下的C编程特点
3.5.1 Linux编码风格
3.5.2 GNUC与ANSIC
3.5.3 do{}while(O)
……
第2篇 Linux设备驱动核心理论
第3篇 Linux设备驱动实例
第4篇 Linux设备驱动调试、移植
参考文献