| | |

arm体系结构与编程 -金沙js1005线路

文章来源:米尔科技 发布日期:2013.6.25 浏览次数:7599 次

内容简介


  《arm体系结构与编程》分14章对arm处理器的体系结构、指令系统和开发工具作了比较全面的介绍。其中包括arm体系介绍、arm程序设计模型、arm汇编语言程序设计、arm c/c 语言程序设计、arm连接器的使用、arm集成开发环境codewarrior ide的介绍及高性能的调试工具adw的使用。并在此基础之上介绍一些典型的基于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使用介绍




本文来自金沙js1005线路-js555888金沙老品牌科技,原文地址: http://www.myir-tech.com/resource/471.asp,转载请注明出处。

比较和选型

手册教程

应用笔记

好书推荐

js555888金沙老品牌的技术支持服务指南

常见问题解答

网站地图