《嵌入式系统技术与设计(第2版)》是2012年人民邮电出版社出版的一本图书,作者是华清远见教育集团 刘洪涛 苗德行。
基本介绍
- 书名:嵌入式系统技术与设计(第2版)
- 作者:华清远见教育集团、刘洪涛、苗德行
- ISBN:9787115293701
- 页数:282页
- 定价:36.00元
- 出版社:人民邮电出版社
- 出版时间:2012年11月
- 装帧:平装
- 开本:16开
- 版次:2
内容提要
《21世纪高等教育计算机规划教材:嵌入式系统技术与设计(第2版)》在全面介绍ARM处理器的体系结构、编程模型、指令系统和最新的RealView MDK开发环境的同时,以英蓓特公司的EduKit—Ⅲ实验教学系统为平台,以ARM9处理器S3C2410为核心,详细介绍了系统的设计及相关接口的操作,并提供了大量的实验例程。
《21世纪高等教育计算机规划教材:嵌入式系统技术与设计(第2版)》最后详细讲解了嵌入式Linux系统各个组成部分在教学系统上的移植过程。
本书可作为高等院校计算机、电子信息、通信工程、自动化等专业嵌入式系统教程的教材,也可作为相关嵌入式系统开发人员的参考书。
图书目录
第1章 嵌入式系统概述 1
1.1 嵌入式系统简介 1
1.2 嵌入式系统发展趋势 1
1.3 嵌入式系统的硬体和软体特徵 2
1.4 ARM系列处理器简介 4
1.4.1 ARM7处理器系列 5
1.4.2 ARM9处理器系列 5
1.4.3 ARM9E处理器系列 6
1.4.4 ARM10处理器系列 6
1.4.5 ARM10E处理器系列 6
1.4.6 ARM11处理器系列 7
1.4.7 SecureCore处理器系列 7
1.4.8 StrongARM和Xscale处理器系列 7
1.4.9 Cortex和MPCore处理器系列 7
1.4.10 各种处理器系列之间的比较 7
本章小结 8
思考题 8
第2章 ARM体系结构与指令集 9
2.1 ARM体系结构的特点 9
2.2 ARM处理器工作模式 9
2.3 暂存器组织 10
2.3.1 通用暂存器 11
2.3.2 状态暂存器 12
2.3.3 程式计数器 14
2.4 流水线 15
2.4.1 流水线的概念与原理 15
2.4.2 流水线的分类 15
2.4.3 影响流水线性能的因素 16
2.5 ARM存储系统 17
2.5.1 协处理器 18
2.5.2 存储管理单元 18
2.5.3 高速缓冲存储器 19
2.6 异常 19
2.6.1 异常的种类 19
2.6.2 异常的优先权 20
2.6.3 构建异常向量表 20
2.6.4 异常回响流程 22
2.6.5 从异常处理程式中返回 23
2.7 ARM处理器的定址方式 24
2.7.1 数据处理指令定址方式 24
2.7.2 记忆体访问指令定址方式 25
2.8 ARM处理器的指令集 28
2.8.1 数据操作指令 28
2.8.2 乘法指令 33
2.8.3 Load/Store指令 35
2.8.4 单数据交换指令 40
2.8.5 跳转指令 41
2.8.6 状态操作指令 43
2.8.7 协处理器指令 45
2.8.8 异常产生指令 46
本章小结 48
思考题 48
第3章 ARM彙编语言程式设计 49
3.1 ARM/Thumb混合编程 49
3.1.1 Thumb指令的特点及实现 49
3.1.2 ARM/Thumb互动工作基础 50
3.1.3 ARM/Thumb互动子程式 52
3.2 ARM彙编器支持的伪操作 57
3.2.1 伪操作概述 57
3.2.2 符号定义伪操作 57
3.2.3 数据定义伪操作 60
3.2.4 彙编控制伪操作 64
3.2.5 杂项伪操作 68
3.3 ARM彙编器支持的伪指令 75
3.3.1 ADR伪指令 75
3.3.2 ADRL伪指令 75
3.3.3 LDR伪指令 76
3.4 彙编语言与C/C++的混合编程 77
3.4.1 内联彙编 77
3.4.2 嵌入型彙编 79
3.4.3 彙编代码访问C全局变数 82
3.4.4 C++中使用C头档案 82
3.4.5 混合编程调用举例 83
本章小结 87
思考题 87
第4章 嵌入式软体基础实验 88
4.1 Realview MDK简介 88
4.2 ULINK2仿真器简介 89
4.3 使用Realview MDK创建一个工程 89
4.3.1 选择工具集 89
4.3.2 创建工程并选择处理器 90
4.3.3 建立一个新的源档案 91
4.3.4 工程中档案的加入 91
4.3.5 工程基本配置 91
4.3.6 工程的编译连结 96
4.4 嵌入式软体开发基础实验 96
4.4.1 ARM彙编指令实验一 96
4.4.2 ARM彙编指令实验二 101
4.4.3 Thumb彙编指令实验 102
4.4.4 ARM处理器工作模式实验 103
4.4.5 C语言实验程式一 106
4.4.6 C语言实验程式二 108
4.4.7 彙编语言与C语言相互调用
实例 111
本章小结 113
第5章 ARM套用系统设计 114
5.1 SoC系统概述 114
5.2 S3C2410概述 114
5.3 S3C2410系统功能电路设计 115
5.3.1 概述 115
5.3.2 电源电路 117
5.3.3 时钟电路 117
5.3.4 复位电路 118
5.3.5 JTAG接口电路 118
5.3.6 Nor Flash电路 119
5.3.7 Nand Flash电路 121
5.3.8 SDRAM电路 123
5.3.9 串列接口电路 125
5.3.10 乙太网接口电路 126
5.3.11 蜂鸣器电路及其PWM电路 126
5.3.12 按键电路 126
5.3.13 实时时钟 126
5.3.14 A/D转换器电路 128
5.3.15 IIS音频接口电路 128
5.3.16 SD卡接口电路 129
5.3.17 LCD电路 129
5.3.18 USB接口电路 130
5.3.19 印製电路板设计的注意事项 130
本章小结 131
思考题 131
第6章 S3C2410系统接口操作原理及实验 132
6.1 I/O接口实验 132
6.1.1 实验目的 132
6.1.2 实验设备 132
6.1.3 实验内容 132
6.1.4 实验原理 133
6.1.5 实验操作步骤 134
6.1.6 实验参考程式 135
6.2 串口通信实验 136
6.2.1 实验目的 136
6.2.2 实验设备 136
6.2.3 实验内容 136
6.2.4 实验原理 136
6.2.5 实验操作步骤 141
6.2.6 实验参考程式 142
6.3 中断实验 142
6.3.1 实验目的 142
6.3.2 实验设备 143
6.3.3 实验内容 143
6.3.4 实验原理 143
6.3.5 实验操作步骤 147
6.3.6 实验参考程式 149
6.4 键盘控制实验 151
6.4.1 实验目的 151
6.4.2 实验设备 151
6.4.3 实验内容 151
6.4.4 实验原理 151
6.4.5 实验设计 153
6.4.6 实验操作步骤 154
6.4.7 实验参考程式 154
6.5 实时时钟实验 155
6.5.1 实验目的 155
6.5.2 实验设备 155
6.5.3 实验内容 156
6.5.4 实验原理 156
6.5.5 实验设计 157
6.5.6 实验操作步骤 158
6.5.7 实验参考程式 159
6.6 看门狗实验 160
6.6.1 实验目的 160
6.6.2 实验设备 160
6.6.3 实验内容 160
6.6.4 实验原理 161
6.6.5 实验设计 162
6.6.6 实验操作步骤 163
6.6.7 实验参考程式 164
6.7 IIC串列通信实验 165
6.7.1 实验目的 165
6.7.2 实验设备 165
6.7.3 实验内容 165
6.7.4 实验原理 165
6.7.5 实验设计 170
6.7.6 实验操作步骤 171
6.7.7 实验参考程式 171
6.8 A/D转换实验 173
6.8.1 实验目的 173
6.8.2 实验设备 173
6.8.3 实验内容 173
6.8.4 实验原理 174
6.8.5 实验设计 176
6.8.6 实验操作步骤 176
6.8.7 实验参考程式 177
6.9 Nand Flash读写实验 178
6.9.1 实验目的 178
6.9.2 实验设备 178
6.9.3 实验内容 178
6.9.4 实验原理 178
6.9.5 实验设计 182
6.9.6 实验操作步骤 182
6.9.7 实验参考程式 182
本章小结 184
第7章 嵌入式作业系统及开发简述 185
7.1 嵌入式Linux简介 185
7.2 构建嵌入式Linux开发环境 185
7.2.1 交叉开发环境介绍 186
7.2.2 安装交叉开发工具 186
7.2.3 主机交叉开发环境配置 188
7.3 Bootloader 190
7.3.1 Bootloader的种类 191
7.3.2 U-Boot工程简介 192
7.3.3 U-Boot编译 192
7.3.4 U-Boot的移植思路 195
7.3.5 U-Boot的烧写 196
7.3.6 U-Boot的常用命令 197
7.4 Linux核心与移植 202
7.4.1 Linux核心结构 203
7.4.2 Linux核心配置系统 204
7.4.3 Linux核心编译选项 209
7.5 移植Linux 2.6核心到S3C2410平台简述 213
7.5.1 移植的概念 213
7.5.2 设备驱动移植 217
7.5.3 Nand Flash移植 218
7.6 嵌入式档案系统构建 220
7.6.1 档案系统简介 220
7.6.2 嵌入式档案系统的特点和种类 220
7.6.3 档案系统的组成 226
7.6.4 利用BusyBox构建档案系统 229
7.6.5 利用NFS调试新建的档案系统 232
本章小结 234
思考题 234
7.5.2 设备驱动移植 217
7.5.3 Nand Flash移植 218
7.6 嵌入式档案系统构建 220
7.6.1 档案系统简介 220
7.6.2 嵌入式档案系统的特点和种类 220
7.6.3 档案系统的组成 226
7.6.4 利用BusyBox构建档案系统 229
7.6.5 利用NFS调试新建的档案系统 232
本章小结 234
思考题 234
第8章 嵌入式Linux实验 235
8.1 搭建嵌入式Linux开发环境 235
8.1.1 实验目的 235
8.1.2 实验环境 235
8.1.3 实验步骤 236
8.2 移植U-Boot实验 238
8.2.1 实验目的 238
8.2.2 实验环境 238
8.2.3 实验步骤 238
8.3 烧写U-Boot实验 247
8.3.1 实验目的 247
8.3.2 实验环境 248
8.3.3 实验步骤 248
8.4 添加U-Boot命令实验 250
8.4.1 实验目的 250
8.4.2 实验环境 250
8.4.3 实验步骤 250
8.5 Linux核心编译与下载实验 250
8.5.1 实验目的 250
8.5.2 实验环境 250
8.5.3 实验步骤 251
8.6 Linux核心移植实验 252
8.6.1 CS8900A网卡驱动移植 252
8.6.2 Nand Flash驱动移植 254
8.6.3 Yaffs2档案系统移植 256
8.6.4 LCD驱动移植 257
8.6.5 USB驱动移植 258
8.7 档案系统製作实验 259
8.7.1 实验目的 259
8.7.2 实验环境 259
8.7.3 实验步骤 259
8.8 编写Linux核心模组实验 264
8.8.1 实验目的 264
8.8.2 实验环境 264
8.8.3 实验步骤 264
8.9 编写带参数的Linux核心模组实验 265
8.9.1 实验目的 265
8.9.2 实验环境 265
8.9.3 实验步骤 265
8.10 编写Linux字元驱动程式之LED实验 265
8.10.1 实验目的 265
8.10.2 实验环境 266
8.10.3 实验步骤 266
8.11 编写Linux字元驱动程式之PWM实验 269
8.11.1 实验目的 269
8.11.2 实验环境 269
8.11.3 实验步骤 270
8.12 编写Linux字元驱动程式之键盘扫描实验 272
8.12.1 实验目的 272
8.12.2 实验环境 273
8.12.3 实验步骤 273
本章小结 281
8.1 搭建嵌入式Linux开发环境 235
8.1.1 实验目的 235
8.1.2 实验环境 235
8.1.3 实验步骤 236
8.2 移植U-Boot实验 238
8.2.1 实验目的 238
8.2.2 实验环境 238
8.2.3 实验步骤 238
8.3 烧写U-Boot实验 247
8.3.1 实验目的 247
8.3.2 实验环境 248
8.3.3 实验步骤 248
8.4 添加U-Boot命令实验 250
8.4.1 实验目的 250
8.4.2 实验环境 250
8.4.3 实验步骤 250
8.5 Linux核心编译与下载实验 250
8.5.1 实验目的 250
8.5.2 实验环境 250
8.5.3 实验步骤 251
8.6 Linux核心移植实验 252
8.6.1 CS8900A网卡驱动移植 252
8.6.2 Nand Flash驱动移植 254
8.6.3 Yaffs2档案系统移植 256
8.6.4 LCD驱动移植 257
8.6.5 USB驱动移植 258
8.7 档案系统製作实验 259
8.7.1 实验目的 259
8.7.2 实验环境 259
8.7.3 实验步骤 259
8.8 编写Linux核心模组实验 264
8.8.1 实验目的 264
8.8.2 实验环境 264
8.8.3 实验步骤 264
8.9 编写带参数的Linux核心模组实验 265
8.9.1 实验目的 265
8.9.2 实验环境 265
8.9.3 实验步骤 265
8.10 编写Linux字元驱动程式之LED实验 265
8.10.1 实验目的 265
8.10.2 实验环境 266
8.10.3 实验步骤 266
8.11 编写Linux字元驱动程式之PWM实验 269
8.11.1 实验目的 269
8.11.2 实验环境 269
8.11.3 实验步骤 270
8.12 编写Linux字元驱动程式之键盘扫描实验 272
8.12.1 实验目的 272
8.12.2 实验环境 273
8.12.3 实验步骤 273
本章小结 281
参考文献 282