项目1了解嵌入式系统的组成 1
1.1 项目背景 1
1.1.1 嵌入式系统的概念 1
1.1.2 嵌入式系统硬件 8
1.1.3 嵌入式系统软件 10
1.2 项目需求 11
1.3 项目设计 12
1.4 项目实施 12
任务一:认识Tiny6410开发板 12
任务二:熟悉Qtopia系统基本功能 13
1.5 项目小结 16
1.6 项目实训 17
1.7 项目拓展 17
项目2理解ARM体系结构 18
2.1 项目背景 18
2.1.1 ARM微处理器 18
2.1.2 ARM存储器 27
2.1.3 ARM I/O端口 29
2.1.4 ARM汇编语言程序设计基础 29
2.1.5 ARM集成开发工具ARM-MDK 48
2.2 项目需求 55
2.3 项目设计 56
2.4 项目实施 56
任务一:安装MDK 56
任务二:新建工程,配置与编译 57
任务三:调试镜像文件Debug 64
任务四:内存、堆栈加载与存储 65
任务五:工作模式切换 66
2.5 项目小结 68
2.6 项目实训 69
2.7 项目拓展 70
项目3 ARM C语言程序设计 71
3.1 项目背景 71
3.1.1 C语言常量和变量 72
3.1.2 C语言基本数据类型 73
3.1.3 C语言运算符与表达式 76
3.1.4 C语言程序结构和控制语句 78
3.1.5 C语言数组、结构体和指针 81
3.1.6 C语言函数 87
3.1.7 C语言预处理 91
3.1.8 C语言函数和汇编语言接口 93
3.2 项目需求 95
3.3 项目设计 95
3.4 项目实施 100
任务一:基于MDK的C语言编程 100
任务二:C语言和汇编语言混合编程 100
3.5 项目小结 104
3.6 项目实训 104
3.7 项目拓展 105
项目4嵌入式Linux操作系统的配置与使用 106
4.1 项目背景 106
4.1.1 Linux的特点 106
4.1.2 Linux内核组成 108
4.1.3 Linux源码结构 109
4.1.4 Linux常用命令 110
4.1.5 Linux文本编辑 120
4.1.6 Linux网络服务 124
4.2 项目需求 127
4.3 项目设计 127
4.4 项目实施 128
任务一:安装虚拟机 128
任务二:安装Linux操作系统 131
任务三:实现Windows共享 133
任务四:配置NFS服务 135
任务五:配置FTP服务 136
4.5 项目小结 138
4.6 项目实训 138
4.7 项目拓展 140
项目5嵌入式Linux开发平台的构建 141
5.1 项目背景 141
5.1.1 嵌入式Linux开发平台的体系架构 141
5.1.2 交叉编译的概念 142
5.1.3 交叉编译工具链的组成 143
5.1.4 交叉编译工具链的建立 144
5.1.5 交叉编译工具的使用 146
5.2 项目需求 153
5.3 项目设计 153
5.4 项目实施 154
任务一:组建开发平台 154
任务二:配置超级终端 154
任务三:安装与配置DN W 156
任务四:安装与配置交叉编译工具链 158
5.5 项目小结 158
5.6 项目实训 159
5.7 项目拓展 160
项目6嵌入式Linux软件系统的建立 161
6.1 项目背景 161
6.1.1 BootLoader 161
6.1.2 内核移植 170
6.1.3 根文件系统的建立 176
6.2 项目需求 183
6.3 项目设计 184
6.4 项目实施 185
任务一:制作SD启动卡 185
任务二:下载BootLoader 186
任务三:移植 Linux内核 188
任务四:建立根文件系统 191
任务五:测试内核和根文件系统 192
6.5 项目小结 193
6.6 项目实训 194
6.7 项目拓展 195
项目7嵌入式Linux应用程序开发 196
7.1 项目背景 196
7.1.1 嵌入式应用程序的体系架构 196
7.1.2 嵌入式应用程序的开发流程 198
7.1.3 嵌入式Linux程序的开发方法 200
7.2 项目需求 201
7.3 项目设计 201
7.4 项目实施 203
任务一:编写“Hello World”应用程序 203
任务二:编写Led控制应用程序 205
任务三:实现开机自启动“Hello World”和Led控制 208
7.5 项目小结 208
7.6 项目实训 209
7.7 项目拓展 210
参考文献 211