〓◆ Linux设备驱动开发详解 822页 17.5M 超清书签版 ◆〓

[复制链接]
15726|123
 楼主 | 2011-6-24 08:03 | 显示全部楼层 |阅读模式
本帖最后由 tyw 于 2011-6-24 10:53 编辑






目录
第1章 linux快速入门. 1
1.1 嵌入式linux基础 1
1.1.1 linux发展概述 2
1.1.2 linux作为嵌入式操作系统的优势 2
1.1.3 linux发行版本 3
1.1.4 如何学习linux 4
1.2 linux安装 4
1.2.1 基础概念 5
1.2.2 硬件需求 6
1.2.3 安装准备 7
1.3 linux文件及文件系统 7
1.3.1 文件类型及文件属性 7
1.3.2 文件系统类型介绍 9
1.3.3 linux目录结构 10
1.4 实验内容——安装linux操作系统 11
1.5 本章小结 12
1.6 思考与练习 12
第2章 linux基础命令 13
2.1 linux常用命令 13
2.1.1 用户系统相关命令 14
.2.1.2 文件相关命令 21
2.1.3 压缩打包相关命令 32
2.1.4 文件比较合并相关命令 34
2.1.5 网络相关命令 38
2.2 linux启动过程详解 43
2.2.1 概述 43
2.2.2 内核引导阶段 44
2.2.3 init阶段 45
2.3 linux系统服务 47
2.3.1 独立运行的服务 48
2.3.2 xinetd设定的服务 48
2.3.3 系统服务的其他相关命令 49
2.4 实验内容 50
2.4.1 在linux下解压常见软件 50
2.4.2 定制linux系统服务 51
2.5 本章小结 52
2.6 思考与练习 52
第3章 linux下c编程基础 53
3.1 linux下c语言编程概述 53
3.1.1 c语言简单回顾 53
3.1.2 linux下c语言编程环境概述 54
3.2 常用编辑器 55
3.2.1 进入vi 55
3.2.2 初探emacs 57
3.3 gcc编译器 60
3.3.1 gcc编译流程解析 60
3.3.2 gcc编译选项分析 62
3.4 gdb调试器 67
3.4.1 gdb使用流程 67
3.4.2 gdb基本命令 71
3.5 make工程管理器 75
3.5.1 makefile基本结构 75
3.5.2 makefile变量 76
3.5.3 makefile规则 79
3.5.4 make管理器的使用 80
3.6 使用autotools 80
3.6.1 autotools使用流程 81
3.6.2 使用autotools所生成的makefile 84
3.7 实验内容 86
3.7.1 vi使用练习 86
3.7.2 用gdb调试程序的bug 87
3.7.3 编写包含多文件的makefile 89
3.7.4 使用autotools生成包含多文件的makefile 91
3.8 本章小结 92
3.9 思考与练习 93
第4章 嵌入式系统基础 94
4.1 嵌入式系统概述 94
4.1.1 嵌入式系统简介 94
4.1.2 嵌入式系统发展历史 95
4.1.3 嵌入式系统的特点 96
4.1.4 嵌入式系统的体系结构 96
4.1.5 几种主流嵌入式操作系统分析 97
4.2 arm处理器硬件开发平台 99
4.2.1 arm处理器简介 99
4.2.2 arm体系结构简介 101
4.2.3 arm9体系结构 101
4.2.4 s3c2410处理器详解 104
4.3 嵌入式软件开发流程 109
4.3.1 嵌入式系统开发概述 109
4.3.2 嵌入式软件开发概述 109
4.4 实验内容——使用jtag烧写nand flash 114
4.5 本章小结 116
4.6 思考与练习 117
第5章 嵌入式linux开发环境的搭建 118
5.1 嵌入式开发环境的搭建 118
5.1.1 嵌入式交叉编译环境的搭建 118
5.1.2 超级终端和minicom配置及使用 120
5.1.3 下载映像到开发板 123
5.1.4 编译嵌入式linux内核 126
5.1.5 linux内核源码目录结构 129
5.1.6 制作文件系统 130
5.2 u-boot移植 134
5.2.1 bootloader介绍 134
5.2.2 u-boot概述 136
5.2.3 u-boot源码导读 137
5.2.4 u-boot移植主要步骤 142
5.3 实验内容——创建linux内核和文件系统 150
5.4 本章小结 151
5.5 思考与练习 151
第6章 文件i/o编程 152
6.1 linux系统调用及用户编程接口(api).. 152
6.1.1 系统调用 152
6.1.2 用户编程接口(api) 153
6.1.3 系统命令 153
6.2 linux中文件及文件描述符概述 153
6.3 底层文件i/o操作 154
6.3.1 基本文件操作 154
6.3.2 文件锁 158
6.3.3 多路复用 163
6.4 嵌入式linux串口应用编程 171
6.4.1 串口概述 171
6.4.2 串口设置详解 172
6.4.3 串口使用详解 181
6.5 标准i/o编程 185
6.5.1 基本操作 185
6.5.2 其他操作 189
6.6 实验内容 191
6.6.1 文件读写及上锁 191
6.6.2 多路复用式串口操作 198
6.7 本章小结 202
6.8 思考与练习 202
第7章 进程控制开发 203
7.1 linux进程概述 203
7.1.1 进程的基本概念 203
7.1.2 linux下的进程结构 205
7.1.3 linux下进程的模式和类型 205
7.1.4 linux下的进程管理 205
7.2 linux进程控制编程 206
7.3 linux守护进程 217
7.3.1 守护进程概述 217
7.3.2 编写守护进程 218
7.3.3 守护进程的出错处理 221
7.4 实验内容 225
7.4.1 编写多进程程序 225



第1篇 linux设备驱动入门
 第1章 设备驱动概述
  1.1 设备驱动的作用
  1.2 无操作系统时的设备驱动
  1.3 有操作系统时的设备驱动
  1.4 linux设备驱动
   1.4.1 设备的分类及特点
   1.4.2 linux设备驱动与整个软硬件系统的关系
   1.4.3 编写linux设备驱动的技术基础
   1.4.4 linux设备驱动的学习方法
  1.5 设备驱动的helloworld:led驱动
   1.5.1 无操作系统时的led驱动
   1.5.2 linux系统下的led驱动
 第2章 驱动设计的硬件基础
  2.1 处理器
   2.1.1 通用处理器
   2.1.2 数字信号处理器
  2.2 存储器
  2.3 接口与总线
   2.3.1 串口
.   2.3.2 i2c总线
   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.7.1 万用表
   2.7.2 示波器
   2.7.3 逻辑分析仪
  2.8 总结
 第3章 linux内核及内核编程
  3.1 linux内核的发展与演变
  3.2 linux2.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 kconfig和makefile
   3.4.3 linux内核的引导
  3.5 linux下的c编程
   3.5.1 linux程序命名习惯
   3.5.2 gnuc与ansic
   3.5.3 do{}while(0)
   3.5.4 goto
  3.6 总结
第2篇 linux设备驱动核心理论
 第4章 linux内核模块
  4.1 linux内核模块简介
  4.2 linux内核模块的程序结构
  4.3 模块加载函数
  4.4 模块卸载函数
  4.5 模块参数
  4.6 导出符号
  4.7 模块声明与描述
  4.8 模块的使用计数
  4.9 模块的编译
  4.10 模块与gpl
  4.11 总结
 第5章 linux文件系统与设备文件系统
  5.1 linux文件操作
   5.1.1 文件操作的相关系统调用
   5.1.2 c库函数的文件操作
  5.2 linux文件系统
   5.2.1 linux文件系统目录结构
   5.2.2 linux文件系统与设备驱动
  5.3 devfs设备文件系统
  5.4 udev设备文件系统
   5.4.1 udev与devfs的区别
   5.4.2 sysfs文件系统与linux设备模型
   5.4.3 udev的组成
   5.4.4 udev规则文件
   5.4.5 创建和配置udev
  5.5 总结
 第6章 字符设备驱动
  6.1 linux字符设备驱动结构
   6.1.1 cdev结构体
   6.1.2 分配和释放设备号
   6.1.3 file_operations结构体
   6.1.4 linux字符设备驱动的组成
  6.2 globalmem虚拟设备实例描述
  6.3 globalmem设备驱动
   6.3.1 头文件、宏及设备结构体
   6.3.2 加载与卸载设备驱动
   6.3.3 读写函数
   6.3.4 seek()函数
   6.3.5 ioctl()函数
   6.3.6 使用文件私有数据
  6.4 globalmem驱动在用户空间的验证
  6.5 总结
 第7章 linux设备驱动中的并发控制
  7.1 并发与竞态
  7.2 中断屏蔽
  7.3 原子操作
   7.3.1 整型原子操作
   7.3.2 位原子操作
  7.4 自旋锁
   7.4.1 自旋锁的使用
   7.4.2 读写自旋锁
   7.4.3 顺序锁
   7.4.4 读-拷贝-更新
  7.5 信号量
   7.5.1 信号量的使用
   7.5.2 信号量用于同步
   7.5.3 完成量用于同步
   7.5.4 自旋锁vs信号量
   7.5.5 读写信号量
  7.6 互斥体
  7.7 增加并发控制后的globalmem驱动
  7.8 总结
 第8章 linux设备驱动中的阻塞与非阻塞i/o
  8.1 阻塞与非阻塞i/o
   8.1.1 等待队列
   8.1.2 支持阻塞操作的globalfifo设备驱动
   8.1.3 在用户空间验证globalfifo的读写
  8.2 轮询操作
   8.2.1 轮询的概念与作用
   8.2.2 应用程序中的轮询编程
   8.2.3 设备驱动中的轮询编程
  8.3 支持轮询操作的globalfifo驱动
   8.3.1 在globalfifo驱动中增加轮询操作
   8.3.2 在用户空间验证globalfifo设备的轮询
  8.4 总结
 第9章 linux设备驱动中的异步通知与异步i/o
  9.1 异步通知的概念与作用
  9.2 linux异步通知编程
   9.2.1 linux信号
   9.2.2 信号的接收
   9.2.3 信号的释放
  9.3 支持异步通知的globalfifo驱动
   9.3.1 在globalfifo驱动中增加异步通知
   9.3.2 在用户空间验证globalfifo的异步通知
  9.4 linux2.6异步i/o
   9.4.1 aio概念与gnuc库函数
   9.4.2 使用信号作为aio的通知
   9.4.3 使用回调函数作为aio的通知
   9.4.4 aio与设备驱动
  9.5 总结
 第10章 中断与时钟
  10.1 中断与定时器
  10.2 linux中断处理程序架构
  10.3 linux中断编程
   10.3.1 申请和释放中断
   10.3.2 使能和屏蔽中断
   10.3.3 底半部机制
   10.3.4 实例:s3c2410实时钟中断
  10.4 中断共享
  10.5 内核定时器
   10.5.1 内核定时器编程
   10.5.2 实例:秒字符设备
  10.6 内核延时
   10.6.1 短延迟
   10.6.2 长延迟
   10.6.3 睡着延迟
  10.7 总结
 第11章 内存与i/o访问
  11.1 cpu与内存和i/o
   11.1.1 内存空间与i/o空间
   11.1.2 内存管理单元mmu
  11.2 linux内存管理
  11.3 内存存取
   11.3.1 用户空间内存动态申请
   11.3.2 内核空间内存动态申请
   11.3.3 虚拟地址与物理地址关系
  11.4 设备i/o端口和i/o内存的访问
   11.4.1 linuxi/o端口和i/o内存访问接口
   11.4.2 申请与释放设备i/o端口和i/o内存
   11.4.3 设备i/o端口和i/o内存访问流程
   11.4.4 将设备地址映射到用户空间
  11.5 i/o内存静态映射
  11.6 dma
   11.6.1 dma与cache一致性
   11.6.2 linux下的dma编程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1威望 +5 收起 理由
msblast + 5 很给力!
| 2011-6-24 08:16 | 显示全部楼层
建议把标题该了,改成与内容相关的汉字,方便搜索
| 2011-6-24 08:18 | 显示全部楼层
咋只有目录?
 楼主 | 2011-6-24 08:21 | 显示全部楼层
先占坑,再拉书,怕传好了被涮
| 2011-6-24 09:14 | 显示全部楼层
挺好,挺好,谢谢噢!
| 2011-6-24 14:20 | 显示全部楼层
太感谢T叔了哟!速度还真快。
| 2011-6-27 09:50 | 显示全部楼层
谢谢!
| 2011-6-27 21:44 | 显示全部楼层
顶t叔
| 2011-6-28 08:31 | 显示全部楼层
非常感谢
| 2011-7-13 09:47 | 显示全部楼层
非常好,谢谢
| 2011-7-13 11:51 | 显示全部楼层
占个位!
| 2011-7-19 10:48 | 显示全部楼层
谢谢 资料非常好
| 2011-7-19 14:17 | 显示全部楼层
谢谢楼主分享
| 2011-7-19 19:13 | 显示全部楼层
谢谢!
| 2011-8-9 22:14 | 显示全部楼层
谢谢
| 2011-8-9 23:15 | 显示全部楼层
这两本书是还可以的,比较适合初学者,我当初看过,顶起
| 2011-8-13 22:51 | 显示全部楼层
很给力,谢啦
| 2011-8-14 20:52 | 显示全部楼层
mark.
| 2011-8-15 10:36 | 显示全部楼层
谢谢
| 2011-8-15 15:51 | 显示全部楼层
谢谢楼主分享!
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /5 下一条

快速回复 返回顶部 返回列表