成功加入购物车
杜春雷 著 / 清华大学出版社 / 2003-02 / 平装
售价 ¥ 5.00 1.2折
定价 ¥42.00
品相 八品
优惠 满包邮
延迟发货说明
上书时间2024-04-15
卖家超过10天未登录
ARM体系结构与编程
《ARM体系结构与编程》分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括ARM体系介绍、ARM程序设计模型、ARM汇编语言程序设计、ARMC/C++语言程序设计、ARM连接器的使用、ARM集成开发环境CodeWarriorIDE的介绍及高性能的调试工具ADW的使用。并在此基础之上介绍一些典型的基于ARM体系的嵌入式应用系统设计时的基本技术。
第1章ARM概述及其基本编程模型1.1ARM技术的应用领域及其特点1.2ARM体系结构的版本及命名方法1.2.1ARM体系结构的版本1.2.2ARM体系的变种1.2.3ARM/Thumb体系版本的命名格式l.3ARM处理器系列1.3.1ARM7系列1.3.2ARM9系列1.3.3ARM9E系列1.3.4ARM1OE系列1.3.5SecurCore系列l.4ARM处理器模式1.5ARM寄存器介绍1.5.l通用寄存器1.5.3程序状态寄存器1.6ARM体系的异常中断1.6.1ARM中异常中断种类1.6.2ARM处理器对异常中断的响应过程1.6.3从异常中断处理程序中返回1.7ARM体系中存储系统1.7.1ARM体系中的存储空间1.7.2ARM存储器格式1.7.3非对齐的存储访问操作1.7.4指令预取和自修改代码第2章ARM指令分类及其寻址方式2.1ARM指令集概要介绍2.1.1ARM指令的分类2.1.2ARM指令的一般编码格式2.1.3ARM指令的条件码域2.2ARM指令寻址方式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.1ARM指令集3.1.l跳转指令3.l.2数据处理指令3.1.3乘法指令3.1.4杂类的算术指令3.1.5状态寄存器访问指令3.l.6Load/Store内存访问指令3.1.7批量Load/Store内存访问指令3.1.8信号量操作指令3.1.9异常中断产生指令3.1.10ARM协处理器指令3.2一些基本的ARM指令功能段3.2.l算术逻辑运算指令的应用3.2.2跳转指令的应用3.2.3Loacl/Store指令的应用3.2.4批量Load/Store指令的应用3.2.5信号量指令的应用3.2.6与系统相关的一些指令代码段3.3Thumb指令介绍第4章ARM汇编语言程序设计4.1伪操作4.1.l符号定义伪操作4.1.2数据定义伪操作4.1.3汇编控制伪操作4.1.4栈中数据帧描述伪操作4.1.5信息报告伪操作4.1.6其他的伪操作4.2ARM汇编语言伪指令4.3ARM汇编语言语句格式4.3.1ARM汇编语言中的符号4.3.2ARM汇编语言中的表达式4.4ARM汇编语言程序格式.4.4.l汇编语言程序格式4.4.2汇编语言子程序调用4.5ARM汇编编译器的使用4.6汇编程序设计举例4.6.1ARM中伪操作使用实例4.6.2ARM中汇编程序实例第5章ARM存储系统5.1ARM存储系统概述5.2ARM中用于存储管理的系统控制协处理器CP155.2.1访问CP15寄存器的指令5.2.2CP15中的寄存器5.3存储器管理单元MMU5.3.l存储器管理单元MMU概述5.3.2禁止/使能MMU5.3.3MMU中地址变换过程5.3.4MMU中存储访问权限控制5.3.5MMU中的域5.3.6关于快表的操作5.3.7ARM中的存储访问失效5.4高速缓冲存储器和写缓冲区5.4.1基本概念5.4.2cache的工作原理和地址映像方法5.4.3cache的分类5.4.4cache的替换算法5.4.5缓冲技术的使用注意事项5.4.6存储系统的一致性问题5.4.7cache内容锁定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.5IMB5.6.6存储器映射的I/O空间5.7AIOA存储系统的实例5.7.1L7205的存储系统概述5.7.2L7205中的SDRAM5.7.3L7205中的MMU第6章ATPCS介绍6.1ATPCS概述6.2基本ATPCS6.2.l寄存器的使用规则6.2.2数据栈使用规则6.2.3参数传递规则6.3几种特定的ATPCS6.3.l支持数据栈限制检查的ATPCS6.3.2支持只读段位置无关(ROPI)的ATPCS6.3.3支持可读写段位置无关(RWPI)的ATPCS6.3.4支持ARM程序和Thumb程序混合使用的ATPCS6.3.5处理浮点运算的ATPCS第7章ARM程序和Thumb程序混合使用7.1概述7.2在汇编语言程序中通过用户代码支持interwork7.2.l可以实现程序状态切换的指令7.2.2与程序状态切换相关的伪操作7.2.3进行状态切换的汇编程序实例7.3在C/C++程序中实现interwork7.4在汇编语言程序中通过连接器支持interwork7.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.1ARM中异常中断处理概述9.1.1ARM体系中异常中断种类9.1.2异常中断向量表及异常中断优先级9.1.3异常中断使用的寄存器9.2进入和退出异常中断的过程9.2.1ARM处理器对异常中断的响应过程9.2.2从异常中断处理程序中返回9.3在应用程序中安装异常中断处理程序9.3.1在系统复位时安装异常中断处理程序9.3.2在C程序中安装异常中断处理程序9.4SWI异常中断处理程序9.4.1SWI异常中断处理程序的实现9.4.2SWI异常中断调用9.5FIQ和IRQ异常中断处理程序9.5.1IRQ/FIQ异常中断处理程序9.5.2IRQ异常中断处理程序举例9.6复位异常中断处理程序9.7未定义指令异常中断9.8指令预取中止异常中断处理程序9.9数据访问中止异常中断处理程序第10章ARMC/0++编译器10.1ARMC/C++编译器概述10.1.1ARMC/C++编译器及语言库介绍10.l.2ARM编译器中与搜索路径相关的一些基本概念10.2ARM编译器命令行格式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.3ARM编译器中的pragmas10.4ARM编译器特定的关键词10.4.1用于声明函数的关键词10.4.2用于声明交量的关键词10.4.3用于限定数据类型的关键词10.5ARM编译器支持的基本数据类型10.6ARM编译器中预定义宏10.7ARM中C/C++库10.7.1ARM中C/C++运行时库概述10.7.2建立一个包含C/C++运行时库的C/C++应用程序10.7.3建立不包含C运行时库的应用程序10.7.4裁减C/C++运行时库以适应特定的目标运行环境第11章ARM连接器11.1ARM映像文件11.1.1ARM映像文件的组成11.1.2ARM映像文件的入口点11.1.3输入段的排序规则11.2ARM连接器介绍11.3ARM连接器生成的符号11.3.1连接器生成的与域相关的符号11.3.2连接器生成的与输出段相关的符号11.3.3连接器生成的与输入段相关的符号11.4连接器的优化功能11.5运行时库的使用11.5.1C/C++运行时库与目标文件11.5.2查找需要的C/C++运行时库11.5.3选择合适种类的C/C++运行时库11.5.4扫描C/C++运行时库11.6从一个映像文件中使用另一个映像文件中的符号11.6.1symdefs文件11.6.2建立symdefs文件11.6.3symdefs文件的使用11.7隐藏或者重命名全局符号11.7.lsteering文件的格式11.7.2steering文件中的命令11.8ARM连接器命令行选项11.9使用scatter文件定义映像文件的地址映射11.9.lscatter文件概述11.9.2satter文件中各部分介绍11.9.3scatter文件使用举例第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章使用CodeWarrior13.1CodeWarriorforADS概述13.2简单工程项目的使用13.2.1工程项目窗口13.2.2简单工程项目的使用13.3配置生成目标13.3.1DebugSettings对话框介绍13.3.2设置牛成目标的基本选项13.3.3汇编器选项设置13.3.4编译器的选项设置13.3.5连接器的选项设置13.3.6fromELF工具的选项设置13.4复杂工程项目的使用13.4.l建立一个新的生成目标13.4.2将一个生成目标更名13.4.3建立生成目标之间的依赖关系13.4.4子工程项目的使用13.5工程项目模板13.5.1ADS中工程项目模板的使用13.5.2建立用户工程项目模板13.6编译和连接工程项目13.6.1编译文件13.6.2生成工程项目第14章ARM体系中的调试方法14.1ARM体系中调试系统概述14.2基于Angel的调试系统14.2.l基于Angel的调试系统的概述14.2.2使用Angel开发应用程序14.2.3Angel执行的操作14.2.4将Angel移植到特定的目标系统14.3基于JTAG的调试系统14.3.l基于JTAG的调试系统的特点14.3.2基于JTAG的调试系统结构14.3.3目标系统中的调试功能扩展部件14.3.4基于JTAG的调试过程14.4ADW使用介绍14.4.1ADW概述14.4.2ADW中的窗口14.4.3ADW使用介绍
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30