图书介绍
ARM Cortex-M3权威指南pdf电子书版本下载
- (英)JOSEPHYIU著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787811245332
- 出版时间:2009
- 标注页数:348页
- 文件大小:98MB
- 文件页数:374页
- 主题词:微控制器-指南
PDF下载
下载说明
ARM Cortex-M3权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 介绍 1
1.1 ARM Cortex-M3处理器初探 1
1.1.1 从Cortex-M3处理器内核到基于Cortex-M3的MCU 2
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概览 11
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基础 25
3.1 寄存器组 25
3.1.1 通用目的寄存器R0~R7 25
3.1.2 通用目的寄存器R8~R12 25
3.1.3 堆栈指针R13 26
3.1.4 连接寄存器R14 28
3.1.5 程序计数器R15 28
3.2 特殊功能寄存器组 29
3.2.1 程序状态寄存器(PSRs或曰xPSR) 29
3.2.2 PRIMASK、FAULTMASK和BASEPRI 30
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章 指令集 42
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和MSR 72
4.4.2 IF-THEN 73
4.4.3 CBZ和CBNZ 74
4.4.4 SDIV和UDIV 75
4.4.5 REV,REVH,REV16以及REVSH 75
4.4.6 RBIT 76
4.4.7 SXTB,SXTH,UXTB,UXTH 76
4.4.8 BFC/BFI,UBFX/SBFX 77
4.4.9 LDRD/STRD 78
4.4.10 TBB,TBH 78
第5章 存储器系统 81
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的全景概貌 100
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章 异常 110
7.1 异常类型 110
7.2 优先级的定义 112
7.3 向量表 117
7.4 中断输入及挂起行为 119
7.5 Fault异常 120
7.5.1 总线fault 121
7.5.2 存储器管理fault 123
7.5.3 用法fault 124
7.5.4 硬fault 126
7.5.5 应对fault 127
7.6 SVC和PendSV 127
第8章 NVIC与中断控制 132
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章 中断的具体行为 145
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 异常响应期间的fault 153
第10章 Cortex-M3的低层编程 155
10.1 概览 155
10.1.1 使用汇编 155
10.1.2 使用C 156
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章 使用异常系统 172
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 使用SVC 182
11.6 SVC示范:用于输出函数 183
11.7 在C中使用SVC 186
第12章 编程进阶与系统行为 190
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的其他特性 201
13.1 SysTick定时器 201
13.2 电源管理 204
13.3 多处理器通信 208
13.4 自复位控制 211
第14章 存储保护单元MPU 214
14.1 MPU概览 214
14.2 MPU的寄存器组 215
14.3 启用MPU 221
14.4 MPU的典型设置 227
14.5 使用子region除能的示例 228
第15章 调试系统架构 233
15.1 调试特性概览 233
15.2 CoreSight技术概览 234
15.2.1 处理器的调试接口 234
15.2.2 DP模块、AP模块和DAP 235
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章 调试组件 246
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开发 257
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-M 265
18.1 简介 265
18.2 系统性质 266
18.2.1 存储器映射 266
18.2.2 中断/异常系统 266
18.2.3 MPU 267
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开发 272
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)使用入门 288
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 上报入栈的PC 342
E.2.3 上报fault地址寄存器 343
E.2.4 其他注意事项 343
E.3 理解发生fault的原因 344
E.4 在C中上报入栈的寄存器和各fault状态寄存器 346