当前位置:首页 > 工业技术
嵌入式Linux  C语言应用程序设计

嵌入式Linux C语言应用程序设计PDF格式文档图书下载

工业技术

图书介绍:本书是全面易懂的Linux嵌入式开发指南,讲解了嵌入式Linux的环境搭建,以及嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及嵌入式图形界面的开发等。

查看更多关于嵌入式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嵌入式系统的硬件架构 5

1.2.2嵌入式操作系统 8

1.2.3嵌入式应用软件 10

1.3 ARM处理器平台介绍 11

1.3.1 ARM处理器简介 11

1.3.2 ARM处理器系列 12

1.3.3 ARM体系结构简介 16

1.3.4 S3C2410处理器简介 17

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

1.4.1硬件平台的选择 21

1.4.2 ARM处理器选型 22

1.5嵌入式系统开发概述 25

1.5.1嵌入式系统开发流程 25

1.5.2嵌入式软件开发流程 25

本章小结 29

动手练练 30

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

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

2.1.1C语言简史 31

2.1.2 C语言特点 32

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

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

2.2.1 vi的基本模式 34

2.2.2 vi的基本操作 34

2.2.3 vi的使用实例分析 38

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

2.3.1 GCC概述 40

2.3.2 GCC编译流程分析 40

2.3.3 GCC警告提示 43

2.3.4 GCC使用库函数 45

2.3.5 GCC代码优化 46

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

2.4.1GDB使用实例 47

2.4.2设置/删除断点 50

2.4.3数据相关命令 51

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

2.4.5堆栈相关命令 52

2.5 make工程管理器 53

2.5.1 Makefile基本结构 53

2.5.2 Makefile变量 55

2.5.3 Makefile规则 58

2.5.4 make使用 59

2.6 Emacs综合编辑器 59

2.6.1 Emacs的启动与退出 60

2.6.2 Emacs的基本编辑 61

2.6.3 Emacs的C模式 63

2.6.4 Emacs的Shell模式 66

本章小结 67

动手练练 67

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

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

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

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

3.1.3宿主机服务配置 79

3.2 Bootloader 83

3.2.1 Bootloader的概念 84

3.2.2 Bootloader启动流程分析 84

3.2.3 U-Boot概述 85

3.2.4 U-Boot源码导读 86

3.3编译嵌入式Linux内核 86

3.4 Linux内核目录结构 90

3.5制作文件系统 91

本章小结 92

动手练练 92

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

4.1嵌入式Linux C语言概述 93

4.2基本数据类型 94

4.2.1整型家族 94

4.2.2实型家族 96

4.2.3字符型家族 98

4.2.4枚举家族 99

4.2.5指针家族 100

4.3变量与常量 101

4.3.1变量的定义 101

4.3.2 typedef 107

4.3.3常量定义 108

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

4.4运算符与表达式 111

4.4.1算术运算符和表达式 112

4.4.2赋值运算符和表达式 114

4.4.3逗号运算符和表达式 116

4.4.4位运算符和表达式 116

4.4.5关系运算符和表达式 118

4.4.6逻辑运算符和表达式 119

4.4.7 sizeof操作符 121

4.4.8条件(?)运算符 122

4.4.9运算符优先级总结 123

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

本章小结 129

动手练练 129

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

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

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

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

5.2选择语句 134

5.2.1 if语句 134

5.2.2 switch语句 136

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

5.3循环语句 139

5.3.1 while和do-while语句 139

5.3.2 for循环语句 140

5.3.3 break和continue语句 141

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

5.4 goto语句 144

5.4.1 goto语句语法 144

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

5.5函数的定义与声明 146

5.5.1 C语言函数概述 146

5.5.2函数定义 147

5.5.3函数声明 148

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

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

5.6.1函数的参数 150

5.6.2函数的值 151

5.6.3函数的基本调用 151

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

5.7.1函数的嵌套调用 152

5.7.2函数的递归调用 152

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

本章小结 156

动手练练 156

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

6.1数组 158

6.1.1一维数组 158

6.1.2字符串 161

6.1.3二维数组 163

6.2指针 164

6.2.1指针的概念 164

6.2.2指针变量的操作 166

6.2.3指针和数组 173

6.2.4指针高级议题 178

6.3结构体与联合 182

6.3.1结构体 182

6.3.2联合 186

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

本章小结 189

动手练练 189

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

7.1预处理 190

7.1.1预处理的概念 190

7.1.2预定义 191

7.1.3文件包含 196

7.1.4条件编译 197

7.2 C语言中的内存分配 199

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

7.2.2堆和栈的区别 200

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

7.3.1字长和数据类型 201

7.3.2数据对齐 203

7.3.3字节顺序 203

7.4 C和汇编的接口 203

7.4.1内嵌汇编的语法 204

7.4.2编译器优化介绍 206

7.4.3 C语言关键字volatile 207

7.4.4 memory描述符 207

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

本章小结 209

动手练练 209

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

8.1链表 210

8.1.1链表概述 210

8.1.2单向链表 211

8.1.3双向链表 217

8.1.4循环链表 219

8.1.5 ARM Linux中链表使用实例 219

8.2树、二叉树、平衡树 221

8.2.1树 221

8.2.2二叉树 222

8.2.3平衡树 229

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

8.3哈希表 232

8.3.1哈希表的概念及作用 232

8.3.2哈希表的构造方法 234

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

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

本章小结 238

动手练练 239

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

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

9.1.1系统调用 241

9.1.2用户编程接口(API) 241

9.1.3系统命令 241

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

9.2.1虚拟文件系统(VFS) 242

9.2.2通用文件模型 243

9.2.3 ARM Linux的设备文件 248

9.3文件I/O操作 248

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

9.3.2标准I/O开发 258

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

9.4.1串口概述 261

9.4.2串口设置详解 262

9.4.3串口使用详解 266

本章小结 269

动手练练 269

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

10.1 ARM Linux进程线程管理 270

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

10.1.2进程的调度 273

10.1.3 Linux中的线程 274

10.1.4 Linux中进程间通信 275

10.2 ARM Linux进程控制相关API 276

10.3 ARM Linux进程间通信API 282

10.3.1管道通信 282

10.3.2信号通信 284

10.3.3共享内存 289

10.3.4消息队列 290

10.4 ARM Linux线程相关API 293

10.5 Linux守护进程 298

10.5.1守护进程概述 298

10.5.2编写规则 298

10.5.3守护进程实例 300

本章小结 301

动手练练 302

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

11.1 TCP/IP协议简介 303

11.1.1 TCP/IP的分层模型 303

11.1.2 TCP/IP分层模型特点 304

11.1.3 TCP/IP核心协议 305

11.2网络基础编程 308

11.2.1 socket概述 308

11.2.2地址及顺序处理 309

11.2.3 socket基础编程 313

11.3 Web服务器 319

11.3.1 Web服务器功能 319

11.3.2 Web服务器协议 320

11.3.3 Web服务器协议 321

11.3.4运行Web服务器 326

11.4 traceroute程序实例 326

11.4.1 traceroute原理简介 326

11.4.2 traceroute实例与分析 327

11.4.3 traceroute实例运行结果 332

本章小结 332

动手练练 333

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

12.1设备驱动概述 334

12.1.1设备驱动简介 334

12.1.2设备驱动程序的特点 335

12.2模块编程 336

12.2.1模块编程简介 336

12.2.2模块相关命令 336

12.2.3模块编程流程 337

12.3字符设备驱动编写 338

12.4块设备驱动编写 347

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

12.4.2块设备驱动编写流程 348

12.5简单的skull驱动实例 354

12.5.1驱动简介 354

12.5.2驱动编写流程 354

12.5.3结果分析 357

12.6 LCD驱动编写实例 358

12.6.1 LCD工作原理 358

12.6.2 LCD驱动实例 360

本章小结 367

动手练练 367

第13章 视频监控系统 368

13.1视频监控系统概述 368

13.1.1系统组成 368

13.1.2音视频服务器 369

13.1.3音视频客户端 370

13.1.4通信传输控制协议 370

13.2基本数据结构 373

13.3功能实现 375

13.3.1传输控制 375

13.3.2用户检验 379

13.3.3控制命令处理 380

13.3.4云台转动控制 381

13.3.5线程相关 385

本章小结 386

动手练练 386

查看更多关于嵌入式Linux C语言应用程序设计的内容

相关书籍
作者其它书籍
返回顶部