图书介绍

嵌入式Linux驱动模板精讲与项目实践PDF|Epub|txt|kindle电子书版本网盘下载

嵌入式Linux驱动模板精讲与项目实践
  • 林锡龙编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121230820
  • 出版时间:2014
  • 标注页数:306页
  • 文件大小:68MB
  • 文件页数:317页
  • 主题词:Linux操作系统-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式Linux驱动模板精讲与项目实践PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 驱动总论1

1.1 总论1

1.1.1 驱动在内核中的比例1

1.1.2 驱动开发需要具备的能力1

1.1.3 驱动开发重点关注的内容2

1.2 驱动理论与思想3

1.2.1 分类思想4

1.2.2 分层思想4

1.2.3 分离思想10

1.2.4 总线思想11

本章小结11

第2章 内核编程及基础知识点12

2.1 内核线程12

2.2 内核定时器16

2.3 链表18

2.4 内存操作18

2.5 I/O端口20

2.6 内核相关宏21

2.7 内核态文件操作22

2.8 内核通知链25

本章小结30

第3章 模块与常用字符设备方法31

3.1 Linux驱动31

3.2 内核驱动模块剖析32

3.2.1 内核模块34

3.2.2 模块工具集34

3.2.3 模块文件结构分析36

3.2.4 内核管理37

3.2.5 Modutils工具包及Module-init-tools移植37

3.2.6 符号37

3.2.7 驱动模块之间的依赖38

3.2.8 模块编译流程细节38

3.2.9 模块编写39

3.3 宏观分析Linux驱动39

3.4 设备文件41

3.5 设备管理系统46

3.5.1 自动创建和管理设备文件揭秘46

3.5.2 devfs、mdev和udev46

3.5.3 udev基本原理与流程47

3.5.4 热插拔与冷插拔48

3.5.5 class48

3.6 字符设备驱动50

3.6.1 原始方式51

3.6.2 静态设定设备号方式51

3.6.3 使用udev工具自动生成设备文件方式52

3.6.4 简洁型字符设备驱动——misc字符设备驱动方式53

3.7 设备操作方法file operations55

3.7.1 ioctl和unlocked ioctl操作57

3.7.2 read/write设备方法65

3.7.3 llseek设备方法70

3.7.4 mmap设备方法70

3.7.5 利用mmap在应用层实现硬件操作75

本章小结76

第4章 同步和互斥77

4.1 概述77

4.2 基本概念77

4.3 互斥和同步机制79

4.4 互斥79

4.4.1 屏蔽中断79

4.4.2 原子操作80

4.4.3 自旋锁81

4.4.4 信号量82

4.4.5 自旋锁与信号量83

4.4.6 互斥体:专用于互斥84

4.5 同步84

本章小结86

第5章 中断系统87

5.1 中断概述87

5.2 基本概念87

5.3 中断原理及使用注意事项89

5.4 中断接口函数89

5.4.1 中断申请和释放89

5.4.2 中断共享90

5.4.3 中断例程之一:按键中断92

5.4.4 中断例程之二:A/D转换驱动96

5.5 底半部:tasklet、工作队列104

5.6 时间管理106

本章小结107

第6章 设备高级特性108

6.1 字符设备file_operations的高级特性108

6.2 Linux设备驱动的I/O模型109

6.2.1 同步阻塞I/O109

6.2.2 同步非阻塞I/O109

6.2.3 异步阻塞I/O110

6.2.4 异步非阻塞I/O110

6.2.5 异步通知110

6.2.6 同步阻塞型I/O的实现:建立在等待队列的基础上117

6.2.7 异步阻塞型I/O的实现:基于poll系统调用操作接口函数121

6.3 设备复用126

本章小结128

第7章 高级类型驱动129

7.1 misc类型驱动129

7.1.1 概述129

7.1.2 结构与流程分析129

7.1.3 关于设备节点的创建130

7.2 input类型驱动130

7.2.1 input驱动概述130

7.2.2 三个主要结构体133

7.2.3 Input驱动步骤136

7.3 触摸屏驱动144

7.4 I2C驱动150

7.4.1 I2C总线接口150

7.4.2 I2C内核驱动层及相关文件分析151

7.4.3 重要的数据结构及相关联系153

7.4.4 流程分析157

7.4.5 i2c-tools165

7.5 块设备驱动169

7.5.1 块设备驱动分析169

7.5.2 制作一个块设备例子:RamDisk驱动174

本章小结177

第8章 虚拟文件系统178

8.1 内核在线窗口——虚拟文件系统178

8.2 proc文件系统179

8.2.1 目录介绍179

8.2.2 创建目录与文件184

8.2.3 相关应用185

8.3 sys文件系统186

8.3.1 sys文件系统概述186

8.3.2 sys文件目录187

8.3.3 sys文件系统接口函数与创建文件夹模板189

本章小结192

第9章 设备驱动模型193

9.1 设备驱动模型概述193

9.2 sys文件系统与设备驱动模型194

9.3 认识设备驱动模型195

9.4 两大基石kobject和kset197

9.4.1 内核对象kobject197

9.4.2 另外一个基石kset199

9.5 subsystem203

9.6 三角关系核心——总线、设备、驱动204

9.6.1 总线204

9.6.2 设备207

9.6.3 驱动209

9.7 platform总线211

9.8 serio总线220

9.8.1 serio子系统介绍220

9.8.2 serio子系统框架220

9.8.3 主要数据结构223

本章小结229

第10章 嵌入式Linux文件系统230

10.1 文件系统介绍230

10.2 创建最简单的根文件系统233

10.3 YAFFS文件系统移植241

10.4 JFFS2文件系统制作250

10.5 ramdisk文件系统制作250

10.6 cramfs文件系统制作252

本章小结253

第11章 开发与调试技巧254

11.1 vim使用254

11.2 工具使用254

11.3 printk使用技巧259

11.4 使用proc在线打开打印开关260

11.5 异常崩溃oops处理261

11.6 动态修改模块参数269

11.7 使用devmem2操作物理地址269

11.8 时间测量270

11.9 善于使用开源项目270

本章小结271

第12章 底层驱动规划与管理探索272

12.1 底层驱动规划探索272

12.1.1 设计理念概述272

12.1.2 底层平台软件设计273

12.1.3 底层平台软件管理规则276

12.1.4 独立驱动模块的版本管理276

12.1.5 提供最基本的系统278

12.1.6 驱动开发注意事项278

12.1.7 版本库279

12.1.8 平台版本构建发布282

12.2 研发管理283

12.2.1 嵌入式软件研发管理畅想284

12.2.2 嵌入式软件V字形开发模式285

12.3 软件开发文档286

12.3.1 可行性分析报告286

12.3.2 嵌入式软件系统设计方案文档289

12.3.3 嵌入式软件概要设计290

12.3.4 嵌入式软件详细设计293

12.3.5 案例分析294

本章小结295

第13章 Linux设备驱动编程规范296

13.1 基本原则296

13.2 布局297

13.3 基本格式299

13.4 对齐300

13.5 空行空格301

13.6 注释301

13.7 命名302

13.8 函数302

13.9 可靠性303

13.1 0其他303

本章小结305

参考文献306

热门推荐