第1章 C语言与数据结构基础 1
1.1 C语言基础 1
1.1.1 C语言基础知识 1
1.1.2 C程序基本组成 3
1.1.3 标示符与数据类型 4
1.1.4 运算符与表达式 7
1.2 程序流程与函数 9
1.2.1 三种流程控制结构 9
1.2.2 函数的声明与调用 14
1.3 C语言的指针 16
1.3.1 指针的定义与赋值 16
1.3.2 指针的运算与操作 19
1.4 数组与字符串 26
1.4.1 一维数组与二维数组 26
1.4.2 字符串与指针 31
1.4.3 字符串的输入输出与处理 33
1.5 编译预处理与变量存储空间 35
1.5.1 编译预处理机制 35
1.5.2 变量存储空间与作用域 39
1.5.3 动态内存分配 43
1.6 数据结构基础 44
1.6.1 类型重定义与结构体 44
1.6.2 线性结构与顺序存储 49
1.6.3 栈和队列 51
1.6.4 链表 53
1.7 本章小结 56
第2章 Linux入门与基本操作 57
2.1 Linux概述 57
2.1.1 Linux发展简介 57
2.1.2 Linux特性与优势 58
2.1.3 Linux版本与许可证 58
2.2 Linux安装 61
2.2.1 安装准备 61
2.2.2 安装过程与配置 62
2.3 Linux常用操作命令 76
2.3.1 Linux终端 76
2.3.2 系统用户命令 77
2.3.3 文件操作命令 77
2.3.4 压缩备份命令 80
2.3.5 网络相关命令 81
2.3.6 时间显示与其他常用命令 82
2.4 本章小结 84
第3章 Linux常用的开发工具 85
3.1 VIM编译器 85
3.1.1 VIM的简介 85
3.1.2 VIM的基本操作 86
3.2 GCC编译器 90
3.2.1 GCC简介 90
3.2.2 GCC编译流程 90
3.2.3 GCC常用选项 93
3.3 GDB编译器 95
3.3.1 GDB简介 95
3.3.2 GDB的基本操作 96
3.4 make管理器 100
3.4.1 make和makefile简介 100
3.4.2 makefile结构与规则 101
3.4.3 make基本操作 106
3.5 本章小结 107
第4章 嵌入式系统基础 108
4.1 嵌入式系统简介 108
4.1.1 什么是嵌入式系统 108
4.1.2 嵌入式系统的体系结构 109
4.1.3 嵌入式系统应用与发展 111
4.2 嵌入式操作系统 113
4.2.1 嵌入式操作系统简介 113
4.2.2 主流嵌入式操作系统 114
4.3 嵌入式微处理器 114
4.3.1 嵌入式微处理器简介 114
4.3.2 主流嵌入式微处理器 115
4.4 本章小结 116
第5章 嵌入式交叉编译开发环境 117
5.1 交叉编译环境 117
5.1.1 交叉编译环境简介 117
5.1.2 构建交叉编译环境 118
5.1.3 交叉编译工具的使用 119
5.2 开发板与宿主机互连 120
5.2.1 Mini6410开发板简介 120
5.2.2 串口调试工具配置的使用 122
5.2.3 USB下载工具配置与使用 126
5.2.4 以太网接口配置与使用 130
5.2.5 NFS与FTP 132
5.3 本章小结 134
第6章 嵌入式文件I/O开发 135
6.1 文件的打开与关闭 135
6.1.1 系统调用 135
6.1.2 用户编程接口与系统命令 136
6.1.3 open和close函数 136
6.2 文件的读取与写入 138
6.2.1 read和write函数的说明 138
6.2.2 read和write函数格式 138
6.2.3 open和read函数的使用实例 139
6.3 文件读写指针操作 140
6.4 文件其他相关操作 140
6.4.1 fcntl函数 141
6.4.2 select函数 145
6.5 本章小结 147
第7章 嵌入式多任务开发 148
7.1 多任务开发 148
7.1.1 进程简介 148
7.1.2 进程的创建与退出 150
7.1.3 进程间通信 156
7.2 多线程编程 167
7.2.1 线程简介 167
7.2.2 线程的创建与退出 168
7.2.3 线程的同步与互斥 172
7.3 本章小结 180
第8章 嵌入式网络应用开发 181
8.1 计算机网络概述 181
8.1.1 网络体系与参考模型 181
8.1.2 TCP/IP协议族 184
8.1.3 传输层协议TCP与UDP 186
8.1.4 几种常用应用层协议 190
8.2 socket编程 191
8.2.1 socket简介 191
8.2.2 socket基本函数 193
8.2.3 TCP编程模型 203
8.2.4 UDP编程模型 209
8.3 本章小结 214
第9章 嵌入式数据库开发 215
9.1 SQLite简介 215
9.1.1 SQLite的发展和优势 215
9.1.2 SQLite的体系结构 216
9.1.3 SQLite的安装和移植 218
9.2 SQLite使用与开发 219
9.2.1 SQLite的命令行接口 219
9.2.2 SQLite的C语言接口 224
9.3 本章小结 230
第10章 嵌入式图形界面开发 231
10.1 Qt简介 231
10.1.1 Qt的发展与特点 232
10.1.2 Qt的基本架构 233
10.1.3 Qt安装与移植 234
10.2 Qt开发技术 237
10.2.1 Qt Creator的配置安装 237
10.2.2 Qt的信号与槽机制 239
10.2.3 Qt图形界面编程 241
10.2.4 生成Qt可执行程序 250
10.3 本章小结 251
第11章 项目实战1——基于Qt的小型游戏设计 252
11.1 功能描述 252
11.2 程序事件流程图 252
11.3 代码实现 252
11.4 实验总结 264
第12章 项目实战2——基于Wi-Fi的嵌入式图像采集系统设计 265
12.1 功能描述 265
12.2 模块划分 265
12.3 代码实现 266
12.3.1 摄像头采集的实现 267
12.3.2 图片压缩模块 271
12.3.3 传输模块 275
12.3.4 主函数 277
12.4 服务器的搭建 278
12.5 实验结果 282
12.6 实验总结 283