Definitive guide to the ARM Cortex-M3
副标题:无
分类号:
ISBN:9787811245332
微信扫一扫,移动浏览光盘
简介
《ARM Cortex-M3权威指南》重点介绍了新的ARM架构、指令集的总结、硬件特性以及调试系统的概览。《ARM Cortex-M3权威指南》还提供了一些程序示例,并且在其中讲解了使用GNU工具链与ARM工具的基本方法与步骤。主要内容包括:ARM架构的背景、Cortex睲3入门、操作模式、异常与中断、汇编语言基础、存储器系统、Cortex睲3上的汇编与C编程、开发流程、电源管理、多处理机通信、开发工具、调试、Keil RealView MDK使用入门等。随书附光盘1张,内含ARM Cortex睲3相关文章及Keil RealView MDK评估软件等。《ARM Cortex-M3权威指南》适用于使用ARM Cortex睲3微控制器的研发人员作为技术、编程参考,也可作为Cortex睲3微控制器教学或培训用教材。
目录
第1章 介绍.
1.1 arm cortex-m3处理器初探1
1.1.1 从cortex-m3处理器内核到基于cortex-m3的mcu2
1.1.2 arm及arm架构的背景3
1.2 arm的各种架构版本4
1.3 指令集的开发7
1.4 thumb-2指令集体系结构(isa)8
1.5 cortex-m3处理器的舞台9
1.6 本书的组织结构9
1.7 深入研究用的读物10
第2章 cortex-m3概览
2.1 简介11
2.2 寄存器组12
2.3 操作模式和特权级别14
2.4 内建的嵌套向量中断控制器16
2.5 存储器映射17
2.6 总线接口18
2.7 存储器保护单元(mpu)18
2.8 指令集19
2.9 中断和异常20
.2.10 调试支持22
2.11 cortex-m3的品性简评22
2.11.1 高性能23
2.11.2 先进的中断处理功能23
2.11.3 低功耗24
2.11.4 系统特性24
2.11.5 调试支持24
第3章 cortex-m3基础
3.1 寄存器组25
3.1.1 通用目的寄存器r0~r725
3.1.2 通用目的寄存器r8~r1225
3.1.3 堆栈指针r1326
3.1.4 连接寄存器r1428
3.1.5 程序计数器r1528
3.2 特殊功能寄存器组29
3.2.1 程序状态寄存器(psrs或曰xpsr)29
3.2.2 primask、 faultmask和basepri30
3.2.3 控制寄存器(control)31
3.3 操作模式32
3.4 异常与中断34
3.5 向量表35
3.6 栈内存操作36
3.7 cortex-m3的堆栈实现38
3.8 复位序列40
第4章 指令集
4.1 汇编语言基础42
4.1.1 汇编语言:基本语法42
4.1.2 汇编语言:后缀的使用44
4.1.3 汇编语言:统一汇编语言书写语法44
4.2 指令集45
4.2.1 分类指令表46
4.2.2 未支持的指令51
4.3 近距离检视指令53
4.3.1 汇编语言:数据传送53
4.3.2 汇编语言:数据处理59
4.3.3 汇编语言:子程调用与无条件跳转指令64
4.3.4 汇编语言:标志位与条件转移65
4.3.5 汇编语言:指令隔离指令和存储器隔离指令68
4.3.6 汇编语言:饱和运算69
4.4 cm3中一些前卫的指令72
4.4.1 mrs和msr72
4.4.2 if-then73
4.4.3 cbz和cbnz74
4.4.4 sdiv和udiv75
4.4.5 rev, revh,rev16以及revsh75
4.4.6 rbit76
4.4.7 sxtb, sxth, uxtb, uxth76
4.4.8 bfc/bfi,ubfx/sbfx77
4.4.9 ldrd/strd78
4.4.10 tbb,tbh78
第5章 存储器系统
5.1 存储系统功能概览81
5.2 存储器映射81
5.3 存储器的各种访问属性84
5.4 存储器的缺省访问许可85
5.5 位带操作86
5.5.1 位带操作的优越性90
5.5.2 其他数据长度上的位带操作92
5.5.3 在c语言中使用位带操作92
5.6 非对齐数据传送93
5.7 互斥访问95
5.8 端模式98
第6章 实现cortex-m3的全景概貌
6.1 流水线100
6.2 详细的框图102
6.3 cortex-m3的总线接口105
6.4 cortex-m3的其他接口106
6.5 外部私有外设总线107
6.6 典型的连接方式107
6.7 复位信号109
第7章 异常
7.1 异常类型110
7.2 优先级的定义112
7.3 向量表117
7.4 中断输入及挂起行为119
7.5 fault异常120
7.5.1 总线fault121
7.5.2 存储器管理fault123
7.5.3 用法fault124
7.5.4 硬fault126
7.5.5 应对fault127
7.6 svc和pendsv127
第8章 nvic与中断控制
8.1 nvic概览132
8.2 中断配置基础133
8.3 中断的使能与除能133
8.4 中断的挂起与清除134
8.4. 1 优先级135
8.4.2 活动状态136
8.4.3 primask与faultmask特殊功能寄存器136
8.4.4 basepri寄存器137
8.4.5 其他异常的配置寄存器138
8.5 中断建立全过程的演示..140
8.6 软件中断142
8.7 systick定时器142
第9章 中断的具体行为
9.1 中断/异常的响应序列145
9.1.1 入栈145
9.1.2 取向量147
9.1.3 更新寄存器147
9.2 异常返回147
9.3 嵌套的中断148
9.4 咬尾中断149
9.5 晚到(的高优先级)异常149
9.6 异常返回值150
9.7 中断延迟151
9.8 异常响应期间的fault153
第10章 cortex-m3的低层编程
10.1 概览155
10.1.1 使用汇编155
10.1.2 使用c156
10.2 汇编与c的接口157
10.3 典型的开发流程158
10.4 第1步工作158
10.5 与外界互动160
10.6 使用数据存储器165
10.7 使用互斥访问实现信号量操作166
10.8 使用位带实现互斥锁操作168
10.9 使用位段提取与查表跳转170
第11章 使用异常系统
11.1 使用中断172
11.1.1 建立堆栈173
11.1.2 建立向量表174
11.1.3 建立中断优先级174
11.1.4 使能中断175
11.2 异常/中断服务例程177
11.3 软件触发中断178
11.4 异常服务例程的范例179
11.5 使用svc182
11.6 svc示范:用于输出函数183
11.7 在c中使用svc186
第12章 编程进阶与系统行为
12.1 在系统中使用双堆栈190
12.2 双字的堆栈对齐方式193
12.3 非基级的线程模式193
12.4 性能评估197
12.5 当处理器被锁定(lockup)时198
12.5.1 锁定情形下的众生相198
12.5.2 避免被锁定199
第13章 cortex-m3的其他特性
13.1 systick定时器201
13.2 电源管理204
13.3 多处理器通信208
13.4 自复位控制211
第14 章 存储保护单元mpu
14.1 mpu概览214
14.2 mpu的寄存器组215
14.3 启用mpu221
14.4 mpu的典型设置227
14.5 使用子region除能的示例228
第15章 调试系统架构
15.1 调试特性概览233
15.2 coresight技术概览234
15.2.1 处理器的调试接口234
15.2.2 dp模块、ap模块和dap235
15.2.3 跟踪接口236
15.2.4 coresight的性质236
15.3 调试模式238
15.4 调试事件241
15.5 cortex-m3中的断点242
15.6 调试时访问寄存器243
15.7 内核的其他调试特性244
第16章 调试组件
16.1 简介246
16.2 跟踪组件:数据观察点与跟踪(dwt)247
16.3 跟踪组件:仪器化跟踪宏单元(itm)248
16.3.1 基于itm的软件跟踪249
16.3.2 基于itm和dwt的硬件跟踪249
16.3.3 itm时间戳250
16.4 跟踪组件:嵌入式跟踪宏单元(etm)250
16.5 跟踪组件:跟踪端口接口单元(tpiu)251
16.6 闪存地址重载及断点单元(fpb)251
16.7 ahb访问端口254
16.8 rom表255
第17章 开始cortex-m3开发
17.1 选择一款cortex-m3产品257
17.2 cortex-m3版本0与版本1的区别258
17.3 cortex-m3修订版1与修订版2的区别259
17.3.1 双字堆栈对齐方式成为缺省值260
17.3.2 新增辅助控制寄存器(auxiliary control register)260
17.3.3 id寄存器的更新260
17.3.4 调试功能261
17.3.5 睡眠特性261
17.3.6 使用修订版2带来的好处和注意事项261
17.4 开发工具262
17.4.1 c编译器263
17.4.2 嵌入式操作系统支持263
第18章 arm7应用程序移植到cortex-m3
18.1 简介265
18.2 系统性质266
18.2.1 存储器映射266
18.2.2 中断/异常系统266
18.2.3 mpu267
18.2.4 系统控制267
18.2.5 操作模式267
18.3 汇编源程序268
18.3.1 thumb状态269
18.3.2 arm状态269
18.4 c源程序270
18.5 预编译的目标文件271
18.6 优化271
第19章 使用gnu工具链开始cortex-m3开发
19.1 背景272
19.2 获取gnu工具链272
19.3 示例程序273
19.4 访问特殊功能寄存器286
19.5 使用未支持的指令286
19.6 gnu c编译器的内联汇编287
第20章 keil realview microcontroller development kit(rvmdk)使用入门
20.1 简介288
20.2 μvision使用入门289
20.3 使用uart输出“hello world”293
20.4 测试示例程序296
20.5 使用调试器297
20.6 指令模拟器300
20.7 修改向量表303
20.8 使用中断实现的秒表示例程序303
附录a cortex-m3指令小结312
附录b 16位thumb指令及架构版本323
附录c cortex-m3异常快速参考324
附录d nvic寄存器小结326
附录e cortex-m3疑难解答340
e.1 简介340
e.2 设计fault服务例程341
e.2.1 上报fault状态寄存器342
e.2.2 上报入栈的pc342
e.2.3 上报fault地址寄存器343
e.2.4 其他注意事项343
e.3 理解发生fault的原因344
e.4 在c中上报入栈的寄存器和各fault状态寄存器...346
1.1 arm cortex-m3处理器初探1
1.1.1 从cortex-m3处理器内核到基于cortex-m3的mcu2
1.1.2 arm及arm架构的背景3
1.2 arm的各种架构版本4
1.3 指令集的开发7
1.4 thumb-2指令集体系结构(isa)8
1.5 cortex-m3处理器的舞台9
1.6 本书的组织结构9
1.7 深入研究用的读物10
第2章 cortex-m3概览
2.1 简介11
2.2 寄存器组12
2.3 操作模式和特权级别14
2.4 内建的嵌套向量中断控制器16
2.5 存储器映射17
2.6 总线接口18
2.7 存储器保护单元(mpu)18
2.8 指令集19
2.9 中断和异常20
.2.10 调试支持22
2.11 cortex-m3的品性简评22
2.11.1 高性能23
2.11.2 先进的中断处理功能23
2.11.3 低功耗24
2.11.4 系统特性24
2.11.5 调试支持24
第3章 cortex-m3基础
3.1 寄存器组25
3.1.1 通用目的寄存器r0~r725
3.1.2 通用目的寄存器r8~r1225
3.1.3 堆栈指针r1326
3.1.4 连接寄存器r1428
3.1.5 程序计数器r1528
3.2 特殊功能寄存器组29
3.2.1 程序状态寄存器(psrs或曰xpsr)29
3.2.2 primask、 faultmask和basepri30
3.2.3 控制寄存器(control)31
3.3 操作模式32
3.4 异常与中断34
3.5 向量表35
3.6 栈内存操作36
3.7 cortex-m3的堆栈实现38
3.8 复位序列40
第4章 指令集
4.1 汇编语言基础42
4.1.1 汇编语言:基本语法42
4.1.2 汇编语言:后缀的使用44
4.1.3 汇编语言:统一汇编语言书写语法44
4.2 指令集45
4.2.1 分类指令表46
4.2.2 未支持的指令51
4.3 近距离检视指令53
4.3.1 汇编语言:数据传送53
4.3.2 汇编语言:数据处理59
4.3.3 汇编语言:子程调用与无条件跳转指令64
4.3.4 汇编语言:标志位与条件转移65
4.3.5 汇编语言:指令隔离指令和存储器隔离指令68
4.3.6 汇编语言:饱和运算69
4.4 cm3中一些前卫的指令72
4.4.1 mrs和msr72
4.4.2 if-then73
4.4.3 cbz和cbnz74
4.4.4 sdiv和udiv75
4.4.5 rev, revh,rev16以及revsh75
4.4.6 rbit76
4.4.7 sxtb, sxth, uxtb, uxth76
4.4.8 bfc/bfi,ubfx/sbfx77
4.4.9 ldrd/strd78
4.4.10 tbb,tbh78
第5章 存储器系统
5.1 存储系统功能概览81
5.2 存储器映射81
5.3 存储器的各种访问属性84
5.4 存储器的缺省访问许可85
5.5 位带操作86
5.5.1 位带操作的优越性90
5.5.2 其他数据长度上的位带操作92
5.5.3 在c语言中使用位带操作92
5.6 非对齐数据传送93
5.7 互斥访问95
5.8 端模式98
第6章 实现cortex-m3的全景概貌
6.1 流水线100
6.2 详细的框图102
6.3 cortex-m3的总线接口105
6.4 cortex-m3的其他接口106
6.5 外部私有外设总线107
6.6 典型的连接方式107
6.7 复位信号109
第7章 异常
7.1 异常类型110
7.2 优先级的定义112
7.3 向量表117
7.4 中断输入及挂起行为119
7.5 fault异常120
7.5.1 总线fault121
7.5.2 存储器管理fault123
7.5.3 用法fault124
7.5.4 硬fault126
7.5.5 应对fault127
7.6 svc和pendsv127
第8章 nvic与中断控制
8.1 nvic概览132
8.2 中断配置基础133
8.3 中断的使能与除能133
8.4 中断的挂起与清除134
8.4. 1 优先级135
8.4.2 活动状态136
8.4.3 primask与faultmask特殊功能寄存器136
8.4.4 basepri寄存器137
8.4.5 其他异常的配置寄存器138
8.5 中断建立全过程的演示..140
8.6 软件中断142
8.7 systick定时器142
第9章 中断的具体行为
9.1 中断/异常的响应序列145
9.1.1 入栈145
9.1.2 取向量147
9.1.3 更新寄存器147
9.2 异常返回147
9.3 嵌套的中断148
9.4 咬尾中断149
9.5 晚到(的高优先级)异常149
9.6 异常返回值150
9.7 中断延迟151
9.8 异常响应期间的fault153
第10章 cortex-m3的低层编程
10.1 概览155
10.1.1 使用汇编155
10.1.2 使用c156
10.2 汇编与c的接口157
10.3 典型的开发流程158
10.4 第1步工作158
10.5 与外界互动160
10.6 使用数据存储器165
10.7 使用互斥访问实现信号量操作166
10.8 使用位带实现互斥锁操作168
10.9 使用位段提取与查表跳转170
第11章 使用异常系统
11.1 使用中断172
11.1.1 建立堆栈173
11.1.2 建立向量表174
11.1.3 建立中断优先级174
11.1.4 使能中断175
11.2 异常/中断服务例程177
11.3 软件触发中断178
11.4 异常服务例程的范例179
11.5 使用svc182
11.6 svc示范:用于输出函数183
11.7 在c中使用svc186
第12章 编程进阶与系统行为
12.1 在系统中使用双堆栈190
12.2 双字的堆栈对齐方式193
12.3 非基级的线程模式193
12.4 性能评估197
12.5 当处理器被锁定(lockup)时198
12.5.1 锁定情形下的众生相198
12.5.2 避免被锁定199
第13章 cortex-m3的其他特性
13.1 systick定时器201
13.2 电源管理204
13.3 多处理器通信208
13.4 自复位控制211
第14 章 存储保护单元mpu
14.1 mpu概览214
14.2 mpu的寄存器组215
14.3 启用mpu221
14.4 mpu的典型设置227
14.5 使用子region除能的示例228
第15章 调试系统架构
15.1 调试特性概览233
15.2 coresight技术概览234
15.2.1 处理器的调试接口234
15.2.2 dp模块、ap模块和dap235
15.2.3 跟踪接口236
15.2.4 coresight的性质236
15.3 调试模式238
15.4 调试事件241
15.5 cortex-m3中的断点242
15.6 调试时访问寄存器243
15.7 内核的其他调试特性244
第16章 调试组件
16.1 简介246
16.2 跟踪组件:数据观察点与跟踪(dwt)247
16.3 跟踪组件:仪器化跟踪宏单元(itm)248
16.3.1 基于itm的软件跟踪249
16.3.2 基于itm和dwt的硬件跟踪249
16.3.3 itm时间戳250
16.4 跟踪组件:嵌入式跟踪宏单元(etm)250
16.5 跟踪组件:跟踪端口接口单元(tpiu)251
16.6 闪存地址重载及断点单元(fpb)251
16.7 ahb访问端口254
16.8 rom表255
第17章 开始cortex-m3开发
17.1 选择一款cortex-m3产品257
17.2 cortex-m3版本0与版本1的区别258
17.3 cortex-m3修订版1与修订版2的区别259
17.3.1 双字堆栈对齐方式成为缺省值260
17.3.2 新增辅助控制寄存器(auxiliary control register)260
17.3.3 id寄存器的更新260
17.3.4 调试功能261
17.3.5 睡眠特性261
17.3.6 使用修订版2带来的好处和注意事项261
17.4 开发工具262
17.4.1 c编译器263
17.4.2 嵌入式操作系统支持263
第18章 arm7应用程序移植到cortex-m3
18.1 简介265
18.2 系统性质266
18.2.1 存储器映射266
18.2.2 中断/异常系统266
18.2.3 mpu267
18.2.4 系统控制267
18.2.5 操作模式267
18.3 汇编源程序268
18.3.1 thumb状态269
18.3.2 arm状态269
18.4 c源程序270
18.5 预编译的目标文件271
18.6 优化271
第19章 使用gnu工具链开始cortex-m3开发
19.1 背景272
19.2 获取gnu工具链272
19.3 示例程序273
19.4 访问特殊功能寄存器286
19.5 使用未支持的指令286
19.6 gnu c编译器的内联汇编287
第20章 keil realview microcontroller development kit(rvmdk)使用入门
20.1 简介288
20.2 μvision使用入门289
20.3 使用uart输出“hello world”293
20.4 测试示例程序296
20.5 使用调试器297
20.6 指令模拟器300
20.7 修改向量表303
20.8 使用中断实现的秒表示例程序303
附录a cortex-m3指令小结312
附录b 16位thumb指令及架构版本323
附录c cortex-m3异常快速参考324
附录d nvic寄存器小结326
附录e cortex-m3疑难解答340
e.1 简介340
e.2 设计fault服务例程341
e.2.1 上报fault状态寄存器342
e.2.2 上报入栈的pc342
e.2.3 上报fault地址寄存器343
e.2.4 其他注意事项343
e.3 理解发生fault的原因344
e.4 在c中上报入栈的寄存器和各fault状态寄存器...346
Definitive guide to the ARM Cortex-M3
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!