欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 科技 > 计算机与网络 > ARM体系结构与编程

浏览历史

ARM体系结构与编程

ARM体系结构与编程

prev next

  • 商品货号:01382005-8-27-1049
  • 商品重量:0克
    作者:杜春蕾
    图书书号/ISBN:7-302-06224-2
    出版日期:2003-02-01
    印张:32
    字数:760千字
    开本:16
  • 上架时间:2005-08-27
    商品点击数:771
  • 定价:¥42.00元
    本店售价:¥32.00元
    注册用户:¥32.00元
    vip:¥30.40元
    黄金等级:¥28.80元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商生产,它目前已经成为应用最为广泛的嵌入式处理器。 本书分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARM C/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarrior IDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。通过阅读本书可以使读者掌握开发基于ARM的应用系统的各方面的知识。 本书既可作为学习ARM技术的培训材料,也可作为嵌入式系统开发人员的参考手册。
目 录 第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 ARM体系的异常中断 17
1.6.1 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 ARM汇编语言程序格式 153
4.4.1 汇编语言程序格式 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中用于存储管理的系统 控制协处理器CP15 166
5.2.1 访问CP15寄存器的指令 166
5.2.2 CP15中的寄存器 168
5.3 存储器管理单元MMU 176
5.3.1 存储器管理单元MMU 概述 176
5.3.2 禁止/使能MMU 177
5.3.3 MMU中地址变换过程 179
5.3.4 MMU中存储访问权限 控制 188
5.3.5 MMU中的域 188
5.3.6 关于快表的操作 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 IMB 212
5.6.6 存储器映射的I/O空间 213
5.7 ARM存储系统的实例 214
5.7.1 L7205的存储系统概述 214
5.7.2 L7205中的SDRAM 215
5.7.3 L7205中的MMU 223
第6章 ATPCS介绍 230
6.1 ATPCS概述 230
6.2 基本ATPCS 230
6.2.1 寄存器的使用规则 231
6.2.2 数据栈使用规则 232
6.2.3 参数传递规则 233
6.3 几种特定的ATPCS 234
6.3.1 支持数据栈限制检查 的ATPCS 234
6.3.2 支持只读段位置无关 (ROPI)的ATPCS 236
6.3.3 支持可读写段位置无关 (RWPI)的ATPCS 236
6.3.4 支持ARM程序和Thumb 程序混合使用的ATPCS 236
6.3.5 处理浮点运算的ATPCS 237
第7章 ARM程序和Thumb程序 混合使用 238
7.1 概述 238
7.2 在汇编语言程序中通过用户 代码支持interwork 239
7.2.1 可以实现程序状态 切换的指令 239
7.2.2 与程序状态切换相关 的伪操作 242
7.2.3 进行状态切换的汇 编程序实例 243
7.3 在C/C++程序中实现interwork 244
7.4 在汇编语言程序中通过连接器 支持interwork 246
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.2 内嵌的汇编器和armasm 的区别 252
8.1.3 在C\C++程序中使用 内嵌的汇编指令 252
8.1.4 内嵌汇编指令的应用 举例 254
8.2 从汇编程序中访问C程序变量 257
8.3 汇编程序、C程序以及C++ 程序的相互调用 257
8.3.1 在C++程序中使用C 程序头文件 258
8.3.2 汇编程序、C程序以及 C++程序的相互调用举例 259
第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 SWI异常中断处理程序 273
9.4.1 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.3 指定搜索路径 294
10.2.4 设置预处理选项 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编译器中的pragmas 303
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章 使用CodeWarrior 395
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 编译和连接工程项目 445
13.6.1 编译文件 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

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha