《Linux嵌入式工程师实用教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:刘加海主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2008
  • ISBN:9787030231741
  • 页数:342 页
图书介绍:本书对嵌入式系统和嵌入式Linux开发环境作了简单的介绍,并系统地讲解了进程与进程控制、嵌入式Linux网络编程、嵌入式Linux设备驱动程序的开发、嵌入式Linux图形用户界面、嵌入式实时操作系统与实时Linux、嵌入式Linux的储存设备、嵌入式Linux与Java等,还安排了适量的实验内容与课后实践,使读者能够边学边用,更快更好地掌握所学知识。

第0章 开源文化概述 1

0.1 开源文化概述 2

0.1.1 开源文化 2

0.1.2 关于黑客 2

0.2 开源软件与自由软件 3

0.3 开源教育模式 3

0.3.1 开放教育资源 4

0.3.2 开放教育发展 4

0.3.3 开源教育模式 4

第1章 嵌入式系统基础 6

1.1 嵌入式系统概述 7

1.2 嵌入式处理器 7

1.3 嵌入式操作系统 8

1.4 嵌入式应用 10

思考与实验 13

第2章 嵌入式系统的硬、 软件开发环境 14

2.1 嵌入式Linux系统开发硬、软件环境概述 15

2.2 嵌入式Linux开发环境的硬件连接 16

2.2.1 嵌入式硬件 16

2.2.2 PC宿主机与嵌入式硬件设备的连接 16

2.3 嵌入式Linux开发环境的软件与设置 17

2.3.1 嵌入式开发软件环境配置流程 17

2.3.2 关闭防火墙 18

2.3.3 minicom端口配置及使用 18

2.3.4 TFTP服务配置及使用 24

2.3.5 NFS服务的配置 28

2.3.6 交叉编译器安装 29

思考与实验 32

第3章 Linux内核移植与ramdisk文件系统 33

3.1 Linux内核移植 34

3.1.1 内核移植的基本概念 34

3.1.2 内核移植的准备 34

3 1 3 内核移植的基本过程 34

3.1.4 内核移植的具体操作 35

3.2 Linux根文件系统的制作 40

3.2.1 根文件系统概述 40

3.2.2 建立根文件系统 42

思考与实验 45

第4章 嵌入式C程序调试技术 46

4.1 交叉编译技术 47

4.1.1 交叉编译器 47

4.1.2 GDBServer调试器 48

4.2 make工程管理器 53

4.2.1 Makefile工程文件的编写 53

4.2.2 Makefile变量的使用 58

4.2.3 Makefile文件对其他Makefile文件的引用 61

4.2.4 Makefile中的函数 62

4.2.5 运行make 63

思考与实验 63

第5章 嵌入式系统基础程序设计 65

5.1 嵌入式I/O程序设计 66

5.1.1 不带缓存的文件I/O操作 66

5.1.2 带缓存的流文件操作 72

5.2 嵌入式进程与进程间通信程序设计 76

5.2.1 进程创建 76

5.2.2 进程通信——管道 81

5.2.3 进程通信——信号 83

5.2.4 进程通信——共享内存 92

5.2.5 进程通信——消息队列 95

思考与实验 98

第6章 串口通信程序设计 102

6.1 串行通信概述 103

6.2 串口的分类 103

6.3 常用串口的引脚功能 104

6.4 串口属性参数的设置 107

6.5 串口与ARM的连接方法 109

6.6 串行通信程序的设计 111

6.6.1 串行通信程序设计流程 111

6.6.2 串口通信程序设计主要函数 111

6.6.3 串口通信程序设计实例 112

6.7 基于串口的GPRS应用 123

6.7.1 应用简介 123

6.7.2 原理模块设计 123

6.7.3 在PC机平台上基于串口的GPRS应用 123

6.7.4 基于串口的程序设计模块分析 124

6.7.5 GPRS一般故障排除 127

思考与实验 128

第7章 嵌入式网络应用程序设计 129

7.1 socket简介 130

7.1.1 socket的含义 130

7.1.2 socket套接口的分类 130

7.2 socket套接口的数据结构 130

7.2.1 sockaddr数据结构类型 130

7.2.2 字节顺序转换函数 131

7.2.3 socket编程中的常用函数 132

7.2.4 gethostbyname()函数 134

7.3 TCP编程 135

7.3.1 服务器端的实现 135

7.3.2 客户端的实现 136

思考与实验 152

第8章 图形图像程序设计 153

8.1 图形图像程序概述 154

8.2 graphic接口函数说明 154

8.3 图形处理设计实例 155

8.4 图片显示设计实例 160

思考与实验 162

第9章 嵌入式GUI-Qt应用程序设计 163

9.1 Qt简介 164

9.1.1 Qt的安装 164

9.1.2 Qt的编译器 164

9.1.3 Qt的特征 164

9.2 Qt环境的配置 165

9.3 Qt集成开发工具的使用 167

9.4 Qt实例一 172

9.4.1 应用程序代码编写 173

9.4.2 编译生成工程文件 177

9.5 Qt实例二 179

9.5.1 服务器端代码编写 180

9.5.2 客户端程序代码编写 192

思考与实验 203

第10章 设备驱动程序设计基础 204

10.1 设备驱动程序的概念 205

10.1.1 设备文件的查看 205

10.1.2 主设备号与次设备号 206

10.1.3 与设备驱动相关的数据结构 206

10.2 驱动程序的组成 207

10.3 驱动程序的基本流程 207

10.4 Linux字符设备驱动程序设计 208

10.4.1 字符设备驱动程序数据结构 208

10.4.2 字符设备驱动程序实例——虚拟字符设备 214

10.4.3 字符设备驱动程序实例——GPIO的驱动程序设计 221

思考与实验 229

第11章 数码驱动程序设计 230

11.1 数码驱动原理 231

11.2 数码驱动硬件连接电路 232

11.2.1 LED驱动电路相关器件的功能特性 232

11.2.2 驱动电路相关器件的电路连接 234

11.3 数码驱动程序设计实例 235

11.3.1 系统分析 235

11.3.2 系统硬件设计 236

11.3.3 系统软件设计 237

11.4 系统设计操作步骤 241

11.4.1 键盘驱动程序设计步骤 241

11.4.2 LED驱动程序设计步骤 245

11.5 LED数码显示测试程序设计 249

思考与实验 254

第12章 SD驱动程序设计 255

12.1 SD卡 256

12.1.1 SD卡概述 256

12.1.2 SD卡的辨别 256

12.1.3 SD卡的接口定义及管脚功能 257

12.1.4 S3C2410中的SDI接口 259

12.1.5 SD的寄存器 260

12.1.6 SD卡驱动 261

12.1.7 S3C2410与SD的连接 261

12.2 块设备驱动程序概述 262

12.2.1 简单块设备驱动框架 262

12.2.2 设备驱动程序设计流程 262

12.2.3 块设备及相关数据结构 264

12.3 块设备驱动程序的设计流程 266

12.3.1 驱动程序的注册与注销 266

12.3.2 设备的打开与释放 267

12.3.3 设备的读/写操作 267

12.3.4 设备的控制操作 267

12.3.5 设备的中断和轮询处理 267

12.4 SD卡驱动程序的设计 268

12.5 RJARM9_EDU环境下SD卡驱动程序介绍 270

12.5.1 mmcsd_slot_s3c2410.c文件中的函数 271

12.5.2 mmcsd_disk.c文件中的函数 271

12.5.3 mmcsd_cs.c文件中的函数 272

12.5.4 mmcsd_bus.c文件中的函数 272

12.5.5 RJARM9_EDU上SD卡调试步骤 272

思考与实验 273

第13章 A/D与D/A驱动程序设计 274

13.1 A/D与D/A转换的应用概况 275

13.2 A/D与D/A转换流程 275

13.3 A/D转换原理 275

13.3 1采样定理 276

13.3.2 量化和编码 276

13.4 D/A转换原理 277

13.4.1 D/A转换器的基本工作原理 277

13.4.2 D/A转换特性 277

13.5 A/与D/A转换的硬件电路设计 278

13.5.1 常用A/D转换器件简介 278

13.5.2 A/D转换器件ADC0809 278

13.6 A/D转换程序设计 281

13.6.1 A/D驱动程序分析 281

13.6.2 驱动程序编写的具体步骤 285

13.6.3 A/D驱动程序测试 290

13.7 常用D/A转换器件简介 293

13.8 DAC0832及其接口 294

13.9 D/A转换程序设计 296

13.9.1 D/A驱动程序分析 296

13.9.2 驱动程序编写的具体步骤 297

13.9.3 D/A驱动程序测试 301

思考与实验 303

第14章 LCD驱动程序设计 304

14.1 LCD应用概况 305

14.2 LCD的工作原理 305

14.3 LCD驱动方式 306

14.3.1 静态驱动方式 306

14.3.2 动态驱动方式 307

14.4 LCD常用器件 308

14.5 LCD的控制/驱动与接口概述 309

14.5.1 S3C2410 LCD控制器 309

14.5.2 S3C2410与LCD连接电路 311

14.6 基于FrameBuffer的LCD驱动程序设计 312

14.6.1 FrameBuffer设备驱动结构体 312

14.6.2 FrameBuffer设备驱动应用程序 313

14.7 LCD测试 314

14.8 LCD程序设计实例 318

思考与实验 323

第15章 嵌入式系统设计实例分析 324

15.1 指纹识别门禁系统 325

15.1.1 门禁系统概述 325

15.1.2 系统设计分析 325

15.1.3 系统设计 326

15.1.4 系统实施 327

15.1.5 系统测试 327

15.2 实时视频采集系统 327

15.2.1 实时视频采集系统概述 327

15.2.2 系统设计分析 328

15.2.3 系统设计 329

15.2.4 系统实施 329

15.2.5 系统测试 329

15.3 多媒体网络家庭娱乐系统 330

15.3.1 多媒体网络家庭娱乐系统概述 330

15.3.2 系统设计分析 330

15.3.3 系统设计 331

15.3.4 系统实施 331

15.3.5 系统测试 332

15.4 智能车辆助理 332

15.4.1 智能车辆助理系统概述 332

15.4.2 系统设计分析 333

15.4.3 系统设计 334

15.4.4 系统实施 334

15.4.5 系统测试 335

15.5 野生动物保护区车载终端系统 335

15.5.1 野生动物保护区车载终端系统概述 335

15.5.2 系统设计分析 336

15.5.3 系统设计 337

15.5.4 系统实施 337

15.5.5 系统测试 338

15.6 网络跑步机 338

15.6.1 网络跑步机概述 338

15.6.2 系统设计分析 339

15.6.3 系统设计 339

15.6.4 系统实施 340

15.6.5 系统测试 340

主要参考文献 342