分享
 
 
 

嵌入式Linux设备驱动开发详解

嵌入式Linux设备驱动开发详解  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,操作系统/系统开发,LINUX ,

作者: 李俊 编著

出 版 社: 人民邮电出版社

出版时间: 2008-3-1字数: 652000版次: 1页数: 416印刷时间: 2008/03/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115173423包装: 平装编辑推荐

本书特色:本书系统地介绍了嵌入式Linux设备驱动开发的相关知识和实例,主要包括:

数码管驱动程序;键盘驱动程序;A/D、D/A驱动程序;LCD驱动程序;触摸屏驱动程序;CAN总线驱动程序;I2C总线驱动程序;音频总线驱动程序;IDE驱动程序;NAND Flash和NOR Flash驱动程序;USB设备驱动程序;串口驱动程序;网络设备驱动程序。

实例丰富、讲解细致、代码分析详尽,嵌入式Linux设备驱动开发的理想参考用书。

内容简介

嵌入式Linux设备驱动是嵌入式系统中十分重要的组成部分。本书详细讲解了嵌入式Linux的各种设备驱动,包括字符设备驱动、数字显示驱动、键盘驱动、A/D驱动、D/A驱动、LCD驱动、触摸屏驱动、CAN总线驱动、IIC总线驱动、音频总线驱动、IDE接口驱动、闪存芯片驱动、USB驱动、串口驱动、网络设备驱动等,并结合大量实例进行讲解,读者可以快速熟悉和掌握相关知识。

本书内容丰富,专业性和实用性强,适合嵌入式系统设计人员以及高校相关专业师生学习和使用。

目录

第1章嵌入式系统与驱动程序1

本章目标1

1.1嵌入式系统概述1

1.1.1嵌入式系统的概念1

1.1.2嵌入式系统的特点2

1.1.3嵌入式系统的体系结构2

1.2嵌入式处理器介绍4

1.2.1嵌入式处理器分类4

1.2.2ARM概述5

1.2.3ARM系列芯片简介5

1.3嵌入式操作系统介绍7

1.3.1主流嵌入式操作系统7

1.3.2嵌入式系统的发展状况8

1.3.3嵌入式Linux介绍8

1.3.4嵌入式系统开发环境的建立9

1.3.5嵌入式软件开发10

1.4嵌入式Linux驱动程序12

1.4.1嵌入式Linux的内核空间和用户空间12

1.4.2嵌入式Linux的文件系统12

1.4.3嵌入式Linux的设备管理14

1.4.4嵌入式Linux的驱动程序16

1.5知识索引20

1.6思考与练习21

第2章简单的字符设备驱动程序23

本章目标23

2.1嵌入式Linux字符设备的驱动程序结构23

2.1.1嵌入式Linux驱动程序常用的头文件24

2.1.2File_operations结构体24

2.1.3字符设备驱动程序的入口25

2.1.4驱动程序的设备注册26

2.2设备驱动程序中的具体问题27

2.2.1I/O端口28

2.2.2内存操作29

2.2.3中断处理29

2.3LED的驱动程序实例及测试30

2.3.1LED I/O端口设置30

2.3.2LED硬件电路设计32

2.3.3LED驱动程序设计33

2.3.4LED测试程序设计36

2.4嵌入式Linux中断处理驱动程序及测试37

2.4.1中断处理过程37

2.4.2中断向量表39

2.4.3中断的处理模式39

2.4.4中断的优先级40

2.4.5中断的嵌套40

2.4.6中断源的扩展40

2.4.7中断控制寄存器的设置41

2.5按键中断的驱动程序实例45

2.5.1按键中断的电路设计45

2.5.2按键中断的驱动程序设计45

2.6知识索引48

2.7思考与练习49

第3章数字显示驱动程序50

本章目标50

3.1数字显示器50

3.1.1数码管简介50

3.1.2数码管的分类51

3.1.3数码管显示原理51

3.2数码管显示电路的硬件设计52

3.2.1译码器的使用52

3.2.2数码管的驱动方式53

3.2.3串/并变换的译码设计55

3.3数码管驱动程序实例56

3.3.1驱动程序的初始化和卸载模块56

3.3.2文件操作结构模块57

3.3.3数码管的打开模块57

3.3.4数码管的读写模块58

3.3.5数码管的I/O控制模块58

3.3.6数码管的退出模块58

3.3.7驱动程序的模块加载和卸载59

3.4数码管显示电路测试程序设计60

3.4.1数码管测试设计60

3.4.2数码管测试程序60

3.4.3数码管测试效果61

3.5知识索引61

3.6思考与练习62

第4章键盘驱动程序63

本章目标63

4.1键盘接口概述63

4.1.1键盘的分类63

4.1.2键盘的防抖65

4.1.3键盘的扫描65

4.1.4键盘的缓冲算法67

4.2键盘的驱动设计实例67

4.2.1锁存器和缓冲器扩展键盘67

4.2.2锁存器和缓冲器的接口68

4.2.3锁存器和缓冲器扩展键盘驱动程序设计69

4.2.4锁存器和缓冲器扩展键盘测试程序设计71

4.3智能控制芯片HD7279扩展键盘72

4.3.1HD7279的电路设计72

4.3.2HD7279的指令介绍73

4.3.3HD7279的串行接口74

4.3.4HD7279的驱动程序设计75

4.3.5HD7279的测试程序设计84

4.4知识索引85

4.5思考与练习85

第5章A/D驱动程序86

本章目标86

5.1A/D转换的过程86

5.1.1采样和保持86

5.1.2量化和编码88

5.1.3ADC的分类89

5.2A/D转换器的基本原理89

5.2.1逐次逼近型A/D转换器89

5.2.2双积分型A/D转换器90

5.2.3V/F和F/V型转换器93

5.2.4其他A/D转换器95

5.3A/D转换器接口技术97

5.3.1ADC的主要参数及意义97

5.3.2ADC的电路选择方法98

5.3.3ADC实际应用中的问题99

5.4S3C2410 A/D转换驱动设计实例99

5.4.1S3C2410的A/D转换电路99

5.4.2S3C2410X的A/D转换控制寄存器100

5.4.3S3C2410X的A/D转换数据寄存器101

5.4.4S3C2410X中A/D转换驱动程序的设计102

5.4.5S3C2410X中A/D转换测试程序的设计105

5.5知识索引106

5.6思考与练习107

第6章D/A驱动程序108

本章目标108

6.1D/A的原理介绍108

6.1.1D/A转换的概念及基本原理108

6.1.2电子模拟开关109

6.1.3D/A转换器的基本结构110

6.1.4D/A转换的静态参数114

6.1.5D/A转换的动态参数115

6.2D/A转换的硬件电路设计116

6.2.1D/A转换的接口技术116

6.2.2D/A转换芯片介绍117

6.2.3D/A转换的电路设计118

6.3D/A转换器的驱动程序实例118

6.3.1D/A驱动程序中的宏定义118

6.3.2D/A的模块加载118

6.3.3D/A转换器的文件操作模块119

6.3.4D/A转换器的读写控制模块120

6.3.5D/A转换器的打开、退出模块120

6.4测试程序的设计120

6.4.1D/A测试程序中的宏定义121

6.4.2D/A测试程序的主函数121

6.4.3D/A测试程序中的功能函数122

6.4.4D/A测试程序中的功能打印函数123

6.4.5D/A测试程序中的波形生成函数123

6.4.6D/A测试程序的效果124

6.5知识索引125

6.6思考与练习125

第7章LCD驱动程序126

本章目标126

7.1LCD显示器概述126

7.1.1液晶126

7.1.2LCD显示屏的背光127

7.1.3LCD显示器的分类127

7.1.4LCD的显示原理127

7.1.5LCD的驱动方式130

7.1.6LCD的常用指标131

7.2LCD的显示接口131

7.2.1灰度STN的时序132

7.2.2彩色STN的时序133

7.2.3TFT的时序134

7.3嵌入式处理器的LCD控制器136

7.3.1LCD控制器136

7.3.2LCD控制器的设置137

7.3.3LCD的字符显示缓存139

7.4LCD的驱动程序设计140

7.4.1LCD驱动程序相关的宏定义140

7.4.2LCD驱动程序的底层操作函数142

7.4.3LCD驱动程序提供的API145

7.4.4LCD驱动程序的模块化加载151

7.4.5LCD的测试程序152

7.5基于Framebuffer的LCD驱动程序实例155

7.5.1Framebuffer概述155

7.5.2LCD的电路连接155

7.5.3Framebuffer设备驱动程序的结构156

7.5.4Framebuffer设备驱动程序的设计159

7.5.5Framebuffer设备测试程序的设计164

7.5.6嵌入式Linux常用的GUI166

7.6知识索引166

7.7思考与练习167

第8章触摸屏驱动程序168

本章目标168

8.1触摸屏概述168

8.2触摸屏的分类168

8.2.1电阻技术触摸屏168

8.2.2表面声波技术触摸屏169

8.2.3电容电感技术触摸屏170

8.2.4红外线技术触摸屏170

8.3触摸屏的特性171

8.3.1透明度和色彩失真171

8.3.2反光性171

8.3.3清晰度171

8.3.4漂移172

8.3.5检测和定位172

8.4触摸屏的硬件电路设计172

8.4.1电阻式触摸屏的电路原理172

8.4.2电阻式触摸屏原点的定位173

8.4.3电阻式触摸屏的电路连接174

8.5触摸屏的驱动程序实例176

8.5.1触摸屏接口的模式176

8.5.2A/D转换和触摸屏寄存器的设置177

8.5.3触摸屏的坐标179

8.5.4触摸屏的电路连接180

8.5.5触摸屏的驱动程序接口181

8.6测试程序的设计182

8.6.1触摸屏的数据定义183

8.6.2触摸屏的数据处理183

8.6.3触摸屏的运行测试185

8.7知识索引186

8.8思考与练习187

第9章CAN总线驱动程序188

本章目标188

9.1CAN总线接口设计188

9.1.1CAN总线概述188

9.1.2CAN的工作特点及主要优点189

9.1.3CAN总线的电气特征和MAC帧结构189

9.2嵌入式处理器上CAN总线接口的扩展190

9.2.1SJA1000简介190

9.2.2SJA1000扩展191

9.3SJA1000扩展CAN总线接口的设计192

9.3.1CAN 控制器SJA1000的操作模式192

9.3.2CAN控制器SJA1000的特征功能193

9.3.3CAN 控制器SJA1000的Basic CAN模式设置194

9.4SJA1000扩展CAN总线接口的通信196

9.4.1通过CAN总线建立通信的步骤196

9.4.2SJA1000的初始化196

9.4.3驱动程序的结构设计198

9.4.4驱动程序init、exit、open、close函数的实现200

9.4.5驱动程序read、write函数的实现201

9.4.6驱动程序interrupt、ioctl函数实现202

9.4.7测试程序的编写202

9.5驱动程序的加载204

9.6知识索引204

9.7思考与练习205

第10章IIC总线驱动程序206

本章目标206

10.1IIC总线概述206

10.1.1IIC总线介绍206

10.1.2IIC总线引入的原因206

10.1.3IIC总线的特点206

10.1.4IIC总线的基本结构207

10.1.5IIC总线的术语207

10.1.6IIC总线的工作208

10.1.7IIC总线的竞争仲裁209

10.1.8IIC总线的工作流程210

10.2嵌入式处理器的IIC接口211

10.2.1IIC总线控制寄存器212

10.2.2IIC总线控制/状态寄存器213

10.2.3IIC总线地址寄存器214

10.2.4IIC总线移位数据寄存器214

10.2.5S3C2410中与IIC对应的I/O端口215

10.3基于IIC的键盘芯片应用216

10.3.1ZLG7290的功能217

10.3.2ZLG7290的控制方式218

10.3.3ZLG7290的寄存器218

10.3.4ZLG7290的通信接口219

10.3.5ZLG7290的指令介绍219

10.4IIC总线驱动程序实例221

10.4.1ZLG7290的电路连接221

10.4.2ZLG7290的通信流程223

10.4.3ZLG7290驱动中变量的定义225

10.4.4ZLG7290驱动中实时时钟的改变226

10.4.5ZLG7290和IIC寄存器的初始化227

10.4.6ZLG7290驱动程序的模块化228

10.4.7ZLG7290的文件操作结构228

10.5IIC总线的测试程序230

10.6知识索引231

10.7思考与练习231

第11章音频总线驱动程序232

本章目标232

11.1音频总线接口概述232

11.1.1音频的采样精度233

11.1.2音频编码233

11.2IIS音频总线接口233

11.2.1IIS总线的物理连接233

11.2.2IIS的总线协议234

11.2.3IIS总线的硬件设计235

11.2.4IIS总线的寄存器236

11.3AC97音频总线接口239

11.4IIS总线的驱动程序设计240

11.4.1音频设备基础知识240

11.4.2音频设备文件241

11.4.3WAV声音文件243

11.4.4音频设备和驱动程序的通信243

11.4.5设备的初始化和加载244

11.4.6DMA的操作和宏定义246

11.4.7audio设备文件的操作248

11.4.8mixer设备文件的操作260

11.5音频驱动程序的测试262

11.6知识索引262

11.7思考与练习263

第12章IDE接口驱动程序264

本章目标264

12.1IDE接口概述264

12.1.1硬盘知识介绍264

12.1.2IDE接口标准267

12.1.3IDE接口的传输模式269

12.1.4IDE接口寄存器269

12.2IDE接口驱动程序的移植271

12.2.1嵌入式Linux下IDE驱动程序接口271

12.2.2嵌入式Linux下IDE驱动程序272

12.2.3IDE硬盘的读/写操作274

12.3IDE驱动程序测试282

12.3.1磁盘文件系统简介283

12.3.2IDE分区测试283

12.4知识索引285

12.5思考与练习285

第13章闪存芯片的驱动程序286

本章目标286

13.1闪存芯片概述286

13.1.1闪存芯片的物理特性286

13.1.2嵌入式文件系统概述289

13.1.3MTD体系介绍289

13.1.4Flash专有名词291

13.2NAND Flash291

13.2.1NAND Flash的结构291

13.2.2NAND Flash的操作292

13.2.3NAND Flash控制器294

13.2.4NAND Flash的时序296

13.2.5NAND Flash的驱动程序实例297

13.3NOR Flash301

13.3.1NOR Flash的结构301

13.3.2NOR Flash的操作302

13.3.3NOR Flash的驱动程序实例303

13.4基于闪存的文件系统307

13.5知识索引309

13.6思考与练习310

第14章USB 设备驱动程序311

本章目标311

14.1USB接口概述311

14.1.1USB系统311

14.1.2USB的电气特性312

14.1.3USB总线的拓扑结构313

14.1.4USB的通信协议313

14.2嵌入式系统中USB的使用315

14.2.1OHCI概述315

14.2.2Host接口硬件设计316

14.3嵌入式系统中USB设备的驱动程序设计316

14.3.1USB设备驱动程序的分类316

14.3.2USB驱动的骨架程序317

14.3.3设备端USB驱动程序327

14.3.4USB键盘飞梭的驱动程序327

14.4USB驱动程序测试331

14.4.1热插拔331

14.4.2利用hotplug脚本实现设备的自动加载332

14.5知识索引333

14.6思考与练习334

第15章串口驱动程序335

本章目标335

15.1串口概述335

15.1.1同步串口的传输标准335

15.1.2异步串口的传输标准336

15.1.3串口的物理层标准336

15.1.4串口的电平逻辑转换341

15.2嵌入式处理器串口控制器342

15.2.1嵌入式系统中常用的UART控制器342

15.2.2S3C2410中的UART控制器342

15.3嵌入式Linux串口驱动程序设计346

15.3.1异步串口的工作流程346

15.3.2串口的驱动程序结构347

15.3.3串口驱动程序的注册349

15.3.4ops中的串口操作函数351

15.3.5串口驱动中与控制台有关的函数360

15.4嵌入式Linux串口的应用程序设计360

15.4.1串口编程需要用到的头文件360

15.4.2串口的终端函数361

15.4.3RS-485和RS-232的通信363

15.5基于串口的GPRS应用实例366

15.5.1GPRS简介366

15.5.2GPRS的电路设计367

15.5.3GPRS的程序分析368

15.6基于串口的GPS应用实例371

15.6.1GPS简介371

15.6.2GPS应用程序设计371

15.7知识索引375

15.8思考与练习376

第16章网络设备驱动程序377

本章目标377

16.1以太网概述377

16.1.1以太网的连接377

16.1.2以太网的工作原理378

16.1.3以太网的帧结构379

16.1.4TCP/IP网络协议381

16.1.5嵌入式系统中常用的网络协议382

16.2嵌入式处理器的以太网接口383

16.2.1带有MAC层控制协议的处理器383

16.2.2通过以太网芯片扩展网络接口384

16.3以太网驱动程序体系结构385

16.3.1网络驱动程序的结构385

16.3.2网络设备初始化386

16.3.3数据包的发送与接收386

16.3.4网络设备的加载方式387

16.3.5常用的系统支持388

16.4网卡驱动程序实例392

16.4.1NE2000的内核支持392

16.4.2网络接口的初始化392

16.4.3网络接口设备的打开和关闭393

16.4.4数据包发送和接收394

16.4.5网络驱动程序的基本操作394

16.4.6编写嵌入式Linux网络驱动程序中需要注意的问题398

16.5网络驱动程序的测试399

16.5.1嵌入式Linux的网络配置400

16.5.2NFS文件系统401

16.5.3socket编程403

16.5.4socket编程实例405

16.6知识索引415

16.7思考与练习416

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有