内容简介
本书面向嵌入式Linux应用软件开发领域的入门读者,以由浅入深,循序渐进的方式介绍嵌入式Linux应用软件开发所涉及的基本知识与实用技术。本书分三大部分:C语言与Linux基础,嵌入式系统概述与Linux编程关键技术,综合项目实战。
本书内容全面,以本的C语言编程与数据结构的学习为起点,中间穿插嵌入式数据库、嵌入式图形界面、嵌入式网络开发等实用技术,并在通过项目实战,将所有嵌入式应用开发关键技术凝结在一起,以实际项目的形式展现在读者面前。即便是零基础的读者,也可以通过本书的学习具备初级嵌入式软件开发人员所要求的技术能力。
本书循序渐进、实用性强,注重以浅显易懂的语言介绍基础理论与应用,可供嵌入式开发人员学习使用,也可用作高等院校相关专业的教材或参考书。
目录
第1章C语言与数据结构基础
1.1C语言基础1
1.1.1C语言基础知识1
1.1.2C程序基本组成3
1.1.3标示符与数据类型4
1.1.4运算符与表达式7
1.2程序流程与函数9
1.2.1三种流程控制结构9
1.2.2函数的声明与调用14
1.3C语言的指针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入门与基本操作
2.1Linux概述57
2.1.1Linux发展简介57
2.1.2Linux特性与优势58
2.1.3Linux版本与许可证58
2.2Linux安装61
2.2.1安装准备61
2.2.2安装过程与配置62
2.3Linux常用操作命令76
2.3.1Linux终端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常用的开发工具
3.1VIM编译器85
3.1.1VIM的简介85
3.1.2VIM的基本操作86
3.2GCC编译器90
3.2.1GCC简介90
3.2.2GCC编译流程90
3.2.3GCC常用选项93
3.3GDB编译器95
3.3.1GDB简介95
3.3.2GDB的基本操作96
3.4make管理器100
3.4.1make和makefile简介100
3.4.2makefile结构与规则101
3.4.3make基本操作106
3.5本章小结107第4章嵌入式系统基础
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章嵌入式交叉编译开发环境
5.1交叉编译环境117
5.1.1交叉编译环境简介117
5.1.2构建交叉编译环境118
5.1.3交叉编译工具的使用119
5.2开发板与宿主机互连120
5.2.1Mini6410开发板简介120
5.2.2串口调试工具配置的使用122
5.2.3USB下载工具配置与使用126
5.2.4以太网接口配置与使用130
5.2.5NFS与FTP132
5.3本章小结134第6章嵌入式文件I/O开发
6.1文件的打开与关闭135
6.1.1系统调用135
6.1.2用户编程接口与系统命令136
6.1.3open和close函数136
6.2文件的读取与写入138
6.2.1read和write函数的说明138
6.2.2read和write函数格式138
6.2.3open和read函数的使用实例139
6.3文件读写指针操作140
6.4文件其他相关操作140
6.4.1fcntl函数141
6.4.2select函数145
6.5本章小结147第7章嵌入式多任务开发
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章嵌入式网络应用开发
8.1计算机网络概述181
8.1.1网络体系与参考模型181
8.1.2TCP/IP协议族184
8.1.3传输层协议TCP与UDP186
8.1.4几种常用应用层协议190
8.2socket编程191
8.2.1socket简介191
8.2.2socket基本函数193
8.2.3TCP编程模型203
8.2.4UDP编程模型209
8.3本章小结214第9章嵌入式数据库开发
9.1SQLite简介215
9.1.1SQ