《嵌入式Linux程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:田卫新,张莉莉编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302460572
  • 页数:382 页
图书介绍:教材主要讲解Linux的发展过程,内核设计原理、结构,Linux系统的使用与管理,Linux C语言程序的开发环境,linux内核的移植,文件管理,网络管理,进程管理,设备驱动程序等基本模块编写,最后提供分别Linux在图像处理以及机器人操作上的二个应用案例讲解,使读者具备linux系统的综合开发能力。

第1章 绪论 1

1.1 Linux系统简介 1

1.1.1早期操作系统的发展 1

1.1.2 Linux系统的发展过程 2

1.1.3 Linux的版权 2

1.2 Linux操作系统特点 3

1.2.1 Linux系统特性 3

1.2.2 Linux与其他操作系统的比较 5

1.3 Linux内核组成 7

1.3.1进程管理 8

1.3.2内存管理 9

1.3.3虚拟文件系统 9

1.3.4网络子系统 11

1.4 Linux在嵌入式系统中的应用 12

1.4.1嵌入式Linux系统优势 12

1.4.2嵌入式Linux交叉编译过程 13

1.4.3嵌入式Linux的不足及改进 14

习题 16

第2章 嵌入式系统概述 17

2.1计算机系统发展及分类 17

2.1.1计算机的主要应用领域 17

2.1.2计算机系统分类 20

2.2嵌入式系统简介 21

2.2.1嵌入式系统定义 21

2.2.2嵌入式系统的分类与特点 22

2.2.3嵌入式系统发展历史 23

2.2.4嵌入式系统组成 24

2.3 ARM简介 27

2.3.1 ARM体系结构特点 27

2.3.2 ARM系列微处理器 28

2.3.3 ARM编程模型 33

2.4嵌入式操作系统 36

2.4.1嵌入式Linux 36

2.4.2 VxWorks 37

2.4.3 QNX 37

2.4.4 Windows CE 37

2.4.5 Palm OS 37

2.5嵌入式系统开发过程 38

2.5.1嵌入式系统整体开发过程 38

2.5.2 嵌入式硬件开发流程 41

2.5.3嵌入式软件开发流程 43

习题 44

第3章Linux系统安装与配置 45

3.1 Linux系统版本 45

3.1.1 Linux内核版本 45

3.1.2 Linux系统发行版本 49

3.2 Linux的安装过程 51

3.2.1系统最低配置与推荐配置 51

3.2.2安装前准备工作 51

3.2.3硬盘分区 52

3.2.4安装系统 52

3.3 Linux系统目录结构及基本配置 60

3.3.1 Linux目录结构 60

3.3.2系统启动过程 61

3.3.3登录切换 64

3.3.4安装程序 65

习题 67

第4章Linux系统操作基础 68

4.1 Shell与命令行 68

4.1.1 Shell概述 68

4.1.2 Shell命令的分类 69

4.1.3 Shell命令使用技巧 69

4.2文件管理 70

4.2.1什么是文件 70

4.2.2 Linux文件系统 70

4.2.3 Linux文件系统相关命令 71

4.3用户管理 82

4.3.1用户类型 82

4.3.2用户账号管理 83

4.3.3组管理 86

4.4网络管理 87

4.4.1网络的基本配置 87

4.4.2网络状态命令 89

4.5进程管理 93

4.5.1什么是进程 93

4.5.2进程管理命令 93

4.5.3进程查看命令 95

习题 97

第5章Linux系统C语言程序设计 98

5.1 C语言概述 98

5.1.1 C语言发展过程 98

5.1.2 C语言的特点 99

5.1.3 C语言与Linux系统 100

5.2 Linux系统C语言程序设计过程 102

5.2.1 Linux系统C语言程序流程 102

5.2.2 gcc的编译选项 103

5.3 GDB调试器用法 105

5.3.1 gdb使用流程 105

5.3.2 gdb基本命令 109

5.4 make工程管理器 113

5.4.1 makefile基本结构 114

5.4.2 makefile变量 115

5.4.3 makefile规则 118

5.5模块化程序设计 119

5.5.1静态库的实现 119

5.5.2动态库的实现 121

5.6 ARM平台Linux交叉编译环境 121

5.6.1源码编译方式 122

5.6.2二进制解压安装 123

5.7集成开发环境 124

5.7.1 Qt Creator 125

5.7.2 KDevelop 125

5.7.3 Code::Blocks 125

5.7.4 NetBeans 126

5.7.5 Eclipse 127

习题 128

第6章Linux系统移植 129

6.1 U-Boot移植 129

6.1.1 BootLoader简介 129

6.1.2 U-Boot介绍 133

6.1.3 U-Boot装载过程 133

6.1.4 OK6410开发板U-Boot的移植 149

6.2 Linux内核移植 150

6.2.1计算机处理器架构 150

6.2.2 Linux内核及源码结构 153

6.2.3 Linux内核移植 155

6.3根文件系统移植 163

6.3.1虚拟文件系统 164

6.3.2文件系统分类 165

6.3.3根文件系统的挂载过程 167

6.3.4根文件系统制作 170

习题 173

第7章Linux并发程序设计 174

7.1 Linux进程 174

7.2进程控制 175

7.2.1获取进程ID 176

7.2.2创建进程 176

7.2.3进程调度 179

7.2.4进程终止 180

7.2.5等待进程结束 181

7.2.6守护进程 183

7.3进程之间的通信 186

7.3.1管道 186

7.3.2信号 193

7.3.3消息队列 203

7.3.4信号量 208

7.3.5共享内存 213

7.4线程 216

7.4.1创建轻量级进程 217

7.4.2 POSIX线程 218

7.4.3线程属性 222

7.4.4线程之间的同步与互斥 226

习题 237

第8章Linux网络编程 238

8.1网络编程的基本知识 238

8.2套接字 239

8.2.1套接字函数 239

8.2.2本地套接字 243

8.2.3网络套接字 246

8.3 TCP程序设计 253

8.4 UDP程序设计 257

8.5套接字属性设置 261

习题 265

第9章Linux文件编程 266

9.1底层文件I/O 266

9.1.1文件描述符 267

9.1.2底层文件I/O函数 267

9.2高级文件操作 270

9.2.1文件加锁 270

9.2.2多路复用 276

9.3标准文件I/O 285

9.3.1打开和关闭文件 286

9.3.2文件读写 288

习题 291

第10章Linux设备驱动程序设计 292

10.1设备驱动模型简介 292

10.1.1底层数据模型 292

10.1.2上层设备模型 297

10.1.3字符设备驱动模型应用接口 302

10.2 platform设备驱动程序设计 306

10.2.1 platform-device注册 306

10.2.2 platform-driver注册 307

10.2.3 platform设备驱动框架源码 310

10.3设备驱动程序编译及加载 313

10.3.1编译Linux设备驱动程序 313

10.3.2驱动程序的加载 314

10.4设备驱动程序硬件访问 317

10.4.1内存与I/O设备 317

10.4.2中断 320

10.5驱动程序设计实例分析 321

10.5.1蜂鸣器驱动程序设计 321

10.5.2中断驱动程序 333

10.5.3混杂设备驱动程序 336

习题 339

第11章 用户界面程序设计 340

11.1 Qt简介及安装 340

11.1.1 Qt简介 340

11.1.2 Qt安装 341

11.2 Qt程序设计入门 343

11.2.1命令行方式编程 343

11.2.2 Qt Creator方式 345

11.2.3 Qt程序的运行机制 353

11.3 Qt常用类介绍 357

11.3.1 Qt分组类库 357

11.3.2 Qt类库介绍 359

习题 382