书籍详情
ARM嵌入式应用技术基础
作者:刘凯 主编
出版社:清华大学出版社
出版时间:2009-09-01
ISBN:9787302207528
定价:¥29.80
购买这本书可以去
内容简介
《ARM嵌入式应用技术基础》与《ARM嵌入式接口技术应用》、《ARM嵌入式应用实战》组成一个小系列,是以ARM7内核处理器和μC/OS-II嵌入式操作系统为主线,采用“入门篇”—“提高篇”—“实战篇”的结构体系,引导初学者一步一步地登入ARM与嵌入式的应用殿堂。《ARM嵌入式应用技术基础》为其中的“入门篇”,从基本概念和原理入手,循序渐进地讲解了嵌入式系统基础知识、ARM处理器基础、ARM的指令系统、ARM的编程技术、操作范例、ADS1.2开发工具的使用、AXD调试工具的使用、初始化代码研究和LPC2220(ARM7)处理器等各项基础知识,以帮助读者成功地掌握ARM的应用技术基础知识。《ARM嵌入式应用技术基础》通过多个范例对相关知识进行了有针对性的深入分析和详细解说,使得读者在深刻理解基础理论的同时,也锻炼了实际动手能力并掌握了相关技巧。《ARM嵌入式应用技术基础》内容丰富、深入浅出、实用性强,适合作为高等院校嵌入式系统相关专业的培训教材和教学参考用书。另外,《ARM嵌入式应用技术基础》对ARM7相关技术基础知识作了比较全面的归纳和总结,也适合有一定嵌入式系统设计和开发工作经验的同仁使用。
作者简介
暂缺《ARM嵌入式应用技术基础》作者简介
目录
第1章 嵌入式系统基础知识 1
1.1 认识嵌入式系统 1
1.1.1 嵌入式系统的定义 2
1.1.2 嵌入式系统发展的4个阶段 2
1.1.3 嵌入式系统的发展现状 4
1.1.4 嵌入式系统的组成 4
1.1.5 嵌入式系统实例 8
1.2 计算机系统的信息表示方式 10
1.2.1 进位计数制与转换 10
1.2.2 计算机中数的表示 12
1.2.3 基本的逻辑运算 17
1.3 本节附录 19
1.3.1 进制系统详述 19
1.3.2 二进制系统的乘除运算 20
第2章 ARM处理器基础 21
2.1 ARM7处理器概述 21
2.2 ARM处理器的数据格式 24
2.2.1 存储空间格式 24
2.2.2 ARM处理器的程序与数据存储 27
2.3 处理器模式与内部寄存器 28
2.3.1 处理器模式 28
2.3.2 内部寄存器 29
2.3.3 程序状态寄存器 31
2.4 ARM的异常处理 33
2.4.1 进入/退出异常 33
2.4.2 6种异常模式 34
2.4.3 异常中断向量与优先级 36
2.5 本节附录 37
2.5.1 ARM处理器系列 37
2.5.2 Thumb状态下的寄存器集 40
第3章 ARM的指令系统 41
3.1 ARM指令的寻址方式 41
3.1.1 立即寻址 41
3.1.2 寄存器寻址 42
3.1.3 寄存器移位寻址 42
3.1.4 寄存器间接寻址 43
3.1.5 基址寻址 43
3.1.6 多寄存器寻址 44
3.2 ARM指令概述 44
3.2.1 指令格式 44
3.2.2 指令的后缀 45
3.2.3 堆栈概念 48
3.3 ARM指令集 50
3.3.1 数据处理指令 50
3.3.2 存储器访问指令 56
3.3.3 分支跳转指令 59
3.3.4 协处理指令 60
3.3.5 杂项指令 60
3.3.6 ARM伪指令 62
3.4 ARM汇编指令实战 65
3.5 本节附录 69
3.5.1 Thumb状态切换到ARM状态 69
3.5.2 Thumb指令集与ARM指令集的区别 70
第4章 ARM的编程技术 71
4.1 汇编语言 71
4.1.1 ARM汇编程序的格式 71
4.1.2 伪指令语句 74
4.1.3 汇编语言程序设计及举例 84
4.2 C语言程序设计 88
4.2.1 使用Semihosting的服务 89
4.2.2 移植ADS1.2中的C语言函数库 92
4.2.3 编程规范 94
4.3 汇编语言与C/C++语言的混合编程 100
4.3.1 内嵌汇编语言指令 101
4.3.2 汇编与C/C++程序的变量相互访问 104
4.3.3 汇编与C/C++程序的函数相互调用 105
4.4 ARM编程实战 109
4.5 本节附录 116
4.5.1 ARM指令速查表 116
4.5.2 ARM伪指令速查表 118
第5章 操作范例 121
5.1 ADS1.2集成开发环境 121
5.1.1 CodeWarrior IDE简介 121
5.1.2 AXD调试器简介 122
5.2 范例一 汇编语言程序实验 122
5.2.1 工程的编辑 122
5.2.2 工程的调试 126
5.3 范例二 C程序实验 129
5.3.1 实验程序 129
5.3.2 实验步骤 130
5.3.3 实验调试 130
5.4 范例三 C程序与汇编程序实验 131
5.4.1 实验程序 131
5.4.2 实验步骤 132
5.4.3 实验调试 132
5.5 范例四 库文件定义与使用 134
5.5.1 实验程序 134
5.5.2 实验步骤 135
5.6 本节附录 137
5.6.1 集成开发环境 138
5.6.2 调试工具 139
第6章 ADS1.2开发工具的使用 141
6.1 软件开发 141
6.1.1 ADS集成开发工具 142
6.1.2 ADS开发环境的系统资源 144
6.2 程序的编辑 146
6.2.1 工程管理窗口介绍 146
6.2.2 代码编辑窗口介绍 148
6.2.3 编辑画面的设置 150
6.3 程序的汇编与编译 155
6.3.1 汇编与编译 155
6.3.2 ARM汇编器armasm的设置 157
6.3.3 ARM编译器armcc的设置 163
6.4 程序的链接 169
6.4.1 与链接相关的文件 169
6.4.2 ARM映像文件 171
6.4.3 ARM链接器生成的符号 175
6.4.4 链接器armlink的设置 177
6.5 本节附录 182
6.5.1 配置生成目标 182
6.5.2 scatter文件编写 186
6.5.3 工程项目模板 191
第7章 AXD调试工具的使用 192
7.1 AXD调试工具 192
7.1.1 AXD调试介绍 192
7.1.2 AXD调试步骤 194
7.1.3 View菜单介绍 196
7.2 AXD调试方法 203
7.2.1 常用的调试方法 203
7.2.2 单步调试 204
7.2.3 使用断点进行调试 205
第8章 初始化代码研究 208
8.1 初始化代码重点 208
8.2 初始化代码分析 209
8.2.1 中断向量表 209
8.2.2 初始化存储器系统 210
8.2.3 初始化堆栈 211
8.2.4 目标板初始化 212
第9章 LPC2220(ARM7)处理器 215
9.1 LPC2220芯片的功能 215
9.1.1 芯片功能介绍 215
9.1.2 芯片功能框图 216
9.2 LPC2220芯片的引脚 217
9.2.1 引脚描述 217
9.2.2 引脚功能设置 222
9.3 LPC2220芯片的功能模块 225
9.3.1 通用I/O口控制模块 225
9.3.2 I2C串行接口模块 227
9.3.3 SPI串行接口模块 234
9.3.4 UART通信接口模块 238
9.3.5 看门狗模块 245
9.3.6 脉宽调制模块 247
9.3.7 A/D转换器模块 254
9.3.8 定时器(计数器)模块 258
9.3.9 实时时钟模块 264
9.4 LPC2220芯片的系统控制模块 272
9.4.1 时钟控制器 272
9.4.2 向量中断控制器 275
9.4.3 外部存储控制器 282
参考文献 285
1.1 认识嵌入式系统 1
1.1.1 嵌入式系统的定义 2
1.1.2 嵌入式系统发展的4个阶段 2
1.1.3 嵌入式系统的发展现状 4
1.1.4 嵌入式系统的组成 4
1.1.5 嵌入式系统实例 8
1.2 计算机系统的信息表示方式 10
1.2.1 进位计数制与转换 10
1.2.2 计算机中数的表示 12
1.2.3 基本的逻辑运算 17
1.3 本节附录 19
1.3.1 进制系统详述 19
1.3.2 二进制系统的乘除运算 20
第2章 ARM处理器基础 21
2.1 ARM7处理器概述 21
2.2 ARM处理器的数据格式 24
2.2.1 存储空间格式 24
2.2.2 ARM处理器的程序与数据存储 27
2.3 处理器模式与内部寄存器 28
2.3.1 处理器模式 28
2.3.2 内部寄存器 29
2.3.3 程序状态寄存器 31
2.4 ARM的异常处理 33
2.4.1 进入/退出异常 33
2.4.2 6种异常模式 34
2.4.3 异常中断向量与优先级 36
2.5 本节附录 37
2.5.1 ARM处理器系列 37
2.5.2 Thumb状态下的寄存器集 40
第3章 ARM的指令系统 41
3.1 ARM指令的寻址方式 41
3.1.1 立即寻址 41
3.1.2 寄存器寻址 42
3.1.3 寄存器移位寻址 42
3.1.4 寄存器间接寻址 43
3.1.5 基址寻址 43
3.1.6 多寄存器寻址 44
3.2 ARM指令概述 44
3.2.1 指令格式 44
3.2.2 指令的后缀 45
3.2.3 堆栈概念 48
3.3 ARM指令集 50
3.3.1 数据处理指令 50
3.3.2 存储器访问指令 56
3.3.3 分支跳转指令 59
3.3.4 协处理指令 60
3.3.5 杂项指令 60
3.3.6 ARM伪指令 62
3.4 ARM汇编指令实战 65
3.5 本节附录 69
3.5.1 Thumb状态切换到ARM状态 69
3.5.2 Thumb指令集与ARM指令集的区别 70
第4章 ARM的编程技术 71
4.1 汇编语言 71
4.1.1 ARM汇编程序的格式 71
4.1.2 伪指令语句 74
4.1.3 汇编语言程序设计及举例 84
4.2 C语言程序设计 88
4.2.1 使用Semihosting的服务 89
4.2.2 移植ADS1.2中的C语言函数库 92
4.2.3 编程规范 94
4.3 汇编语言与C/C++语言的混合编程 100
4.3.1 内嵌汇编语言指令 101
4.3.2 汇编与C/C++程序的变量相互访问 104
4.3.3 汇编与C/C++程序的函数相互调用 105
4.4 ARM编程实战 109
4.5 本节附录 116
4.5.1 ARM指令速查表 116
4.5.2 ARM伪指令速查表 118
第5章 操作范例 121
5.1 ADS1.2集成开发环境 121
5.1.1 CodeWarrior IDE简介 121
5.1.2 AXD调试器简介 122
5.2 范例一 汇编语言程序实验 122
5.2.1 工程的编辑 122
5.2.2 工程的调试 126
5.3 范例二 C程序实验 129
5.3.1 实验程序 129
5.3.2 实验步骤 130
5.3.3 实验调试 130
5.4 范例三 C程序与汇编程序实验 131
5.4.1 实验程序 131
5.4.2 实验步骤 132
5.4.3 实验调试 132
5.5 范例四 库文件定义与使用 134
5.5.1 实验程序 134
5.5.2 实验步骤 135
5.6 本节附录 137
5.6.1 集成开发环境 138
5.6.2 调试工具 139
第6章 ADS1.2开发工具的使用 141
6.1 软件开发 141
6.1.1 ADS集成开发工具 142
6.1.2 ADS开发环境的系统资源 144
6.2 程序的编辑 146
6.2.1 工程管理窗口介绍 146
6.2.2 代码编辑窗口介绍 148
6.2.3 编辑画面的设置 150
6.3 程序的汇编与编译 155
6.3.1 汇编与编译 155
6.3.2 ARM汇编器armasm的设置 157
6.3.3 ARM编译器armcc的设置 163
6.4 程序的链接 169
6.4.1 与链接相关的文件 169
6.4.2 ARM映像文件 171
6.4.3 ARM链接器生成的符号 175
6.4.4 链接器armlink的设置 177
6.5 本节附录 182
6.5.1 配置生成目标 182
6.5.2 scatter文件编写 186
6.5.3 工程项目模板 191
第7章 AXD调试工具的使用 192
7.1 AXD调试工具 192
7.1.1 AXD调试介绍 192
7.1.2 AXD调试步骤 194
7.1.3 View菜单介绍 196
7.2 AXD调试方法 203
7.2.1 常用的调试方法 203
7.2.2 单步调试 204
7.2.3 使用断点进行调试 205
第8章 初始化代码研究 208
8.1 初始化代码重点 208
8.2 初始化代码分析 209
8.2.1 中断向量表 209
8.2.2 初始化存储器系统 210
8.2.3 初始化堆栈 211
8.2.4 目标板初始化 212
第9章 LPC2220(ARM7)处理器 215
9.1 LPC2220芯片的功能 215
9.1.1 芯片功能介绍 215
9.1.2 芯片功能框图 216
9.2 LPC2220芯片的引脚 217
9.2.1 引脚描述 217
9.2.2 引脚功能设置 222
9.3 LPC2220芯片的功能模块 225
9.3.1 通用I/O口控制模块 225
9.3.2 I2C串行接口模块 227
9.3.3 SPI串行接口模块 234
9.3.4 UART通信接口模块 238
9.3.5 看门狗模块 245
9.3.6 脉宽调制模块 247
9.3.7 A/D转换器模块 254
9.3.8 定时器(计数器)模块 258
9.3.9 实时时钟模块 264
9.4 LPC2220芯片的系统控制模块 272
9.4.1 时钟控制器 272
9.4.2 向量中断控制器 275
9.4.3 外部存储控制器 282
参考文献 285
猜您喜欢