《嵌入式Linux应用编程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:许信顺,贾智平编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:7111204832
  • 页数:206 页
图书介绍:本书对嵌入式Linux系统进行了详细、系统的介绍,并对嵌入式Linux环境下的应用程序开发知识进行了介绍,包括嵌入式Linux基本概念和开发流程、Boot Loader的工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程及图形界面开发等知识。   本书内容丰富,叙述清楚,大部分章节配有实例和程序,可作为嵌入式Linux认证考试的教材,同时,也是从事嵌入式编程开发人员的好工具。

专家指导委员会 1

前言 1

第1章 Linux系统入门基础 1

1.1 认识Linux操作系统 1

1.1.1 Linux和Unix的简明历史 1

1.1.2 Linux系统的特点和组成 3

1.1.3 Linux的开发过程 4

1.2.2 常用命令简介 6

1.2.1 字符界面简介 6

1.2 基本操作命令 6

1.3 Linux文件与目录系统 11

1.3.1 Linux文件系统类型介绍 11

1.3.2 Linux目录系统 14

1.4 shell简介 16

1.5 网络服务简介 18

1.5.1 Linux支持的网络协议 18

1.5.2 Linux的网络服务 19

2.1.1 系统平台环境 21

2.1.2 开发工具环境 21

第2章 Linux程序设计基础——C环境 21

2.1 Linux编程环境介绍 21

2.1.3 基于文本模式的开发平台 22

2.1.4 集成开发平台Eclipse+CDT 23

2.1.5 文档帮助环境 24

2.2 常用编辑器 25

2.2.1 VIM编辑器 26

2.2.2 Emacs编辑器 29

2.3 gcc编译器的使用 32

2.3.1 gcc的主要选项 33

2.3.2 GNU C扩展简介 36

2.4.1 make简介 37

2.4 GNU make管理项目 37

2.4.2 编写Makefile文件的规则 38

2.5 GDB调试 42

2.5.1 GDB命令介绍 42

2.5.2 GDB调试例程 46

2.5.3 基于GDB的图形界面调试工具 49

第3章 Linux shell编程 51

3.1 创建和运行外壳程序 51

3.1.1 创建外壳程序 51

3.1.2 运行外壳程序 51

3.2.1 给变量赋值 52

3.2 使用外壳变量 52

3.2.2 读取变量的值 53

3.2.3 位置变量和其他系统变量 53

3.2.4 引号的作用 54

3.3 数值运算命令 55

3.4 条件表达式 57

3.4.1 if表达式 57

3.4.2 case表达式 58

3.5.1 for语句 60

3.5 循环语句 60

3.5.2 while语句 61

3.5.3 until语句 62

3.6 shift命令 63

3.7 select语句 63

3.8 repeat语句 64

3.9 函数 64

3.10 shell应用举例 67

4.1.1 基础知识 71

4.1.2 GNU跨平台开发链的建立过程 71

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

4.1 GNU跨平台开发工具链 71

4.2 嵌入式Linux内核 78

4.3 嵌入式Linux根文件系统 79

4.4 BootLoader简介 80

第5章 嵌入式BootLoader技术 83

5.1 BootLoader的基本概念 83

5.1.1 BootLoader所支持的CPU和嵌入式板 83

5.1.2 BootLoader的安装点和启动过程 84

5.1.3 BootLoader的操作模式 84

5.2 BootLoader典型结构框架 85

5.1.4 BootLoader与主机之间的通信方式 85

5.2.1 BootLoader的stage1 86

5.2.2 BootLoader的stage2 88

5.3 典型BootLoader(Blob)分析和移植 94

5.3.1 Blob简介 94

5.3.2 Blob的运行过程分析 95

5.3.3 Blob的移植 97

第6章 ARM-Linux内核分析 100

6.1 ARM微处理器 100

6.1.1 RISC体系结构 100

6.1.2 ARM微处理器的寄存器结构 101

6.1.3 ARM微处理器的指令结构 102

6.2 ARM-Linux的内存管理 103

6.2.1 内存管理单元MMU 103

6.2.2 ARM-Linux的存储管理机制 103

6.2.3 ARM-Linux存储机制的建立 105

6.2.4 ARM-Linux对进程虚拟空间的管理 107

6.3 ARM-Linux进程管理与调度 109

6.3.1 task_struct数据结构 109

6.3.2 Linux进程的创建、执行和消亡 113

6.3.3 ARM-Linux的进程调度 117

6.4 ARM-Linux中断响应与处理 118

6.4.1 ARM的异常中断种类 118

6.4.2 ARM处理器对异常中断的响应及返回过程 119

6.5 ARM-Linux系统启动与初始化 123

6.5.1 内核数据结构的初始化 123

6.5.2 外设初始化 126

6.5.3 init进程和inittab文件 126

6.5.4 rc启动脚本 127

6.6 Linux模块化机制 128

6.6.1 Linux的模块化 128

6.5.5 shell的启动 128

6.6.2 模块的载入 129

6.6.3 模块的卸载 130

6.7 ARM-Linux内核裁减 130

第7章 嵌入式文件系统 133

7.1 Linux文件系统结构与特征 133

7.1.1 Linux文件系统概述 133

7.1.2 Linux文件系统布局 133

7.1.3 Linux支持的文件系统 136

7.2 嵌入式文件系统简介 137

7.2.1 嵌入式文件系统JFFS简介 138

7.2.2 嵌入式文件系统YAFFS简介 139

7.3 构建根文件系统 140

7.4 根文件系统设置 142

7.5 BusyBox 144

7.5.1 BusyBox简介 144

7.5.2 使用BusyBox构建根文件系统 146

第8章 嵌入式Linux多线程编程 149

8.1 线程基本概念 149

8.1.1 Linux线程简介 149

8.1.2 Linux线程编程基础 149

8.2.1 互斥锁 154

8.2 多线程同步 154

8.2.2 条件变量 156

8.2.3 信号量 158

8.3 生产者-消费者问题 161

8.3.1 生产者-消费者问题简介 161

8.3.2 生产者-消费者问题实例 162

第9章 简单嵌入式Web服务器设计 167

9.1 HTTP协议基础 167

9.1.1 HTTP协议概述 167

9.1.2 HTTP协议的方法 168

9.1.3 HTTP协议消息头 169

9.1.4 HTTP协议使用举例 171

9.2 socket编程基础 172

9.2.1 socket描述 172

9.2.2 TCP/IP模型 172

9.2.3 socket描述符 173

9.3 嵌入式Web服务器系统结构 174

9.3.1 协议标准 174

9.3.2 瘦Web服务器 174

9.3.3 嵌入式应用接口技术 175

9.3.5 EMIT 176

9.3.4 实现形式 176

9.3.6 RomPager 177

9.4 Web服务器构建 177

第10章 嵌入式GUI 182

10.1 嵌入式GUI简介 182

10.1.1 MiniGUI 182

10.1.2 Qt/Embedded 183

10.1.3 Nano-X 184

10.1.4 OpenGUI 185

10.2 MiniGUI程序设计基础 185

10.2.1 MiniGUI的特点 186

10.2.2 窗口处理过程 188

10.2.3 MiniGUI的线程机制 189

10.2.4 MiniGUI的体系结构 190

10.2.5 MiniGUI的底层引擎 191

10.2.6 MiniGUI的三种运行模式 192

10.3 Qt/Embedded程序设计基础 193

10.3.1 Qt/Embedded的图形引擎实现基础 195

10.3.2 Qt/Embedded的事件驱动基础 197

10.3.3 Qt/Embedded底层支持分析 197

10.4 嵌入式GUI的移植 198

参考文献 205