- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM学习笔记
本课程的主要学习内容
1. 基础部分
ARM处理器的基础知识
ARM指令系统
伪操作和伪指令
基于汇编语言的程序设计
异常中断处理
基于
DMA过程的实现
利用定时部件实现定时
对
学习
了解各种不同存储器的工作原理。
学习的汇编语言。
嵌入式编译器 Develop Duit )
嵌入式调试器 AXD
硬件电路结构。
异常事件及中断。
相关控制接口。
2.1 ARM处理器模式
2.2 ARM寄存器介绍
2.3 ARM存储系统
2.4 ARM体系的异常中断
冯·诺依曼体系结构:
计算机完成任务是由事先编号的程序完成。
计算机程序被事先输入到储存器中,程序运行结果,也被存放在存储器中。
程序运行的所需要的信息和结果可以通过输入输出设备完成。
计算机由运算器、控制器、存储器、输入设备、输出设备所组成。
程序存储器与数据存储器分开。
提供较大的数据存储器带宽。
适合于数字信号处理。
大多数DSP都是哈佛结构。
ARM核就是中央处理器()的运算单元。一般有以下几个单元逻辑运算单元。
乘法器、移位器等。
指令译码。
各种寄存器。
调试单元。
通常 buffer)和高速缓存(cache),用来提高CPU与外界沟通效率。
SOC就是把系统的全部功能都放到CPU里。它是一个系统整合的理念,用来提供特定性能的芯片。通常具有以下特点:
运算式引擎:CPU或
内建存储器: memory 、RAM、
总线接口
其他特殊功能接口-----用于支持通过软件仿真硬件的协处理器
(7)系统模式(System, sys)-----用于特权级的操作系统任务
除了用户模式之外的其它6种模式称为特权模式 (Previleged mode).在这些模式下,程序可以访问所 有的系统资源.也可以任意地进行处理器模式的切 换.其中,除了系统模式以外,其它5种特权模式又称为异常模式.
2. 处理器模式的切换
(1)处理器模式可以通过软件控制进行切换.也可以通过异常中断的方式进行切换.
(2)大多数的应用程序运行在用户模式下.这时,应用程序不能够访问一些受操作系统保护的系统资源.
(3)应用程序不能直接进行处理器模式的切换.当需要进行处理器模式切换时,应用程序可以通过异常中,在异常中断的处理过程中实现处理器模式的切换.
(4)当应用程序发生异常中断时,处理器进入相应的处理器模式.每一种处理器模式都有一组寄存器,供相应的异常中断程序使用.这样可以保证在进入相应的处理器模式时,用户模式下的寄存器不被破坏.
(5)系统模式不是通过异常中断进入的,它和用户模式具有完全一样的寄存器.但系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换.它主要供操作系统使用.
2.2 ARM寄存器介绍
ARM处理器共有37个寄存器.其中包括:
31个通用寄存器,包括程序计数器(PC)在内.这些寄存器都是32位寄存器.
6个状态寄存器.这些寄存器都是32位寄存器.但目前只 使用了其中的14位.
通用寄存器可分为3类:
未备份寄存器,包括R0-R7
备份寄存器,包括R8-R14
程序计数器PC,即R15
程序状态寄存器CPSR
对于备份寄存器R13和R14来说,每个寄存器对应6个不同的物理寄存器.
寄存器R13在ARM中经常用作堆栈指针.现场保护。
寄存器R14又被称为连接寄存器(LR).主要有两个作用:保存子程序的返回地址 保存异常中断程序的返回地址。当通过BL或BLX指令调用子程序时,R14被设置成该子程序的返回地址。在子程序中,当把R14的值复制到PC时,就实现了子程序的返回。MOV PC LR或者BL LR.
程序计数器R15被称为PC.它的值为当前指令的地址值加8个字节.一条ARM指令固定占有4个字节的存储空间.所以PC总是指向当前指令的下两条指 令.并且ARM指令是字对齐的,所以PC的第0位和 第1位总是0.
程序状态寄存器CPSR
CPSR可以在任何处理器模式下被访问.每一种处理器模式下都有一个专用的物理寄存器,称为备份程序状态寄存器 (SPSR).当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容.在异常中断程序退出时,可以用SPSR的内容来恢复CPSR.由于用户模式和系统模式不是异常中断模式,所以它们没有SPSR.
CPSR是一个32位的寄存器
2.3 ARM存储系统
ARM存储系统中1个字单元包含4个字节单元.
ARM存储系统中引入了半字的概念,1个半字单元包含2个字节单元.
小端存储格式----高位地址保存高位数据
大端存储格式----高位地址保存低位数据
ARM存储系统的默认存储格式是小端存储格式
2.4 ARM体系的异常中断
保存被中断程序:
SPSR_mode ? CPSR
R14_mode ? return
文档评论(0)