图书介绍
ARM体系结构与编程PDF|Epub|txt|kindle电子书版本网盘下载
- 杜春雷编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302062242
- 出版时间:2003
- 标注页数:496页
- 文件大小:43MB
- 文件页数:509页
- 主题词:
PDF下载
下载说明
ARM体系结构与编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 ARM概述及其基本编程模型1
1.1 ARM技术的应用领域及其特点1
1.2 ARM体系结构的版本及命名方法2
1.2.1 ARM体系结构的版本2
1.2.2 ARM体系的变种4
1.2.3 ARM/Thumb体系版本的命名格式6
1.3 ARM处理器系列7
1.3.1 ARM7系列7
1.3.2 ARM9系列8
1.3.3 ARM9E系列9
1.3.4 ARM10E系列9
1.3.5 SecurCore系列10
1.4 ARM处理器模式11
1.5 ARM寄存器介绍11
1.5.1 通用寄存器12
1.5.3 程序状态寄存器14
1.6.1 ARM中异常中断种类17
1.6 ARM体系的异常中断17
1.6.2 ARM处理器对异常中断的响应过程18
1.6.3 从异常中断处理程序中返回18
1.7 ARM体系中存储系统19
1.7.1 ARM体系中的存储空间19
1.7.2 ARM存储器格式19
1.7.3 非列齐的存储访问操作20
1.7.4 指令预取和自修改代码21
第2章 ARM指令分类及其寻址方式22
2.1 ARM指令集概要介绍22
2.1.1 ARM指令的分类22
2.1.2 ARM指令的一般编码格式22
2.1.3 ARM指令的条件码域23
2.2 ARM指令寻址方式23
2.2.1 数据处理指令的操作数的寻址方式24
2.2.2 字及无符号字节的Load/Store指令的寻址方式34
2.2.3 杂类Load/Store指令的寻址方式44
2.2.4 批量Load/Store指令的寻址方式49
2.2.5 协处理器Load/Store指令的寻址方式53
第3章 ARM指令集介绍58
3.1 ARM指令集58
3.1.1 跳转指令58
3.1.2 数据处理指令62
3.1.3 乘法指令74
3.1.4 杂类的算术指令79
3.1.5 状态寄存器访问指令80
3.1.6 Load/Store内存访问指令83
3.1.7 批量Load/Store内存访问指令92
3.1.8 信号量操作指令96
3.1.9 异常中断产生指令98
3.1.10 ARM协处理器指令100
3.2 一些基本的ARM指令功能段104
3.2.1 算术逻辑运算指令的应用104
3.2.2 跳转指令的应用106
3.2.3 Load/Store指令的应用107
3.2.4 批量Load/Store指令的应用108
3.2.5 信号量指令的应用109
3.2.6 与系统相关的一些指令代码段110
3.3 Thumb指令介绍113
第4章 ARM汇编语言程序设计115
4.1 伪操作115
4.1.1 符号定义伪操作115
4.1.2 数据定义伪操作119
4.1.3 汇编控制伪操作127
4.1.4 栈中数据帧描述伪操作131
4.1.5 信息报告伪操作131
4.1.6 其他的伪操作133
4.2 ARM汇编语言伪指令142
4.3 ARM汇编语言语句格式145
4.3.1 ARM汇编语言中的符号145
4.3.2 ARM汇编语言中的表达式148
4.4.1 汇编语言程序格式153
4.4 ARM汇编语言程序格式153
4.4.2 汇编语言子程序调用154
4.5 ARM汇编编译器的使用155
4.6 汇编程序设计举例157
4.6.1 ARM中伪操作使用实例157
4.6.2 ARM中汇编程序实例160
第5章 ARM存储系统165
5.1 ARM存储系统概述165
5.2 ARM中用于存储管理的系统控制协处理器CP15166
5.2.1 访问CP15寄存器的指令166
5.2.2 CP15中的寄存器168
5.3 存储器管理单元MMU176
5.3.1 存储器管理单元MMU概述176
5.3.2 禁止/使能MMU177
5.3.3 MMU中地址变换过程179
5.3.5 MMU中的域188
5.3.6 关于快表的操作188
5.3.4 MMU中存储访问权限控制188
5.3.7 ARM中的存储访问失效191
5.4 高速缓冲存储器和写缓冲区194
5.4.1 基本概念194
5.4.2 cache的工作原理和地址映像方法195
5.4.3 cache的分类197
5.4.4 cache的替换算法199
5.4.5 缓冲技术的使用注意事项199
5.4.6 存储系统的一致性问题200
5.4.7 cache内容锁定202
5.4.8 与cache和写缓冲区相关的编程接口203
5.5 快速上下文切换技术206
5.5.1 快速上下文切换技术原理207
5.5.2 快速上下文切换技术编程接口208
5.6 与存储系统相关的程序设计指南208
5.6.1 地址空间208
5.6.2 存储器格式209
5.6.3 非对齐的存储访问操作210
5.6.4 指令预取和自修改代码211
5.6.5 IMB212
5.6.6 存储器映射的I/O空间213
5.7 ARM存储系统的实例214
5.7.1 L7205的存储系统概述214
5.7.2 L7205中的SDRAM215
5.7.3 L7205中的MMU223
第6章 ATPCS介绍230
6.1 ATPCS概述230
6.2 基本ATPCS230
6.2.1 寄存器的使用规则231
6.2.2 数据栈使用规则232
6.2.3 参数传递规则233
6.3 几种特定的ATPCS234
6.3.1 支持数据栈限制检查的ATPCS234
6.3.4 支持ARM程序和Thumb程序混合使用的ATPCS236
6.3.3 支持可读写段位置无关(RWPI)的ATPCS236
6.3.2 支持只读段位置无关(ROPI)的ATPCS236
6.3.5 处理浮点运算的ATPCS237
第7章 ARM程序和Thumb程序混合使用238
7.1 概述238
7.2 在汇编语言程序中通过用户代码支持interwork239
7.2.1 可以实现程序状态切换的指令239
7.2.2 与程序状态切换相关的伪操作242
7.2.3 进行状态切换的汇编程序实例243
7.3 在C/C++程序中实现interwork244
7.4 在汇编语言程序中通过连接器支持interwork246
7.4.1 利用veneers实现汇编程序间的程序状态切换246
7.4.2 利用veneers实现汇编程序与C/C++程序间的程序状态切换248
第8章 C\C++以及汇编语言的混合编程250
8.1 内嵌汇编器的使用250
8.1.1 内嵌的汇编指令用法250
8.1.3 在C\C++程序中使用内嵌的汇编指令252
8.1.2 内嵌的汇编器和armasm的区别252
8.1.4 内嵌汇编指令的应用举例254
8.2 从汇编程序中访问C程序变量257
8.3 汇编程序、C程序以及C++程序的相互调用257
8.3.1 在C++程序中使用C程序头文件258
第9章 异常中断处理262
9.1 ARM中异常中断处理概述262
9.1.1 ARM体系中异常中断种类262
9.1.2 异常中断向量表及异常中断优先级263
9.1.3 异常中断使用的寄存器263
9.2 进入和退出异常中断的过程265
9.2.1 ARM处理器对异常中断的响应过程265
9.2.2 从异常中断处理程序中返回268
9.3 在应用程序中安装异常中断处理程序270
9.3.1 在系统复位时安装异常中断处理程序271
9.3.2 在C程序中安装异常中断处理程序272
9.4.1 SWI异常中断处理程序的实现273
9.4 SWI异常中断处理程序273
9.4.2 SWI异常中断调用277
9.5 FIQ和IRQ异常中断处理程序282
9.5.1 IRQ/FIQ异常中断处理程序283
9.5.2 IRQ异常中断处理程序举例285
9.6 复位异常中断处理程序286
9.7 未定义指令异常中断287
9.8 指令预取中止异常中断处理程序287
9.9 数据访问中止异常中断处理程序287
第10章 ARM C/C++编译器289
10.1 ARM C/C++编译器概述289
10.1.1 ARM C/C++编译器及语言库介绍289
10.1.2 ARM编译器中与搜索路径相关的一些基本概念290
10.2 ARM编译器命令行格式291
10.2.1 过程调用标准292
10.2.2 设置源程序语言类型293
10.2.4 设置预处理选项294
10.2.3 指定搜索路径294
10.2.5 设置输出文件类型295
10.2.6 指定目标处理器和ARM体系版本296
10.2.7 生成调试信息297
10.2.8 代码生成的控制298
10.2.9 控制警告信息的产生300
10.2.10 编译时进行的一些额外的检查302
10.2.11 控制错误信息303
10.3 ARM编译器中的pragmas303
10.4 ARM编译器特定的关键词305
10.4.1 用于声明函数的关键词305
10.4.2 用于声明变量的关键词317
10.4.3 用于限定数据类型的关键词317
10.5 ARM编译器支持的基本数据类型319
10.6 ARM编译器中预定义宏320
10.7 ARM中C/C++库322
10.7.1 ARM中C/C++运行时库概述323
10.7.2 建立一个包含C/C++运行时库的C/C++应用程序324
10.7.3 建立不包含C运行时库的应用程序327
10.7.4 裁减C/C++运行时库以适应特定的目标运行环境329
第11章 ARM连接器331
11.1 ARM映像文件331
11.1.1 ARM映像文件的组成331
11.1.2 ARM映像文件的入口点333
11.1.3 输入段的排序规则334
11.2 ARM连接器介绍335
11.3 ARM连接器生成的符号337
11.3.1 连接器生成的与域相关的符号337
11.3.2 连接器生成的与输出段相关的符号338
11.3.3 连接器生成的与输入段相关的符号338
11.4 连接器的优化功能338
11.5 运行时库的使用339
11.5.1 C/C++运行时库与目标文件340
11.5.2 查找需要的C/C++运行时库340
11.5.3 选择合适种类的C/C++运行时库341
11.5.4 扫描C/C++运行时库343
11.6 从一个映像文件中使用另一个映像文件中的符号343
11.6.1 symdefs文件343
11.6.2 建立symdefs文件344
11.6.3 symdefs文件的使用345
11.7 隐藏或者重命名全局符号345
11.7.1 steering文件的格式346
11.7.2 steering文件中的命令346
11.8 ARM连接器命令行选项346
11.9 使用scatter文件定义映像文件的地址映射354
11.9.1 scatter文件概述355
11.9.2 scatter文件中各部分介绍357
11.9.3 scatter文件使用举例359
第12章 嵌入式应用程序示例368
12.1 嵌入式应用程序设计的基本知识368
12.1.1 嵌入式应用系统中的存储映射368
12.1.2 系统初始化369
12.2 使用semihosting的C语言程序示例372
12.2.1 源程序分析372
12.2.2 生成映像文件375
12.3 一个嵌入式应用系统示例376
12.3.1 源程序分析376
12.3.2 生成映像文件383
12.3.3 本例中地址映射模式384
12.4 进行ROM/RAM地址重映射的嵌入式应用系统385
12.4.1 地址映射模式385
12.4.2 源程序分析386
12.4.3 生成映像文件387
12.5 一个嵌入式操作系统示例388
第13章 使用Codewarrior395
13.1 CodeWarrior for ADS概述395
13.2 简单工程项目的使用396
13.2.1 工程项目窗口396
13.2.2 简单工程项目的使用399
13.3 配置生成目标407
13.3.1 Debug Settings对话框介绍407
13.3.2 设置生成目标的基本选项408
13.3.3 汇编器选项设置413
13.3.4 编译器的选项设置418
13.3.5 连接器的选项设置426
13.3.6 fromELF工具的选项设置432
13.4 复杂工程项目的使用434
13.4.1 建立一个新的生成目标434
13.4.2 将一个生成目标更名436
13.4.3 建立生成目标之间的依赖关系436
13.4.4 子工程项目的使用438
13.5 工程项目模板439
13.5.1 ADS中工程项目模板的使用440
13.5.2 建立用户工程项目模板444
13.6.1 编译文件445
13.6 编译和连接工程项目445
13.6.2 生成工程项目447
第14章 ARM体系中的调试方法449
14.1 ARM体系中调试系统概述449
14.2 基于Angel的调试系统450
14.2.1 基于Angel的调试系统的概述450
14.2.2 使用Angel开发应用程序453
14.2.3 Angel执行的操作458
14.2.4 将Angel移植到特定的目标系统460
14.3 基于JTAG的调试系统478
14.3.1 基于JTAG的调试系统的特点478
14.3.2 基于JTAG的调试系统结构479
14.3.3 目标系统中的调试功能扩展部件480
14.3.4 基于JTAG的调试过程481
14.4 ADW使用介绍481
14.4.1 ADW概述481
14.4.2 ADW中的窗口484
14.4.3 ADW使用介绍488