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格式下载


用户评论 (总计112条)

 
 

  •   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结构体系,,,
  •   学不懂的一本书啊!钻不进去
  •   当手册查查还可以,当教材有点难懂啊
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7