第一图书网

ARM体系结构与编程

杜春雷 清华大学出版社
出版时间:

2003-2-1  

出版社:

清华大学出版社  

作者:

杜春雷  

页数:

496  

Tag标签:

无  

内容概要

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 ARM技术的应用领域及其特点 1. 2 ARM体系结构的版本及命名方法 1. 2. 1 ARM体系结构的版本 1. 2. 2 ARM体系的变种 1. 2. 3 ARM/Thumb体系版本的命名格式 l. 3 ARM处理器系列 1. 3. 1 ARM7系列 1. 3. 2 ARM9系列 1. 3. 3 ARM9E系列 1. 3. 4 ARM1OE系列 1. 3. 5 SecurCore系列 l. 4 ARM处理器模式 1. 5 ARM寄存器介绍 1. 5. l 通用寄存器 1. 5. 3 程序状态寄存器 1. 6 ARM体系的异常中断 1. 6. 1 ARM中异常中断种类 1. 6. 2 ARM处理器对异常中断的响应过程 1. 6. 3 从异常中断处理程序中返回 1. 7 ARM体系中存储系统 1. 7. 1 ARM体系中的存储空间 1. 7. 2 ARM存储器格式 1. 7. 3 非对齐的存储访问操作 1. 7. 4 指令预取和自修改代码 第2章 ARM指令分类及其寻址方式 2. 1 ARM指令集概要介绍 2. 1. 1 ARM指令的分类 2. 1. 2 ARM指令的一般编码格式 2. 1. 3 ARM指令的条件码域 2. 2 ARM指令寻址方式 2. 2. l 数据处理指令的操作数的寻址方式 2. 2. 2 字及无符号字节的Load/Store指令的寻址方式 2. 2. 3 杂类Load/Store指令的寻址方式 2. 2. 4 批量Load/Store指令的寻址方式 2. 2. 5 协处理器Load/Store指令的寻址方式 第3章 ARM指令集介绍 3. 1 ARM指令集 3. 1. l 跳转指令 3. l. 2 数据处理指令 3. 1. 3 乘法指令 3. 1. 4 杂类的算术指令 3. 1. 5 状态寄存器访问指令 3. l. 6 Load/Store内存访问指令 3. 1. 7 批量Load/Store内存访问指令 3. 1. 8 信号量操作指令 3. 1. 9 异常中断产生指令 3. 1. 10 ARM协处理器指令 3. 2 一些基本的ARM指令功能段 3. 2. l 算术逻辑运算指令的应用 3. 2. 2 跳转指令的应用 3. 2. 3 Loacl/Store指令的应用 3. 2. 4 批量Load/Store指令的应用 3. 2. 5 信号量指令的应用 3. 2. 6 与系统相关的一些指令代码段 3. 3 Thumb指令介绍 第4章 ARM汇编语言程序设计 4. 1 伪操作 4. 1. l 符号定义伪操作 4. 1. 2 数据定义伪操作 4. 1. 3 汇编控制伪操作 4. 1. 4 栈中数据帧描述伪操作 4. 1. 5 信息报告伪操作 4. 1. 6 其他的伪操作 4. 2 ARM汇编语言伪指令 4. 3 ARM汇编语言语句格式 4. 3. 1 ARM汇编语言中的符号 4. 3. 2 ARM汇编语言中的表达式 4. 4 ARM汇编语言程序格式. 4. 4. l 汇编语言程序格式 4. 4. 2 汇编语言子程序调用 4. 5 ARM汇编编译器的使用 4. 6 汇编程序设计举例 4. 6. 1 ARM中伪操作使用实例 4. 6. 2 ARM中汇编程序实例 第5章 ARM存储系统 5. 1 ARM存储系统概述 5. 2 ARM中用于存储管理的系统控制协处理器CP15 5. 2. 1 访问CP15寄存器的指令 5. 2. 2 CP15中的寄存器 5. 3 存储器管理单元MMU 5. 3. l 存储器管理单元MMU概述 5. 3. 2 禁止/使能MMU 5. 3. 3 MMU中地址变换过程 5. 3. 4 MMU中存储访问权限控制 5. 3. 5 MMU中的域 5. 3. 6 关于快表的操作 5. 3. 7 ARM中的存储访问失效 5. 4 高速缓冲存储器和写缓冲区 5. 4. 1 基本概念 5. 4. 2 cache的工作原理和地址映像方法 5. 4. 3 cache的分类 5. 4. 4 cache的替换算法 5. 4. 5 缓冲技术的使用注意事项 5. 4. 6 存储系统的一致性问题 5. 4. 7 cache内容锁定 5. 4. 8 与cache和写缓冲区相关的编程接口 5. 5 快速上下文切换技术 5. 5. l 快速上下文切换技术原理 5. 5. 2 快速上下文切换技术编程接口 5. 6 与存储系统相关的程序设计指南 5. 6. l 地址空间 5. 6. 2 存储器格式 5. 6. 3 非对齐的存储访问操作 5. 6. 4 指令预取和自修改代码 5. 6. 5 IMB 5. 6. 6 存储器映射的I/O空间 5. 7 AIOA存储系统的实例 5. 7. 1 L7205的存储系统概述 5. 7. 2 L7205中的SDRAM 5. 7. 3 L7205中的 MMU 第6章 ATPCS介绍 6. 1 ATPCS概述 6. 2 基本ATPCS 6. 2. l 寄存器的使用规则 6. 2. 2 数据栈使用规则 6. 2. 3 参数传递规则 6. 3 几种特定的ATPCS 6. 3. l 支持数据栈限制检查的ATPCS 6. 3. 2 支持只读段位置无关(ROPI)的ATPCS 6. 3. 3 支持可读写段位置无关(RWPI)的ATPCS 6. 3. 4 支持ARM程序和Thumb程序混合使用的ATPCS 6. 3. 5 处理浮点运算的ATPCS 第7章 ARM程序和Thumb程序混合使用 7. 1 概述 7. 2 在汇编语言程序中通过用户代码支持interwork 7. 2. l 可以实现程序状态切换的指令 7. 2. 2 与程序状态切换相关的伪操作 7. 2. 3 进行状态切换的汇编程序实例 7. 3 在C/C++程序中实现interwork 7. 4 在汇编语言程序中通过连接器支持interwork 7. 4. l 利用veneers实现汇编程序间的程序状态切换 7. 4. 2 利用veneers实现汇编程序与C/C++程序间的程序状态切换 第8章 C\C++以及汇编语言的混合编程 8. l 内嵌汇编器的使用 8. 1. l 内嵌的汇编指令用法 8. 1. 2 内嵌的汇编器和armasm的区别 8. l. 3 在C\C++程序中使用内嵌的汇编指令 8. 1. 4 内嵌汇编指令的应用举例 8. 2 从汇编程序中访问C程序变量 8. 3 汇编程序.C程序以及C++程序的相互调用 8. 3. l 在C++程序中使用C程序头文件 8. 3. 2 汇编程序.C程序以及C++程序的相互调用举例 第9章 异常中断处理 9. 1 ARM中异常中断处理概述 9. 1. 1 ARM体系中异常中断种类 9. 1. 2 异常中断向量表及异常中断优先级 9. 1. 3 异常中断使用的寄存器 9. 2 进入和退出异常中断的过程 9. 2. 1 ARM处理器对异常中断的响应过程 9. 2. 2 从异常中断处理程序中返回 9. 3 在应用程序中安装异常中断处理程序 9. 3. 1 在系统复位时安装异常中断处理程序 9. 3. 2 在C程序中安装异常中断处理程序 9. 4 SWI异常中断处理程序 9. 4. 1 SWI异常中断处理程序的实现 9. 4. 2 SWI异常中断调用 9. 5 FIQ和IRQ异常中断处理程序 9. 5. 1 IRQ/FIQ异常中断处理程序 9. 5. 2 IRQ异常中断处理程序举例 9. 6 复位异常中断处理程序 9. 7 未定义指令异常中断 9. 8 指令预取中止异常中断处理程序 9. 9 数据访问中止异常中断处理程序 第10章 ARM C/0++编译器 10. 1 ARM C/C++编译器概述 10. 1. 1 ARM C/C++编译器及语言库介绍 10. l. 2 ARM编译器中与搜索路径相关的一些基本概念 10. 2 ARM编译器命令行格式 10. 2. l 过程调用标准 10. 2. 2 设置源程序语言类型 10. 2. 3 指定搜索路径 10. 2. 4 设置预处理选项 10. 2. 5 设置输出文件类型 10. 2. 6 指定目标处理器和ARM体系版本 10. 2. 7 生成调试信息 10. 2. 8 代码生成的控制 10. 2. 9 控制警告信息的产生 10. 2. 10 编译时进行的一些额外的检查 10. 2. 11 控制错误信息 10. 3 ARM编译器中的pragmas 10. 4 ARM编译器特定的关键词 10. 4. 1 用于声明函数的关键词 10. 4. 2 用于声明交量的关键词 10. 4. 3 用于限定数据类型的关键词 10. 5 ARM编译器支持的基本数据类型 10. 6 ARM编译器中预定义宏 10. 7 ARM中C/C++库 10. 7. 1 ARM中C/C++运行时库概述 10. 7. 2 建立一个包含C/C++运行时库的C/C++应用程序 10. 7. 3 建立不包含C运行时库的应用程序 10. 7. 4 裁减C/C++运行时库以适应特定的目标运行环境 第11章 ARM连接器 11. 1 ARM映像文件 11. 1. 1 ARM映像文件的组成 11. 1. 2 ARM映像文件的入口点 11. 1. 3 输入段的排序规则 11. 2 ARM连接器介绍 11. 3 ARM连接器生成的符号 11. 3. 1 连接器生成的与域相关的符号 11. 3. 2 连接器生成的与输出段相关的符号 11. 3. 3 连接器生成的与输入段相关的符号 11. 4 连接器的优化功能 11. 5 运行时库的使用 11. 5. 1 C/C++运行时库与目标文件 11. 5. 2 查找需要的C/C++运行时库 11. 5. 3 选择合适种类的C/C++运行时库 11. 5. 4 扫描C/C++运行时库 11. 6 从一个映像文件中使用另一个映像文件中的符号 11. 6. 1 symdefs文件 11. 6. 2 建立symdefs文件 11. 6. 3 symdefs文件的使用 11. 7 隐藏或者重命名全局符号 11. 7. l steering文件的格式 11. 7. 2 steering文件中的命令 11. 8 ARM连接器命令行选项 11. 9 使用scatter文件定义映像文件的地址映射 11. 9. l scatter文件概述 11. 9. 2 satter文件中各部分介绍 11. 9. 3 scatter文件使用举例 第12章 嵌入式应用程序示例 12. l 嵌入式应用程序设计的基本知识 12. 1. 1 嵌入式应用系统中的存储映射 12. 1. 2 系统初始化 12. 2 使用semihosting的 C语言程序示例 12. 2. 1 源程序分析 12. 2. 2 生成映像文件 12. 3 一个嵌入式应用系统示例 12. 3. l 源程序分析 12. 3. 2 生成映像文件 12. 3. 3 本例中地址映射模式 12. 4 进行ROM/RAM地址重映射的嵌入式应用系统 12. 4. l 地址映射模式 12. 4. 2 源程序分析 12. 4. 3 生成映像文件 12. 5 一个嵌入式操作系统示例 第13章 使用CodeWarrior 13. 1 CodeWarrior for ADS概述 13. 2 简单工程项目的使用 13. 2. 1 工程项目窗口 13. 2. 2 简单工程项目的使用 13. 3 配置生成目标 13. 3. 1 Debug Settings对话框介绍 13. 3. 2 设置牛成目标的基本选项 13. 3. 3 汇编器选项设置 13. 3. 4 编译器的选项设置 13. 3. 5 连接器的选项设置 13. 3. 6 fromELF工具的选项设置 13. 4 复杂工程项目的使用 13. 4. l 建立一个新的生成目标 13. 4. 2 将一个生成目标更名 13. 4. 3 建立生成目标之间的依赖关系 13. 4. 4 子工程项目的使用 13. 5 工程项目模板 13. 5. 1 ADS中工程项目模板的使用 13. 5. 2 建立用户工程项目模板 13. 6 编译和连接工程项目 13. 6. 1 编译文件 13. 6. 2 生成工程项目 第14章 ARM体系中的调试方法 14. 1 ARM体系中调试系统概述 14. 2 基于Angel的调试系统 14. 2. l 基于Angel的调试系统的概述 14. 2. 2 使用Angel开发应用程序 14. 2. 3 Angel执行的操作 14. 2. 4 将Angel移植到特定的目标系统 14. 3 基于JTAG的调试系统 14. 3. l 基于JTAG的调试系统的特点 14. 3. 2 基于JTAG的调试系统结构 14. 3. 3 目标系统中的调试功能扩展部件 14. 3. 4 基于JTAG的调试过程 14. 4 ADW使用介绍 14. 4. 1 ADW概述 14. 4. 2 ADW中的窗口 14. 4. 3 ADW使用介绍


图书封面

图书标签Tags

广告

下载页面


ARM体系结构与编程 PDF格式下载



ARM入门切莫用周立功的书,否则你还没入门,就想放弃了。ARM入门非此书莫属。学完此书后,对ARM的体系结构会有较好理解;再根据你自己选用的处理器,学习该处理器的硬件结构,就可以开始做简单的开发了!


arm是现在最盛行的微处理器,这本书介绍了关于处理器本身的方方面面,熟悉掌握arm的编程接口有此书,足矣。


很详细地介绍了ARM体系结构、寄存器、汇编指令、MMU以及编译和调试手段,从入门到进阶,是做ARM BSP的程序员必备参考书。但只能作为早期ARM的参考,最新的Cortex价格没有涉及,需要再阅读其他书籍。总之本书是想了解ARM的朋友最好的选择。


本书详细介绍了ARM体系结构,以及编程方法,ADS工具的使用,对于初学者来说很好很强大哦~


为什么要在好书二字上打引号呢?因为对不同的人来说这本书有不同的作用和学习效果。这本书错误很多,可能是因为在编写的时候,复制粘贴类似段落后,没有修正一些关键字。由于这些对于不同知识背景的人看这本书,会产生不同的效果。如果你有扎实的汇编和C/C++基础,你会轻易发现这些错误,并能改正,这反而会加深你对ARM体系和编程的记忆和理解;反之,一个没有相关基础的人,看这本会将会受到误导,以至于产生不可估量的损失。
就我个人来讲,我为本书打5分。对于后来者,你在购买此书前,希望我的评论能对你有所帮助。


介绍ARM的体系结构和编程的,可以当工作手册查阅。


最近对ARM体系有了兴趣,感觉这本书比较系统,能够让我快速了解自己感兴趣的方面。


在所有讲述ARM体系结构的书中,这本书讲得最好,尽管大部分内容与ARMArchitectureReferenceManual相似,但是它提炼了精华,讲出了重点,给编程人员有很好的帮助。


关于arm体系结构与编程的很经典的一本书


学习ARM体系结构的不错的参考书!推荐!


主要是为了学校学习ARM汇编指令买的,发现只有其中一章有用,其他几章,感觉比较深,不适合初学者读!


主要讲解ARM的体系结构内容详细适合


升入了解arm结构和编程很好的指导手册


想学arm汇编指令,很不错


不错的一本书 , 了解arm的基本结构。


是学习ARM结构的一本必备的参考书。


学习arm汇编很不错的选择。


这本书的特别全,学好了基本上ARM知识掌握了!


这本书在有关ARM的领域在国内算是比较经典的。


对于了解ARM硬件结构很有帮助!


arm编程必备良书


虽然有很多错字,对照着参考ARM官网的英文资料还是不错的,便于理解一些关键点。


正品,送货速度快,这本书是ARM教材里面很不错的,值得学习和分享


初学ARM必看的一本书


很全面的ARM


看评论说是不错,一直想学ARM,所以就买了本,正好跟周立功的那本ARM基础教程搭配着看


学习ARM的经典


学习arm必备的好书!


书写的很好,就是书出版早了点,期待作者根据ARM的发展出新的版本。


很喜欢这本ARM的书籍,讲得很详细,是很好的工具书。


arm经典书


感覺要搞ARM開發的,一定得有一本兒吧。


加深了加嵌入式处理器的了解,不错的书


我是才开始学习嵌入式的学生,我个人觉得这本书还算详细全面,挺适合初学者,至少对相关知识有个大概的了解才能更好的开展进阶的学习嘛


这是我们高校嵌入式课程老师推荐的书
不过我怎么觉得有点老 我们老师第一节课就重磅推荐杜春雷的此书


经典,受益非浅,搞嵌入式必备。


嵌入式入门的经典之作


对于进行底层开发或者操作系统移植方面的开发者是本好书。


汇编指令介绍得很详细,从简入深,适合不同层次的人。


书不错,感觉应用的实例不多。关于指令的应用方面。


刚看完第一章,感觉介绍的简洁明了易懂,不错,就是会有编辑错误。当当速度也可以,2天就到了。


内容比较严谨 不一定要一口气看完 可以作为手册在用到的时候参考


书写的很好 我才看了 三章 一些命令的用法都列得比较清晰


他做硬件的说这本书比较基础 浅显易懂
我也没看 帮着买的


做这块的都应该看过这本书吧 我也是听别人介绍的


这本书讲的很深。不适合入门使用。


正在阅读,很详细,也适合作为工具书使用。


好。对汇编感觉应该不会用到。


书不错,不过汇编要学的很扎实。


说实在话,书确实不错,而且我突然间发现其实汇编挺简单的。


书很适合初学者使用,内容很详细,讲的也很明白。


这本书很不错,讲的很全面。


拿着当手册不错!


不错的教材,非常喜欢,就是比较难懂


书不错,定价便宜一些就好了


书不错,想要真正掌握还的参与实践!呵呵!


建议初学者都看看这本书


很好的一本书,每一句话都值得推敲。


这本书我先是看的PDF电子档的,觉得很不错就买一本实体,可随时翻看查阅!!


评论有点儿迟了,不好意思。很不错的一本书,值得一读


内容全面,好书


正在学习中,有我需要的东西


正版书,内容很实用


买了很久,可是到现在还没看!不过纸张确实不错。


恩,当当网的书真的不错!顶顶


速度很快,感觉不错,就是库存不足,要在下一次单


快递很快。。质量很好


现在就再也没有这类书了,10年前的书还再印刷


还没有具体的看!


错误太多了,不建议新手买。看着看着就晕了!没见过错误这么多的书!


物流速度挺快,书还没怎么看。


书很好,无破损。比在学校买便宜了不少


老师指定的参考书。本人作为初学者觉得此书较易理解。


书好行吧


还没看,纸质都不错就是~~


学am的必备之书吧


老师要求的课本~~刚买就降价.....


国产的战斗机。不错书


书确实不错,只不过纸张不敢恭维。


还没有开始读,看了一下目录,内容十分详细


书是别人推荐买的,内容很好,书的质量也很好,有我喜欢的书香


硬件书中的不错一本


书中错误多


还行,纸张质量一般


详细,完整


嗯嗯,我想差不到哪去


不错,支持一个


查询所用,辅助


最经典的ARM,如果要进行Uboot等移植,此书必看,


做为入门,我感觉比较糟糕,不是太容易懂。而且书中的错误相当的多。也是听说很经典才买的,结果很失望,不过据说当参考手册比较适合。可能不同阶段的ARM学习者有不同的评价。


结构不错,很多ARM的书都不涉及的东西,这里有。错误很多,有很多地方看了半天,没懂,最后发现是错的


拆开包裹一看,纸张完全泛黄,第一页上正中间潇潇洒洒的写着卢家奇三个大字。-_-|||能二得再明显点不能啊


内容安排的还是合理的,错误太多了,好多内容就是粘贴复制,这样的书怎么能够出版呢


很好,不过你面的内容有些小错误,不知道是印刷问题还是什么问题


听说是经典,买来看太枯燥了


我拿到书后发现前十几页的下面都有一个断痕,店家这样做也太不厚道了


看了一章,很多小的打印错误,初学者看起来会很迷惑。


此书很好的讲述了ARM结构体系,,,


学不懂的一本书啊!钻不进去


当手册查查还可以,当教材有点难懂啊


相关图书