第1章 嵌入式系统基础 1
1.1嵌入式系统简介 1
1.1.1嵌入式系统的基本概念 1
1.1.2嵌入式系统的体系结构 2
1.1.3嵌入式系统的特点 3
1.2嵌入式系统的发展和应用领域 4
1.2.1嵌入式系统的发展历史 4
1.2.2嵌入式系统的发展前景及趋势 5
1.3嵌入式操作系统 7
1.3.1嵌入式操作系统的发展 7
1.3.2几种有代表性的嵌入式操作系统 7
1.4嵌入式系统的开发过程 9
1.5嵌入式系统的应用方案 10
1.5.1基于嵌入式的视频网络监控系统 10
1.5.2基于嵌入式系统的锅炉控制方案 12
1.5.3基于嵌入式系统的网关实现方案 14
本章小结 16
习题 16
第2章 嵌入式系统硬件开发平台 17
2.1相关基础知识 17
2.2嵌入式系统硬件平台 22
2.3 ARM微处理器体系 27
2.3.1 ARM公司简介及ARM体系结构 27
2.3.2 ARM系列微处理器简介 29
2.4微处理器的结构 30
2.4.1 RISC体系结构和ARM设计思想 30
2.4.2 ARM9微处理器结构的最小系统设计 31
2.4.3 Xscale微处理器结构 33
本章小结 34
习题 34
第3章Linux操作系统基础 35
3.1 Linux基本概念 35
3.2嵌入式Linux文件系统 37
3.2.1基于Flash的文件系统 38
3.2.2基于RAM的文件系统 39
3.2.3网络文件系统 40
3.3 Linux常用操作命令 40
3.3.1文件目录相关命令 40
3.3.2磁盘及系统操作 44
3.3.3打包压缩相关命令 47
3.3.4网络相关命令 48
3.4 Vi文本编辑器 49
3.4.1 Vi的模式 49
3.4.2 Vi的基本流程 50
3.4.3 Vi的各模式功能键 51
3.5 Linux启动过程 52
3.5.1 Linux系统的引导过程 52
3.5.2 ARM Linux操作系统 55
本章小结 55
习题 56
第4章 嵌入式Linux程序设计基础 57
4.1嵌入式Linux编译器 57
4.1.1 Linux下C语言编译过程 57
4. 1.2 GCC编译器 58
4.2“文件包含”处理 62
4.3 Make命令和Makefile工程管理 64
4. 3.1认识Make 64
4. 3.2 Makefile变量 67
4.3.3 Makefile规则 69
4.3.4 Make命令的使用 69
4.4使用autotools系列工具 70
4.5位运算 73
4.5.1位运算符 73
4.5.2位表达式 76
本章小结 77
习题 77
第5章 嵌入式系统开发环境的建立 78
5.1建立主机开发环境 78
5.2配置minicom 81
5.3配置NFS服务 83
5.4编译嵌入式Linux系统内核 86
5.4.1内核裁剪配置 86
5.4.2内核编译 89
5.5文件系统的制作 90
5.6嵌入式系统开发板的烧写 93
5.6.1 BootLoader 93
5.6.2 ARM S3C2410开发板的烧写 95
5.6.3 XSCALE PXA270开发板的烧写 102
本章小结 106
习题 106
第6章 嵌入式Linux文件处理与串口通信 107
6.1嵌入式Linux的文件处理 107
6.1.1文件描述符及文件处理 107
6.1.2 open函数和close函数 108
6.1.3 read函数、write函数和lseek函数 110
6.2嵌入式Linux串口通信技术 113
6.2.1嵌入式Linux串口通信基础 114
6.2.2嵌入式Linux串口设置详解 116
6.2. 3 RS-232C标准 116
6.2.4串口驱动程序的编写 119
本章小结 124
习题 124
第7章 嵌入式Linux网络应用开发 125
7.1网络编程的基础知识 125
7.1.1 IP地址和端口号 125
7.1. 2套接字 127
7.2 socket网络编程 128
7.2.1 socket网络函数 128
7.2.2 socket网络编程示例 131
7.3嵌入式系统的Web服务器程序设计 137
7.3.1 Web服务器 137
7.3.2 Web服务器的程序设计 138
7.4开发新的TCP通信协议 143
本章小结 145
习题 146
第8章 嵌入式设备驱动程序设计 147
8.1嵌入式设备驱动程序基础 147
8.1.1设备驱动程序概述 147
8.1.2设备驱动程序的框架 148
8.1.3设备驱动程序的加载过程 149
8.1.4设备驱动程序的功能接口函数模块 152
8.1.5设备驱动程序重要的数据结构体 154
8.2设备驱动程序设计 156
8.2.1设计驱动程序 156
8.2.2编译和加载驱动程序 159
8.3简单驱动程序设计示例 163
本章小结 168
习题 168
第9章 设备驱动程序开发实例 169
9.1键盘驱动程序的设计 169
9.1.1键盘原理介绍 169
9.1.2键盘驱动程序设计思路分析 170
9.1.3键盘驱动程序设计 174
9.1.4键盘用户应用程序设计 177
9.1.5编译和运行程序 179
9.2步进电机驱动器设计 180
9.2.1步进电机的基本概念及工作原理 181
9.2.2嵌入式系统控制步进电机 182
9.2.3步进电机驱动程序设计 183
9.2.4步进电机用户应用程序设计 190
9.2.5编译与运行程序 192
9.3直流电机驱动程序设计 193
9.3.1直流电机驱动程序 193
9.3.2直流电机用户应用程序 196
9.3.3编译和运行程序 197
9.4通用I/O接口驱动程序设计 198
9.4.1 GPIO设备驱动 198
9.4.2 PXA270的GPIO端口简介 199
9.4.3编写LED设备驱动程序 199
9.4.4编写LED用户应用程序 203
9.4.5编译与运行程序 204
9.5网络接口设备驱动程序设计 206
9.5.1以太网数据帧传输原理 206
9.5.2网络设备驱动程序的框架 208
9.5.3简单的网络设备驱动程序 212
9.5.4基于DM9000的网络设备驱动程序设计 214
本章小结 223
习题 224
第10章Java虚拟机的移植 225
10.1 Java虚拟机 225
10.2在主机上建立J2ME开发环境 228
10.2.1 J2ME概述 228
10.2.2建立Linux系统下的J2ME开发环境 231
本章小结 237
习题 237