- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本定义:嵌入式系统源于微型计算机,是嵌入到对象体系中,实现嵌入对象智能化的计算机。
2、基本分类:嵌入式微处理器;嵌入式微控制器;嵌入式DSP处理器;嵌入式片上系统(SOC)。
ARM7与ARM9的区别:ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺依曼结构。ARM9内核是1.1MIPS/MHz的五级流水线和哈佛结构。
附加:处理器状态:ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI处理器有两种操作状态:ARM状态:32位,这种状态下执行的是字方式的ARM指令;Thumb状态:16位,这种状态下执行半字方式的Thumb指令。
4、3级流水线:PC在三级流水线中总是指向第三条指令。当处理器处于ARM状态时,每条指令字长为4字节,则:PC值=当前程序执行位置+8字节;当处理器处于Thumb状态时,每条指令长为2字节,则:PC值=当前程序执行位置+4字节。
ARM处理器模式表:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式
在ARM处理器内部共有37个用户可访问的32位寄存器。31个通用32位寄存器、6个状态寄存器。
堆栈指针R13(SP):保存堆栈的出入口地址
链接寄存器R14(LR):保存子程序的返回地址。当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。
程序计数器R15(PC):总是指向正在“取指”的指令
CPSR:程序状态寄存器,监视和控制内部操作。在异常模式下,允许访问用于保存CPSR当前值的备份程序状态寄存器SPSR。
CPSR与SPSR的关系:1、当一个特定的异常中断发生时,将CPSR的当前值保存到相应异常模式下的SPSR,然后设置CPSR为相应的异常模式。2、从异常中断程序退出返回时,可通过保存在SPSR中的值来恢复CPSR。
CPSR标志位:N:运算结果的最高位;Z :指令结果为是否为0;C :加减法运算的进位与借位;V:符号溢出
CPSR控制位:最低8位为控制位。分别是:中断禁止位;T位;模式位。中断禁止位包括I和F位:当I位置位时,IRQ中断被禁止;当F位置位时,FIQ中断被禁止。T位反映了正在操作的状态:当T位置位时,处理器正在Thumb状态下运行;当T位清零时,处理器正在ARM状态下运行。模式位包括M4、M3、M2、M1和M0,这些位决定处理器的操作模式。
ATPCS是ARM程序和Thumb程序中子程序调用的基本规则。目的是为了使单独编译的C语言程序和汇编程序之间能够相互调用。
ARM开发工具:ADS IDE:包括四个模块:SIMULATOR;C 编译器;实时调试器;应用函数库。 EmbestIDE:集成了GNU开发工具的IDE开发环境,由GNU的汇编器as、交叉编译器gcc、和链接器ld等组成。
10、thumb状态下,所有数据处理指令都能访问 R0--R7,可以对(高端寄存器)R8~R12访问的指令只有MOV、ADD、CMP。
MOV指令将一个值从低端寄存器(R0~R7)转移到高端寄存器或者从高端寄存器转移到低端寄存器。ADD指令将高端寄存器的值与低端寄存器的值相加。CMP指令比较高端寄存器和低端寄存器的值。
13、ARM寻址方式:根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。
判断是哪一种寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址
寄存器寻址:
MOV R1,R2;将R2的值存入R1
SUB R0,R1,R2;将R1的值减去R2的值保存到R0
立即寻址:
文档评论(0)