《嵌入式Linux编程入门与开发实例》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王桐等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111333166
  • 页数:356 页
图书介绍:本书共分15章,分别介绍了嵌入式系统基础、文本编辑器的使用、构建嵌入式Linux开发环境、Linux常用命令、编译与调试等。

第1章 嵌入式系统基础 1

1.1嵌入式系统概述 1

1.2嵌入式操作系统 3

1.3 Linux操作系统 5

1.3.1 Linux的发展历史 5

1.3.2 Linux的发行版本 5

1.3.3 Linux系统的特点和组成 7

1.4 ARM处理器平台 9

1.4.1 ARM处理器简介 9

1.4.2 ARM处理器的体系结构 10

1.4.3 ARM微处理器系列 11

1.4.4 ARM微处理器的应用领域及特点 15

1.4.5 ARM微处理器的结构 16

1.4.6 ARM微处理器的应用选型 17

1.5嵌入式系统开发 18

1.5.1嵌入式系统的开发流程 18

1.5.2 Linux程序设计流程 19

1.6思考与练习 20

第2章 文本编辑器的使用 21

2.1 Vi编辑器 21

2.1.1 Vi的基本模式 21

2.1.2 Vi的基本操作 22

2.2 Vim编辑器 25

2.3 Emacs编辑器 31

2.3.1 Emacs的启动与退出 31

2.3.2 Emacs的基本编辑 32

2.3.3 Emacs的c模式 34

2.3.4 Emacs的Shell模式 34

2.4 gedit编辑器 35

2.5思考与练习 36

第3章 构建嵌入式Linux开发环境 37

3.1嵌入式系统开发环境的构建 37

3.2移植U-Boot 40

3.2.1 Bootloader简介 40

3.2.2 Bootloader的启动流程 41

3.2.3 U-Boot的分析与移植 49

3.2.4 VIVI分析 52

3.3嵌入式Linux操作系统内核编译 53

3.3.1 Linux内核结构 53

3.3.2内核的配置 55

3.3.3内核编译的过程 56

3.3.4内核的移植 57

3.4思考与练习 58

第4章Linux常用命令 59

4.1目录命令 59

4.1.1 Is 59

4.1.2 cd 62

4.1.3 pwd 63

4.1.4 mkdir 63

4.1.5 rmdir 64

4.2文件命令 65

4.2.1 cp 66

4.2.2 rm 68

4.2.3 my 69

4.2.4 cat 71

4.2.5 chmod 72

4.2.6 find 74

4.2.7 grep 77

4.2.8 sort 79

4.3思考与练习 80

第5章 编译与调试 81

5.1嵌入式Linux编译器GCC 81

5.1.1 GCC编译分析 82

5.1.2 GCC编译选项分析 89

5.1.3库函数的使用方法 92

5.2调试工具GDB 95

5.2.1 GDB使用实例 96

5.2.2 GDB的帮助 99

5.2.3设置/删除断点 100

5.2.4各种相关命令 100

5.3 Make工程管理器 102

5.3.1 Makefile文件的构成 103

5.3.2 Makefile变量 105

5.3.3 Make管理器的使用 106

5.4思考与练习 108

第6章 图形界面应用程序开发 109

6.1嵌入式图形用户界面 109

6.2 Linux环境下几种主流的GUI 110

6.2.1 MiniGUI 110

6.2.2 Qt/Embedded 112

6.2.3 MicroWindows 113

6.2.4 OpenGUI 114

6.2.5 GTK+ 114

6.3基于MiniGUI的图形界面开发 115

6.3.1 MiniGUI程序框架 116

6.3.2 MiniGUI中的窗口与消息 116

6.3.3菜单 124

6.3.4键盘与鼠标 124

6.3.5对话框 125

6.3.6常用控件 126

6.4思考与练习 134

第7章 嵌入式文件系统与存储技术 135

7.1嵌入式文件系统的功能和特点 135

7.2 Linux操作系统支持的常见文件系统 136

7.3 Linux文件结构 140

7.3.1 Linux文件系统 142

7.3.2 Linux文件类型 143

7.3.3 Linux文件的访问权限控制 145

7.4 Flash存储技术 147

7.4.1 Flash的类型 147

7.4.2 Flash的技术特点 147

7.4.3 NOR Flash与NAND Flash的区别 148

7.5 NOR Flash与JFFS2文件系统 150

7.5.1 JFFS2原理 150

7.5.2 JFFS2文件系统在Linux中的实现 154

7.6 NAND Flash与YAFFS文件系统 155

7.6.1 YAFFS原理 156

7.6.2 YAFFS文件系统在Linux中的实现 159

7.7思考与练习 160

第8章Linux设备驱动程序开发 161

8.1 Linux设备驱动程序概述 161

8.2 Linux设备驱动程序与内核的关系 163

8.3 Linux设备驱动程序框架 164

8.4设备访问方式及实现 166

8.4.1查询方式 166

8.4.2中断方式 167

8.4.3 DMA方式 168

8.5字符设备驱动 169

8.6块设备驱动 174

8.6.1块设备驱动简介 174

8.6.2块设备相关结构体 175

8.7网络设备驱动 179

8.7.1网络设备简介 179

8.7.2网络设备的运行机制 180

8.7.3 sk buff数据结构 181

8.7.4数据包的发送与接收 182

8.7.5 网络设备驱动程序的加载 183

8.7.6 DM9000网卡驱动程序分析 184

8.8思考与练习 188

第9章 进程控制 189

9.1 Linux进程 189

9.1.1 Linux进程简介 189

9.1.2 Linux进程调度 193

9.1.3进程的内存映像 198

9.2进程控制 198

9.2.1创建进程 199

9.2.2创建守护进程 200

9.2.3进程退出 204

9.2.4改变进程的优先级 205

9.2.5执行新程序 206

9.2.6等待进程结束 207

9.3进程间通信 209

9.3.1管道 210

9.3.2有名管道 211

9.3.3消息队列 214

9.3.4信号量 217

9.3.5 共享内存 219

9.4思考与练习 224

第10章 线程控制 226

10.1 Linux线程 226

10.1.1线程和进程的关系 227

10.1.2线程的分类 228

10.2创建线程 229

10.3线程的属性 231

10.4线程等待终止 235

10.5私有数据 236

10.6线程同步 236

10.6.1互斥锁 237

10.6.2条件变量 240

10.6.3信号量 243

10.7出错处理 244

10.7.1错误码 245

10.7.2出错处理相关函数 245

10.8思考与练习 247

第11章 嵌入式车载终端的设计 248

11.1车载终端的硬件平台 248

11.1.1 S3C2440A微处理器 248

11.1.2车辆监控系统 249

11.1.3存储单元 250

11.1.4 LCD 250

11.1.5数字音频接口 250

11.2嵌入式开发环境的建立 251

11.3嵌入式车载终端软件的开发 252

11.3.1 GPRS通信模块 252

11.3.2温度自动调节系统 253

11.3.3可视倒车功能的实现 257

11.3.4车载语音电话 263

第12章 嵌入式BOA服务器的构建 269

12.1嵌入式Web服务器 269

12.2嵌入式Linux系统移植 270

12.2.1开发环境的构建 270

12.2.2 Boot Loader分析移植 271

12.2.3 Linux内核移植 272

12.2.4构建根文件系统 274

12.3嵌入式Linux的BOA服务器移植 276

12.3.1 BOA服务器 276

12.3.2 CGIC库的移植 281

12.3.3 HTML模板的制作 283

12.3.4 CGI程序的开发 283

第13章 嵌入式VNC远程控制的实现 291

13.1远程控制及VNC 291

13.2需求分析 292

13.2.1软件需求分析 292

13.2.2硬件需求分析 293

13.3嵌入式Linux系统移植 294

13.3.1交叉开发环境的构建 294

13.3.2 Bootloader的移植 297

13.3.3 Linux内核的移植 300

13.3.4 Linux根文件系统的构建 302

13.4 Tiny-X及应用程序移植 307

13.4.1 Linux X图形系统和嵌入式X 307

13.4.2配置编译Tiny-X 307

13.4.3编译Matchbox 312

13.4.4编译VNC Viewer 312

13.4.5编译Xterm 313

13.5 RFB协议简析及文件系统的裁剪 313

13.5.1 RFB协议简析 314

13.5.2文件系统的裁剪 315

第 14章ARM Linux指纹门禁系统 316

14.1指纹识别技术概述 316

14.2指纹识别系统的原理 318

14.3系统硬件结构 320

14.4指纹采集芯片fps200 321

14.5 Linux操作系统移植 322

14.5.1 BootLoader移植 323

14.5.2 Linux内核移植到S3C2410 324

14.5.3加载指纹芯片驱动程序 326

14.5.4加载文件系统 326

14.6系统软件设计 328

14.6.1系统的初始化 328

14.6.2指纹采集与处理 329

14.6.3指纹识别算法的实现 331

第15章 基于ARM Linux的家庭安全监控系统设计 336

15.1系统的功能和组成 336

15.1.1 S3C2410简介 337

15.1.2无线红外探头RD-HW14G 339

15.1.3系统模块功能描述 339

15.2软件平台与开发工具 340

15.2.1 Linux系统 341

15.2.2 Shell脚本 341

15.2.3 GCC编译器 342

15.2.4 Make项目管理器 342

15.2.5 Socket编程接口 343

15.3基于嵌入式平台的网络服务器 343

15.3.1嵌入式Web服务器 344

15.3.2嵌入式视频服务器 346

15.3.3嵌入式SSH服务器 348

15.4视频监控系统的实现 350

15.4.1基于Java的浏览器实现 350

15.4.2 Windows平台下客户端的分析和实现 351

15.5红外监控模块的设计 355

参考文献 356