《嵌入式Linux C编程入门》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:华清远见嵌入式培训中心编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115212818
  • 页数:408 页
图书介绍:本书以C语言为主线,讲解嵌入式Linux的编程语言基础C语言,详细讲解嵌入式Linux的开发环境、嵌入式Linux编译器等,旨在讲解嵌入式Linux C语言的基础和功能级别的应用。

第1章 嵌入式系统基础知识 1

1.1嵌入式系统概述 1

1.1.1嵌入式系统的发展史 2

1.1.2嵌入式系统的定义与特点 3

1.1.3嵌入式系统的特点 4

1.2嵌入式系统的组成 5

1.2.1嵌入式系统的硬件架构 6

1.2.2嵌入式操作系统 9

1.2.3嵌入式应用软件 11

1.3ARM处理器平台介绍 12

1.3.1ARM处理器简介 12

1.3.2ARM处理器系列 13

1.3.3ARM体系结构简介 17

1.3.4S3C2410处理器简介 18

1.4嵌入式系统硬件平台选型 22

1.4.1硬件平台的选择 22

1.4.2ARM处理器选型 23

1.5嵌入式系统开发概述 25

1.5.1嵌入式系统开发流程 25

1.5.2嵌入式软件开发流程 26

本章小结 31

动手练练 31

第2章 嵌入式Linux C语言开发工具 32

2.1嵌入式Linux下C语言概述 32

2.1.1C语言简史 33

2.1.2C语言特点 33

2.1.3嵌入式Linux C语言编程环境 34

2.2嵌入式Linux编辑器vi的使用 35

2.2.1vi的基本模式 35

2.2.2vi的基本操作 36

2.2.3vi的使用实例分析 40

2.3嵌入式Linux编译器GCC的使用 41

2.3.1GCC概述 41

2.3.2GCC编译流程分析 42

2.3.3GCC警告提示 45

2.3.4GCC使用库函数 47

2.3.5GCC代码优化 49

2.4嵌入式Linux调试器GDB的使用 49

2.4.1GDB使用实例 50

2.4.2设置/删除断点 53

2.4.3数据相关命令 54

2.4.4调试运行环境相关命令 55

2.4.5堆栈相关命令 55

2.5make工程管理器 55

2.5.1Makefile基本结构 56

2.5.2Makefile变量 58

2.5.3Makefile规则 61

2.5.4make使用 62

2.6Emacs综合编辑器 63

2.6.1Emacs的启动与退出 63

2.6.2Emacs的基本编辑 64

2.6.3Emacs的C模式 66

2.6.4Emacs的Shell模式 69

本章小结 70

动手练练 70

第3章 构建嵌入式Linux系统 71

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

3.1.1嵌入式交叉编译环境搭建 71

3.1.2minicom和超级终端配置及使用 76

3.1.3宿主机服务配置 83

3.2Bootloader 87

3.2.1Bootloader的概念 88

3.2.2Bootloader启动流程分析 89

3.2.3U-Boot概述 89

3.2.4U-Boot源码导读 90

3.3编译嵌入式Linux内核 91

3.4Linux内核目录结构 95

3.5制作文件系统 95

本章小结 97

动手练练 97

第4章 嵌入式Linux C语言基础——数据、表达式 98

4.1嵌入式Linux C语言概述 98

4.2基本数据类型 100

4.2.1整型家族 100

4.2.2实型家族 102

4.2.3字符型家族 103

4.2.4枚举家族 104

4.2.5指针家族 105

4.3变量与常量 107

4.3.1变量的定义 107

4.3.2typedef 113

4.3.3常量定义 114

4.3.4ARM-Linux基本数据类型综合应用实例 115

4.4运算符与表达式 118

4.4.1算术运算符和表达式 119

4.4.2赋值运算符和表达式 121

4.4.3逗号运算符和表达式 123

4.4.4位运算符和表达式 124

4.4.5关系运算符和表达式 126

4.4.6逻辑运算符和表达式 127

4.4.7sizeof操作符 129

4.4.8条件(?)运算符 130

4.4.9运算符优先级总结 131

4.4.10ARM-Linux运算符综合实例 133

本章小结 137

动手练练 137

第5章 嵌入式Linux C语言基础——控制语句及函数 138

5.1嵌入式Linux C语言程序结构概述 138

5.1.1嵌入式Linux C语言3种程序结构 138

5.1.2嵌入式Linux C语言基本语句 139

5.2选择语句 142

5.2.1if语句 142

5.2.2switch语句 145

5.2.3ARM-Linux选择语句应用实例 147

5.3循环语句 148

5.3.1while和do-while语句 148

5.3.2for循环语句 149

5.3.3break和continue语句 151

5.3.4ARM-Linux循环语句应用实例 152

5.4goto语句 154

5.4.1goto语句语法 154

5.4.2ARM-Linux中goto语句应用实例 154

5.5函数的定义与声明 155

5.5.1C语言函数概述 155

5.5.2函数定义 157

5.5.3函数声明 157

5.5.4ARM-Linux函数定义与声明实例 158

5.6函数的参数、值和基本调用 160

5.6.1函数的参数 160

5.6.2函数的值 161

5.6.3函数的基本调用 161

5.7函数的嵌套、递归调用 162

5.7.1函数的嵌套调用 162

5.7.2函数的递归调用 162

5.7.3ARM-Linux函数调用应用实例 165

本章小结 167

动手练练 167

第6章 嵌入式Linux C语言基础——数组、指针与结构 168

6.1数组 169

6.1.1一维数组 169

6.1.2字符串 172

6.1.3二维数组 174

6.2指针 175

6.2.1指针的概念 175

6.2.2指针变量的操作 177

6.2.3指针和数组 184

6.2.4指针高级议题 191

6.3结构体与联合 196

6.3.1结构体 196

6.3.2联合 200

6.3.3ARM-Linux指针、结构体使用实例 201

本章小结 203

动手练练 203

第7章 嵌入式Linux C语言基础——高级议题 204

7.1预处理 204

7.1.1预处理的概念 204

7.1.2预定义 205

7.1.3文件包含 211

7.1.4条件编译 212

7.2C语言中的内存分配 214

7.2.1C语言程序所占内存分类 214

7.2.2堆和栈的区别 215

7.3嵌入式Linux可移植性考虑 216

7.3.1字长和数据类型 216

7.3.2数据对齐 218

7.3.3字节顺序 218

7.4C和汇编的接口 219

7.4.1内嵌汇编的语法 219

7.4.2编译器优化介绍 221

7.4.3C语言关键字volatile 222

7.4.4memory描述符 222

7.4.5gcc对内嵌汇编语言的处理方式 223

本章小结 224

动手练练 224

第8章 嵌入式Linux C语言基础——ARM Linux内核常见数据结构 225

8.1链表 226

8.1.1链表概述 226

8.1.2单向链表 226

8.1.3双向链表 233

8.1.4循环链表 234

8.1.5ARM Linux中链表使用实例 235

8.2树、二叉树、平衡树 237

8.2.1树 237

8.2.2二叉树 238

8.2.3平衡树 245

8.2.4ARM Linux中红黑树使用实例 247

8.3哈希表 249

8.3.1哈希表的概念及作用 249

8.3.2哈希表的构造方法 250

8.3.3哈希表的处理冲突方法 252

8.3.4ARM Linux中哈希表使用实例 253

本章小结 255

动手练练 255

第9章 文件I/O相关实例 256

9.1Linux系统调用及用户编程接口(API) 257

9.1.1系统调用 257

9.1.2用户编程接口(API) 257

9.1.3系统命令 258

9.2ARM Linux文件I/O系统概述 258

9.2.1虚拟文件系统(VFS) 258

9.2.2通用文件模型 259

9.2.3ARM Linux的设备文件 264

9.3文件I/O操作 265

9.3.1不带缓存的文件I/O操作 265

9.3.2标准I/O开发 276

9.4嵌入式Linux串口应用开发 279

9.4.1串口概述 279

9.4.2串口设置详解 280

9.4.3串口使用详解 284

本章小结 287

动手练练 287

第10章 ARM Linux进程线程开发实例 288

10.1ARM Linux进程线程管理 289

10.1.1进程描述符及任务结构 289

10.1.2进程的调度 291

10.1.3Linux中的线程 293

10.1.4Linux中进程间通信 293

10.2ARM Linux进程控制相关API 294

10.3ARM Linux进程间通信API 301

10.3.1管道通信 301

10.3.2信号通信 303

10.3.3共享内存 308

10.3.4消息队列 309

10.4ARM Linux线程相关API 312

10.5Linux守护进程 317

10.5.1守护进程概述 317

10.5.2编写规则 318

10.5.3守护进程实例 319

本章小结 321

动手练练 321

第11章 ARM Linux网络开发实例 322

11.1TCP/IP协议简介 322

11.1.1TCP/IP的分层模型 322

11.1.2TCP/IP分层模型特点 324

11.1.3TCP/IP核心协议 325

11.2网络基础编程 328

11.2.1socket概述 328

11.2.2地址及顺序处理 328

11.2.3socket基础编程 333

11.3Web服务器 339

11.3.1Web服务器功能 339

11.3.2Web服务器协议 341

11.3.3Web服务器协议 342

11.3.4运行Web服务器 347

11.4Traceroute程序实例 347

11.4.1Traceroute原理简介 347

11.4.2traceroute实例与分析 348

11.4.3traceroute实例运行结果 354

本章小结 354

动手练练 354

第12章 嵌入式Linux设备驱动开发 355

12.1设备驱动概述 355

12.1.1设备驱动简介 355

12.1.2设备驱动程序的特点 356

12.2模块编程 357

12.2.1模块编程简介 357

12.2.2模块相关命令 357

12.2.3模块编程流程 358

12.3字符设备驱动编写 360

12.4块设备驱动编写 369

12.4.1块设备驱动程序描述符 369

12.4.2块设备驱动编写流程 369

12.5简单的skull驱动实例 375

12.5.1驱动简介 375

12.5.2驱动编写流程 376

12.5.3结果分析 379

12.6LCD驱动编写实例 379

12.6.1LCD工作原理 379

12.6.2LCD驱动实例 382

本章小结 389

动手练练 389

第13章 视频监控系统 390

13.1视频监控系统概述 390

13.1.1系统组成 390

13.1.2音视频服务器 391

13.1.3音视频客户端 392

13.1.4通信传输控制协议 393

13.2基本数据结构 395

13.3功能实现 398

13.3.1传输控制 398

13.3.2用户检验 401

13.3.3控制命令处理 403

13.3.4云台转动控制 404

13.3.5线程相关 407

本章小结 408

动手练练 408