21世纪高等院校信息与通信工程规划教材:嵌入式系统应用教程
定 价:35 元
丛书名:
- 作者:赵宏 ,王小牛 ,任学惠 编
- 出版时间:2010/9/1
- ISBN:9787115229557
- 出 版 社:人民邮电出版社
- 中图法分类:TP332
- 页码:330
- 纸张:胶版纸
- 版次:1
- 开本:16开
- 字数:(单位:千字)
《嵌入式系统应用教程》是进行嵌入式系统开发的入门教材。按照嵌入式系统学习的规律,《嵌入式系统应用教程》将内容分为嵌入式操作系统基础、ARM体系结构和指令系统、嵌入式实验三大部分。全书理论结合实践,用浅显易懂的语言来解释理论,用简单易行的实验来验证理论,使读者在掌握实际操作技能的同时加深对理论的理解。
《嵌入式系统应用教程》可作为普通高等院校及高层次高等职业院校计算机类、电子类、通信类专业“嵌入式系统”相关课程的教材,也可作为广大嵌入式系统爱好者和工程技术人员的参考用书。
《嵌入式系统应用教程》为中国通信学会普通高等教育“十二五”规划教材立项项目。
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统已经广泛应用于科学研究、工业控制、军事技术、交通通信、医疗卫生、消费娱乐等领域,人们日常使用的手机、PDA、汽车、智能家电、GPS等均是嵌入式系统的典型代表。
本书分3部分,共12章,逐步引导具有不同专业背景和基础的读者进入嵌入式系统开发领域。
第1章到第5章为第一部分。其中,第1章介绍了嵌入式系统的基本知识;第2章介绍了Linux系统在上位机中的安装及其基本操作;第3章介绍了IAnux系统的常用命令和文本编辑工具:第4章介绍了嵌入式系统开发中经常用于连接上位机和下位机的I,inux网络服务;第5章介绍了嵌入式系统开发中经常用到的Linux系统下的C语言编译、调试和工程管理工具。
第一部分 嵌入式操作系统基础 1
第1章 嵌入式系统概论 1
1.1 嵌入式系统的定义 1
1.2 嵌入式系统的发展过程 2
1.3 嵌入式系统的开发流程 3
1.4 嵌入式操作系统介绍 5
习题 6
第2章 Linux系统介绍 7
2.1 Linux的特点 7
2.2 Linux的安装 9
2.2.1 安装方式 9
2.2.2 以虚拟机方式安装Linux 10
2.2.3 以多操作系统方式安装Linux 17
2.3 X-Window图形界面操作 18
2.3.1 桌面组件 19
2.3.2 面板 22
2.3.3 显示配置 22
2.3.4 常用应用程序 23
2.4 网络配置 27
2.4.1 图形界面方式 28
2.4.2 命令行方式 29
习题 34
第3章 Linux常用命令 35
3.1 Linux文件与目录 35
3.1.1 Linux中的文件类型 35
3.1.2 常用目录 36
3.1.3 路径 37
3.1.4 对文件操作的用户分类 37
3.1.5 文件操作权限 37
3.1.6 文件名通配符 38
3.2 常用命令 38
3.2.1 文件类 38
3.2.2 权限类 52
3.2.3 磁盘类 55
3.2.4 模块类 57
3.3 输入输出转向和管道 59
3.3.1 输入转向 59
3.3.2 输出转向 59
3.3.3 管道 59
3.4 vi编辑器的使用 59
3.4.1 启动vi编辑器 60
3.4.2 命令行状态 60
3.4.3 编辑状态 62
习题 62
第4章 与嵌入式系统开发相关的Linux服务 63
4.1 TFTP服务 63
4.1.1 检测与安装软件包 63
4.1.2 服务器端设置 65
4.1.3 启动TFTP服务 66
4.1.4 设置防火墙 67
4.1.5 TFTP服务客户端 67
4.2 Telnet 70
4.2.1 Telnet简介 70
4.2.2 启动Telnet服务 70
4.2.3 测试服务 70
4.2.4 定制服务 71
4.3 NFS 72
4.3.1 NFS介绍 72
4.3.2 服务器端的配置 72
4.3.3 启动服务 73
4.3.4 定制防火墙 73
4.3.5 使用服务 74
习题 74
第5章 Linux中的C语言编程 75
5.1 GCC 75
5.1.1 GCC介绍 75
5.1.2 GCC的使用 76
5.1.3 使用举例 77
5.2 GDB 77
5.2.1 GDB介绍 77
5.2.2 GDB的使用 77
5.2.3 GDB的使用举例 78
5.3 make工具 79
5.3.1 make工具介绍 79
5.3.2 makefile文件 79
5.3.3 make使用举例 80
习题 81
第二部分 ARM体系结构和指令系统 82
第6章 ARM处理器 82
6.1 ARM公司简介 82
6.2 ARM处理器的特点及其应用领域 83
6.3 ARM ISA概述 84
6.4 ARM处理器系列 88
6.4.1 ARM7系列 89
6.4.2 ARM9系列 90
6.4.3 ARM9E系列 90
6.4.4 ARM10E系列 91
6.4.5 ARM11系列 91
6.4.6 Cortex系列 92
6.4.7 SecurCore系列 93
6.5 ARM处理器编程模型 94
6.5.1 数据类型 94
6.5.2 处理器模式 94
6.5.3 寄存器组织 95
6.5.4 异常处理机制 98
6.5.5 存储器组织结构 99
习题 100
第7章 ARM指令集 101
7.1 条件执行 101
7.2 操作数预处理 103
7.3 运算类指令 107
7.4 控制类指令 119
7.5 传送类指令 126
7.6 Thumb指令集概述 133
习题 133
第8章 ARM汇编语言程序设计 134
8.1 用ADS调试ARM汇编语言程序 134
8.1.1 编辑ARM汇编语言源程序 135
8.1.2 在命令行方式下调试 136
8.1.3 在IDE环境下调试 136
8.2 ARM汇编语言程序基本结构 140
8.2.1 ARM汇编语言语句格式 140
8.2.2 ARM汇编语言程序格式 141
8.3 ARM汇编语言程序中的符号和表达式 143
8.3.1 ARM汇编语言中的符号 143
8.3.2 ARM汇编语言中的表达式 144
8.4 ARM汇编语言伪操作 148
8.4.1 符号定义伪操作 148
8.4.2 数据定义伪操作 150
8.4.3 杂项伪操作 154
8.4.4 汇编控制伪操作 160
8.4.5 信息报告伪操作 161
8.4.6 框架描述伪操作 162
8.5 ARM汇编语言程序伪指令 163
8.5.1 ADR 163
8.5.2 ADRL 164
8.5.3 LDR 165
8.6 ARM汇编语言程序宏指令 167
8.7 ARM汇编语言程序子程序 169
8.8 GNU ARM汇编简介 170
8.8.1 GNU ARM汇编语言程序的基本结构和程序运行环境 170
8.8.2 GNU ARM汇编语言伪操作 171
8.8.3 GNU ARM汇编语言其他主要操作符 172
习题 172
第9章 C语言与ARM汇编语言的混合编程 173
9.1 ATPCS概述 173
9.1.1 寄存器的使用规则 174
9.1.2 数据栈使用规则 174
9.1.3 参数传递规则 175
9.2 使用内嵌汇编器 175
9.2.1 内嵌汇编的语法格式 176
9.2.2 内嵌汇编指令的用法 176
9.2.3 内嵌汇编指令应用举例 177
9.3 从汇编代码中访问C程序全局变量 180
9.4 ARM汇编程序与C程序的相互调用 181
9.4.1 ARM汇编程序调用C程序 181
9.4.2 C程序调用ARM汇编程序 183
9.5 C语言与ARM汇编混合编程的实例 184
9.5.1 安装UArmJtag 184
9.5.2 建立工程 185
9.5.3 编译链接工程 189
9.5.4 调试程序 190
习题 191
第三部分 嵌入式实验 192
第10章 建立嵌入式系统开发环境 192
10.1 认识博创经典UP-TECH-S2410/P270-DVP实验箱 192
10.2 建立开发环境 193
10.2.1 实验目的 193
10.2.2 实验设备 193
10.2.3 实验内容 193
10.2.4 实验步骤 194
10.2.5 习题 195
10.3 给下位机烧写软件系统 196
10.3.1 实验目的 196
10.3.2 实验设备 196
10.3.3 实验内容 196
10.3.4 实验步骤 196
10.3.5 习题 199
第11章 基础实验 200
11.1 熟悉Linux开发环境 200
11.1.1 实验目的 200
11.1.2 实验设备 200
11.1.3 实验内容 200
11.1.4 实验步骤 200
11.1.5 习题 202
11.2 多线程应用程序设计 202
11.2.1 实验目的 202
11.2.2 实验设备 203
11.2.3 实验内容 203
11.2.4 多线程程序设计 203
11.2.5 实验步骤 208
11.2.6 习题 209
11.3 串行端口程序设计 209
11.3.1 实验目的 209
11.3.2 实验设备 209
11.3.3 实验内容 209
11.3.4 实验原理 209
11.3.5 实验步骤 216
11.3.6 习题 217
11.4 A/D接口实验 217
11.4.1 实验目的 217
11.4.2 实验设备 217
11.4.3 实验内容 217
11.4.4 实验原理 218
11.4.5 实验步骤 225
11.4.6 习题 225
11.5 D/A接口实验 226
11.5.1 实验目的 226
11.5.2 实验设备 226
11.5.3 实验内容 226
11.5.4 实验原理 226
11.5.5 实验步骤 229
11.5.6 习题 229
11.6 CAN总线通信实验 230
11.6.1 实验目的 230
11.6.2 实验设备 230
11.6.3 实验内容 230
11.6.4 实验原理 230
11.6.5 实验步骤 235
11.6.6 习题 236
11.7 RS-485通信实验 237
11.7.1 实验目的 237
11.7.2 实验设备 237
11.7.3 实验内容 237
11.7.4 实验原理 237
11.7.5 实验步骤 241
11.7.6 习题 241
11.8 直流电动机实验 242
11.8.1 实验目的 242
11.8.2 实验设备 242
11.8.3 实验内容 242
11.8.4 实验原理 242
11.8.5 实验步骤 247
11.8.6 习题 248
11.9 7段LED和点阵式LED实验 248
11.9.1 实验目的 248
11.9.2 实验设备 248
11.9.3 实验内容 248
11.9.4 实验原理 249
11.9.5 实验步骤 252
11.9.6 习题 252
第12章 扩展实验 253
12.1 小键盘实验 253
12.1.1 实验目的 253
12.1.2 实验设备 253
12.1.3 实验内容 253
12.1.4 实验原理 253
12.1.5 实验步骤 257
12.1.6 习题 257
12.2 嵌入式Web服务器 258
12.2.1 实验目的 258
12.2.2 实验设备 258
12.2.3 实验内容 258
12.2.4 实验原理 258
12.2.5 实验步骤 264
12.2.6 习题 264
12.3 利用GDBServer在下位机中调试执行程序 265
12.3.1 实验目的 265
12.3.2 实验设备 265
12.3.3 实验内容 265
12.3.4 实验步骤 265
12.3.5 习题 266
12.4 设备驱动程序设计实验 267
12.4.1 实验目的 267
12.4.2 实验设备 267
12.4.3 实验内容 267
12.4.4 实验原理 267
12.4.5 实验步骤 279
12.4.6 习题 279
12.5 字符设备驱动实例——触摸屏驱动实验 280
12.5.1 实验目的 280
12.5.2 实验设备 280
12.5.3 实验内容 280
12.5.4 实验原理 280
12.5.5 实验步骤 290
12.5.6 习题 290
12.6 LCD驱动控制实验 291
12.6.1 实验目的 291
12.6.2 实验设备 291
12.6.3 实验内容 291
12.6.4 实验原理 291
12.6.5 实验步骤 302
12.6.6 习题 303
12.7 音频驱动及应用实验 303
12.7.1 实验目的 303
12.7.2 实验设备 303
12.7.3 实验内容 303
12.7.4 实验原理 303
12.7.5 实验步骤 313
12.7.6 习题 313
12.8 SD卡使用实验 313
12.8.1 实验目的 313
12.8.2 实验设备 313
12.8.3 实验内容 313
12.8.4 实验原理 314
12.8.5 实验步骤 327
12.8.6 习题 328
参考文献 329
命令是Linux系统的重要内容,Linux系统的所有功能都通过命令执行。在实际使用中,为了减少系统的开销,经常不使用图形界面,此时,对系统的所有操作都需要以命令方式来执行。在嵌入式系统开发过程中,由于目标机的性能和配置较低,因此,一般情况下目标机仅具有命令窗口而没有图形界面,对目标机的所有操作都通过命令实现。
Linux系统具有非常丰富的命令,绝大多数命令具有大量的参数,要对这些命令进行详细描述需要大量篇幅,在此,仅对嵌入式系统开发过程中,可能用到的命令进行简单介绍,其他命令请参考相关资料。使用命令时,在命令后面加参数“-help”或者用“man”命令可以取得命令的详细用法。
本章首先介绍Linux系统中常见文件类型和常用目录,文件通配符用法、文件操作权限;然后,以实例方式示范常用命令的用法和参数选择,简单介绍输入输出转向、管道功能;最后,对嵌入式系统开发过程中常用的vi编辑器进行较详细的讲解。