《嵌入式Linux程序设计案例与实验教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:俞辉主编;李永,何旭莉,刘小洋等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111263272
  • 页数:305 页
图书介绍:本书遵循嵌入式Linux和嵌入式系统相关课程的特点,秉承理论与时间相结合的指导思想,全面介绍了以ARM-Linux为操作系统,结合博创平台的嵌入式Linux程序设计与系统开发技术。

第1章 Linux开发基础 1

1.1 Linux系统概述 1

1.1.1 Linux简介 1

1.1.2 Linux系统的特点 1

1.1.3 Linux系统的组成 2

1.2 Linux系统的使用 2

实验1.1熟悉Linux基本命令与文件目录系统 2

1.3全屏幕编辑器与vi 6

1.3.1 vi简介 6

1.3.2基本命令 7

1.3.3常用操作 7

实验1.2全屏幕编辑器vi的使用 7

1.4 Linux Shell编程 8

1.4.1 Shell程序的编写和执行 8

1.4.2 Shell的变量 8

1.4.3 Shell的测试命令 9

1.4.4条件语句 9

1.4.5循环语句 9

1.4.6函数 10

实验1.3 Shell脚本编程实验 10

第2章 嵌入式Linux系统基础 12

2.1构建嵌入式Linux系统环境 12

2.1.1交叉编译 12

2.1.2交叉编译器 12

2.1.3 NFS 13

实验2.1嵌入式Linux开发环境的建立 14

2.2 Linux C程序设计 17

2.2.1 C程序设计概述 17

2.2.2 Makefile介绍 17

2.2.3 Makefile中的变量 18

2.2.4 Makefile隐含规则 19

实验2.2 Makefile与helloworld 19

2.3 Linux多线程库编程 21

2.3.1多线程 21

2.3.2 Linux下的多线程 21

2.3.3生产者-消费者模型简述 22

2.3.4缓冲区操作概述 22

2.3.5几个线程API 23

实验2.3 Linux多线程使用实例——生产者-消费者协议 24

2.4进程创建以及进程间通信 25

2.4.1进程概述 25

2.4.2进程的相关函数 25

2.4.3信号概述 27

2.4.4信号的相关函数 27

2.4.5管道概述 27

2.4.6管道的相关函数 28

实验2.4进程相关的应用程序设计 28

综合实验一 嵌入式平台的进程管理模拟实验 33

第3章 嵌入式Linux内核、引导系统和文件系统 36

3.1 Linux内核定制、裁剪和添加 36

3.1.1概述 36

3.1.2内核目录简介 37

3.1.3配置文件和配置工具 37

3.1.4内核的编译命令 39

实验3.1 Linux内核裁剪与编译 40

3.2嵌入式引导系统技术 42

3.2.1概述 42

3.2.2 Linux的引导系统——vivi与uboot 43

3.3文件系统的构建 44

3.3.1概述 44

3.3.2 BusyBox 45

综合实验二 软盘Linux操作系统的实现 45

第4章 嵌入式Linux接口设计与驱动程序 53

4.1驱动程序设计基础 53

4.1.1 Linux驱动程序简介 53

4.1.2开发驱动程序的方法 53

4.1.3设备驱动程序的分类 53

4.1.4主设备号和次设备号 54

4.1.5设备文件系统(devfs)与udevfs 54

实验4.1虚拟驱动模块实验 55

4.2 AD接口驱动程序 63

4.2.1 AD转换器 63

4.2.2 AD转换有关参数 64

4.2.3 ARM自带的AD转换装置 65

实验4.2 AD接口驱动程序 66

4.3直流电机驱动 68

4.3.1直流电机介绍 68

4.3.2直流电机的PWM原理 68

4.3.3 PWM TIMER结构 69

4.3.4基于ARM的PWM相关寄存器 69

4.3.5关于程序实现 72

实验4.3直流电机PWM驱动实验 72

4.4触摸屏接口设计与驱动 74

4.4.1触摸屏的工作原理 74

4.4.2触摸屏驱动芯片ADS7843 75

4.4.3 S3C2410芯片的触摸屏相关配置寄存器 75

实验4.4 tslib移植和使用 78

4.5显示接口与Linux FrameBuffer 83

4.5.1 FrameBuffer机制介绍 83

4.5.2 LCD简介 84

实验4.5 FrameBuffer实验 88

4.6 V4L程序设计 90

4.6.1 V4L概述 90

4.6.2 V4L设备的体系结构 91

实验4.6 Linux视频V4L驱动实验 91

4.7 OSS程序设计 93

4.7.1 OSS概述 93

4.7.2 OSS设备的体系结构 94

4.7.3 OSS 驱动分析 94

4.7.4 OSS用户空间编程 95

实验4.7 Linux音频OSS驱动实验 95

综合实验三 五子棋游戏的实现 97

第5章 嵌入式Linux开源软件移植与应用 101

5.1嵌入式WebServer GoAhead的移植与应用 101

5.1.1嵌入式Web服务器 101

5.1.2 GoAhead介绍 101

5.1.3 GoAhead在ARM平台上的移植 102

5.1.4页面操作 102

实验5.1嵌入式WebServer GoAhead实验 103

5.2嵌入式Web Service gSOAP的移植与应用 105

5.2.1 gSOAP介绍 105

5.2.2 gSOAP裁剪 106

5.2.3 gSOAP应用 109

实验5.2 WebService gSOAP实验 111

5.3嵌入式数据库SQLite的移植与使用 113

5.3.1嵌入式数据库 113

5.3.2 SQLite介绍 114

5.3.3 SQLite在ARM平台上的移植 114

5.3.4 SQLite的使用 115

实验5.3 SQLite移植实验 115

5.4播放器Mplayer的移植 120

5.4.1 Mplayer介绍 120

5.4.2 Mplayer在ARM平台上的移植 120

实验5.4 Mplayer到ARM平台上的移植 121

5.5 ffmpeg应用 123

5.5.1 ffmpeg简介 123

5.5.2 ffmpeg在ARM上的移植 124

5.5.3 ffmpeg命令应用实例 124

5.5.4 ffmpeg中几个重要的数据结构 125

5.5.5 ffmpeg应用开发 126

实验5.5 ffmpeg移植与应用 127

5.6开源软件移植的一般过程 131

5.6.1软件移植的概念 131

5.6.2软件移植过程 131

5.7 J2ME-phoneME移植 132

5.7.1 phoneME简介 132

5.7.2软件移植过程与效果 132

5.8嵌入式浏览器konqueror移植 133

5.8.1 konqueror简介 133

5.8.2软件移植过程与效果 133

综合实验四 基于WebService的嵌入式计算器 134

第6章 嵌入式Linux图形用户界面 137

6.1嵌入式GUI简介 137

6.1.1嵌入式GUI的特点 137

6.1.2嵌入式GUI的种类 137

6.2嵌入式GUI—— Qt 138

6.2.1 Qt与Qt/Embedded简介 138

6.2.2 Qt的特点 138

6.2.3 Qt的执行过程 139

6.2.4 Qt的插槽机制 140

6.2.5一个完整的Qt程序 140

6.2.6 QtDesigner介绍 141

实验6.1 Qt图形界面相关实验 141

6.3基于Qt技术的Qtopia 157

6.3.1 Qtopia简介 157

6.3.2 Qtopia的功能 157

6.3.3 Qtopia编程 157

实验6.2 Qtopia的移植以及编程 158

综合实验五 电子点菜系统 165

第7章 嵌入式Linux下的通信应用 167

7.1嵌入式Linux下的串口通信 167

7.1.1串口简介 167

7.1.2串口编程 167

7.1.3串口编程应用实例 168

实验7.1串口通信实验 170

7.2嵌入式Linux网络编程 171

7.2.1网络通信 171

7.2.2 Socket简介 172

7.2.3网络编程 172

实验7.2 Socket相关程序设计 174

7.3嵌入式蓝牙技术 176

7.3.1蓝牙技术 176

7.3.2蓝牙体系结构 176

7.3.3蓝牙通信网络 177

7.3.4 Linux Bluetooth软件层 177

7.3.5 USB适配器 177

实验7.3蓝牙相关实验 178

7.4 CAN总线 181

7.4.1 CAN总线简介 181

7.4.2 CAN总线硬件特征 182

7.4.3 CAN控制器驱动 184

实验7.4 CAN总线实验 186

第8章 嵌入式系统硬件设计基础与标准 189

8.1嵌入式系统的硬件组成 189

8.1.1嵌入式微处理器 189

8.1.2存储器 189

8.1.3输入/输出设备 191

8.1.4通信与扩展接口 191

8.2硬件设计基础知识 191

8.2.1计算机体系结构 191

8.2.2电子技术 192

8.2.3抗干扰技术 193

8.2.4印制电路板 194

8.3硬件设计中应注意的一些问题 195

8.3.1 IC元件的选择 195

8.3.2元件封装设计 195

8.3.3 PCB设计精度 195

8.3.4分离元件的正确使用 195

8.3.5高速PCB设计方法 196

8.3.6 PCB设计的一般原则 196

实验8.1常用模拟电路和数字电路原理 197

实验8.2 2410-S电路原理图阅读 202

实验8.3 2410-S所用芯片数据手册阅读 205

实验8.4 OMAP5910核心板电路原理 208

综合实验六 基于OMAP的加密终端硬件设计 214

第9章 OMAP5910与Linux Gateway 219

9.1 OMAP5910体系结构 219

9.1.1 MPU子系统 219

9.1.2 DSP子系统 219

9.2 Linux DSP Gateway 221

9.2.1 DSP Gateway的由来 221

9.2.2 DSP Gateway的Mailbox机制 222

9.2.3通信缓冲 222

9.2.4 Mailbox命令协议 224

9.2.5 DSP Gateway的设备接口 225

实验9.1 OMAP5910双核间基本通信 226

9.3 OMAP5910图像处理 229

9.3.1图片格式 229

9.3.2数字图像算法 230

实验9.2 OMAP图像处理实验 232

综合实验七 基于OMAP的加密终端的实现(软件部分) 234

第10章 嵌入式Linux综合项目实例 238

10.1基于嵌入式平台的电梯监控系统 238

10.1.1系统概述 238

10.1.2系统设计 239

10.1.3系统实现 242

10.1.4项目小结 248

10.2基于蓝牙技术的嵌入式点菜系统 249

10.2.1系统概述 249

10.2.2系统设计 250

10.2.3系统实现 256

10.2.4项目小结 257

10.3基于Web Service的数字油田监控系统 257

10.3.1系统概述 257

10.3.2系统设计 259

10.3.3系统实现 268

10.3.4项目小结 270

10.4基于嵌入式与Web Service的智能家居系统 270

10.4.1系统概述 271

10.4.2系统设计 272

10.4.3系统实现 286

10.4.4项目小结 297

10.5基于OMAP的音频与视频处理 298

10.5.1概述 298

10.5.2 MPEG压缩 298

10.5.3音视频数据在双处理器间的传输模块设计 299

10.5.4音频处理方案设计 300

10.5.5视频处理方案设计 300

10.5.6项目小结 303

参考文献 305