嵌入式linux操作系统原理与应用(第4版)
作者:文全刚,张荣高
出版社:北京航空航天大学出版社
出版时间:2023-03-01
ISBN:9787512440531
定价:¥84.00
第1章 嵌入式系统基础 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统的基本概念 1
1.1.2 嵌入式系统的应用领域 2
1.1.3 嵌入式系统的组成 4
1.1.4 嵌入式系统的特点 5
1.1.5 嵌入式系统的发展趋势 6
1.2 嵌入式操作系统 10
1.2.1 操作系统的基本功能 10
1.2.2 嵌入式操作系统 11
1.2.3 嵌入式操作系统体系结构 12
1.2.4 嵌入式操作系统的选择 16
1.2.5 几种代表性嵌入式操作系统比较 17
1.3 嵌入式Linux基础 19
1.3.1 Linux简介 19
1.3.2 嵌入式Linux 23
1.3.3 Linux的安装基础 25
1.3.4 基于虚拟机的Linux的安装 27
1.3.5 Linux虚拟机的设置 32
1.4 Linux目录结构及文件 35
1.4.1 Linux文件系统 35
1.4.2 Linux目录结构 38
1.4.3 文件类型及文件属性 40
1.5 Linux常用操作命令 43
1.5.1 Shell命令基础 43
1.5.2 文件与目录相关命令 45
1.5.3 磁盘管理与维护命令 53
1.5.4 系统管理与设置命令 55
1.5.5 网络相关命令 57
1.5.6 压缩备份命令 60
1.6 Linux下Shell编程 62
1.6.1 Shell程序概述 62
1.6.2 Shell变量 63
1.6.3 Shell特殊字符 65
1.6.4 Shell流程控制 67
1.6.5 Shell函数定义 72
1.6.6 Shell程序示例 72
1.7 Linux启动过程分析 74
习 题 一 79
第2章 Linux编程基础 80
2.1 Linux下的C语言编程 80
2.1.1 Linux下的C语言编程概述 80
2.1.2 Linux下的C语言开发流程 82
2.2 Vim编辑器 85
2.2.1 Vim的模式 85
2.2.2 Vim常用操作 87
2.3 GCC编译器 91
2.3.1 GCC编译器简介 91
2.3.2 GCC编译流程 92
2.3.3 GCC常用编译选项 95
2.3.4 库依赖 98
2.4 GDB调试器 99
2.4.1 GDB概述 99
2.4.2 GDB使用流程 99
2.4.3 GDB基本命令 104
2.4.4 gdbServer远程调试 108
2.5 Make工程管理器 109
2.5.1 Make工程管理器概述 109
2.5.2 Makefile基本结构 110
2.5.3 Makefile变量 115
2.5.4 Makefile规则 118
2.5.5 Makefile常用函数 119
2.5.6 使用自动生成工具生成 Makefile 125
2.6 Linux集成开发环境 128
2.6.1 CodeBlocks集成开发环境简介 128
2.6.2 CodeBlocks开发流程 130
2.7 文件I/O编程 136
2.7.1 文件I/O编程基础 136
2.7.2 基本I/O操作 137
2.7.3 标准I/O操作 141
2.7.4 嵌入式Linux串口通信编程 144
2.8 进程控制编程 152
2.8.1 Linux下的进程概述 152
2.8.2 Linux进程编程 155
2.8.3 Zombie进程 164
2.8.4 Linux守护进程 165
2.9 进程间的通信和同步 170
2.9.1 Linux下进程间通信概述 170
2.9.2 管道通信 171
2.9.3 共享内存通信 179
2.9.4 其他方式通信 182
2.10 多线程编程 182
2.10.1 线程的基本概念 182
2.10.2 线程的实现 __________184
2.10.3 修改线程属性 186
2.10.4 多线程访问控制 188
习 题 二 190
第3章 基于Linux的嵌入式软件开发 191
3.1 嵌入式软件结构 191
3.1.1 嵌入式软件体系结构 191
3.1.2 基于Linux的嵌入式软件 194
3.2 嵌入式软件开发流程 195
3.2.1 嵌入式Linux设计概述 195
3.2.2 基于开发板的二次开发 196
3.2.3 基于Linux的嵌入式软件开发流程 198
3.3 嵌入式Linux开发环境 199
3.3.1 ARM 处理器硬件开发平台 199
3.3.2 建立嵌入式交叉编译环境 200
3.3.3 配置开发环境 200
3.4 嵌入式系统引导代码 211
3.4.1 BootLoader简介 211
3.4.2 常用的BootLoader 212
3.4.3 BootLoader基本原理 214
3.4.4 BootLoader移植实例一:U Boot 218
3.4.5 BootLoader移植实例二:Vivi 227
3.5 Linux内核结构及移植 229
3.5.1 Linux内核结构 229
3.5.2 Linux的移植 233
3.5.3 修改Linux内核源码 237
3.5.4 内核的裁减 239
3.5.5 内核的编译和下载 241
3.6 嵌入式文件系统及移植 242
3.6.1 嵌入式文件系统的基础 242
3.6.2 嵌入式文件系统的设计 246
3.6.3 嵌入式根文件系统的制作 247
3.7 Linux设备驱动概述 249
3.7.1 Linux设备驱动的作用 249
3.7.2 Linux设备驱动程序的基本结构 250
3.7.3 Linux设备驱动的分类 251
3.7.4 Linux设备文件和设备文件系统 252
3.8 设备驱动程序接口 253
3.8.1 Linux设备驱动的加载方式 253
3.8.2 设备驱动程序接口 255
3.8.3 Linux设备的控制方式 257
3.9 Linux设备驱动开发流程 259
3.9.1 设备驱动开发流程 259
3.9.2 字符设备驱动框架 262
习 题 三 269
第4章 嵌入式应用程序设计 270
4.1 嵌入式应用程序设计概述 270
4.1.1 嵌入式软件的分类 270
4.1.2 嵌入式GUI 271
4.1.3 常用嵌入式GUI 272
4.2 Qt编程基础 274
4.2.1 Qt简介 274
4.2.2 Qt/Embedded 276
4.2.3 Qt开发环境的搭建 277
4.2.4 Qt程序设计基本流程 280
4.3 信号和槽机制 282
4.3.1 基本概念 282
4.3.2 信号和槽机制的原理 283
4.3.3 信号和槽实例 286
4.4 图形界面设计 288
4.4.1 Qt的窗口类 Widget 288
4.4.2 使用Qt Creator编写 Qt程序 289
4.4.3 Qt中常用的控件 293
4.5 使用CodeBlocks开发 Qt程序 296
习 题 四 301
第5章 嵌入式数据库 302
5.1 嵌入式数据库概述 302
5.1.1 嵌入式数据库简介 302
5.1.2 嵌入式数据库的特点及分类 304
5.1.3 嵌入式数据库的应用 306
5.2 SQLite数据库 307
5.2.1 SQLite数据库概述 307
5.2.2 SQLite数据库的安装 309
5.2.3 SQLite数据库的基本命令 310
5.2.4 SQLite数据库的管理命令 311
5.2.5 SQLite数据库的 API函数 314
5.2.6 SQLite数据库的实例分析 315
习 题 五 317
第6章 嵌入式Linux网络编程 318
6.1 网络协议概述 318
6.1.1 网络协议参考模型 318
6.1.2 TCP/IP协议族 319
6.1.3 TCP和 UDP 320
6.2 网络编程基础 324
6.2.1 Socket概述 324
6.2.2 基本数据结构和函数 324
6.2.3 Socket基础编程 326
6.3 TCP通信编程 328
6.3.1 TCP通信过程 328
6.3.2 TCP Server程序设计 334
6.3.3 TCP Client程序设计 336
6.3.4 TCP程序测试过程 337
6.4 UDP通信编程 338
6.4.1 UDP通信过程 338
6.4.2 UDP 服务器端程序设计 338