嵌入式期末考试重点整理.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各种异常地址相对应的址ARM异常向量表P66Reset:0x0Und:0x4Swi:0x8Abt(指令预取):0xcAbt(dA):0x10Irq:0x18Fiq:0x1c高端地址:0xffff0000合法立即数是怎么组成的一、立即数指令码的组成ARM公司将32bit指令码分为如下两部分:指令编码部分(20bit)立即数部分(12bit)D31——D12D11——D0?D11——D8D7——D0?ROR值Imm8值32bit立即数通过Imm8值循环右移ROR值*2bit得到。即:shifter_operand = immed_8 Rotate_Right (rotate_imm * 2)。二、如何判断一个数是否是合法立即数?首先将这个数转换为32bit16进制形式,例如218=0xDA=0x000000DA除零外,仅有一位数为合法立即数。除零外,仅有二位数,并且相邻(包括首尾,如0x1000000A)的为合法立即数。除零外,仅有三位数,并且相邻(包括中间有0相间,例如0包括首尾相邻,如:0,这三位数中,最高位取值仅能为1、2、3,最低位取值仅能为4、8、C,中间位0x0~0xF。这种组合的为合法立即数。除了以上三种,其他基本是非法立即数。三、非法立即数如何输入?利用LDR伪指令可将任意32bit的立即数赋给寄存器。格式:LDR RD,=#Imm32编译时,编译器会优先使用MOV或者MVN指令来加载立即数,以便提高代码运行效率,如不行,则一般编译成如下形式:LDR RD,[PC,#offset]....PC+OFFSET:.word Imm321.如十六进制数在0x00到0xFF之间,则它一定是合法的1.若十六进制数0XFF则将十六进制的数转化成十进制2.如果这个十进制数能够被4整除则这个十六进制的立即数和合法的,否则是非法的3例如:0x101=257/4=64.25 非法 0x104=260/4=65 合法Arm指令特权模式(2-7),异常模式(2-7除掉5)ARM有七种工作方式:1、用户模式(usr):正常的程序执行状态2、快速中断模式(fiq):3、中断模式(irq):4、管理模式(svc):操作系统使用的保护模式5、系统模式(sys):运行具有特权的操作系统任务6、数据访问终止模式(abt):数据或指令预取终止时进入该模式7、未定义指令终止模式(und):未定义的指令执行时进入该模式可以通过软件来进行模式切换,或者发生各类中断、异常时CPU自动进入相应的模式。除用户模式外,其余6种工作模式都属于特权模式。特权模式中除了系统模式以外的其余5种模式称为异常模式。大多数程序运行于用户模式。进入特权模式是为了处理中断、异常、或者访问被保护的系统资源。未定义指令终止摸式:虚拟存储和存储保护系统模式:主要运行操作系统数据访问终止模式:用来支持用软件仿真硬件协处理器除用户模式外均是特权模式,特权模式之间模式可以任意切换,访问全局资源,但是由用户进入到特权模式需异常中断;这6种模式中,除了系统模式,其余的又是异常模式,当相应程序发生异常时就进入相应的模式,每种模式有自己的堆栈和寄存器。系统模式即不是通过异常进入的,但是也可以进行全局的数据访问;和用户是一样的寄存器;也是特权模式的一种;同时也可以切换模式,异常向量表:共8*4大小的空间,共七种异常向量源,除上面4种异常模式外,增加了复位项,同时增加了指令预取异常和软中断0x00复位0x04指令未定义0x0b软中断0x0c指令预取异常0x10数据异常0x14保留0x18IRQ0x1cFIQ各种异常返回的指令eg subs pc,lr_irq,#4ResetUndSwiPabtDabtIrqfiq掌握各种异常下相应的工作模式一、ARM体系的CPU有以下7种工作模式:1、用户模式(usr):正常的程序执行状态2、快速中断模式(fiq):3、中断模式(irq):4、管理模式(svc):操作系统使用的保护模式5、系统模式(sys):运行具有特权的操作系统任务6、数据访问终止模式(abt):数据或指令预取终止时进入该模式7、未定义指令终止模式(und):未定义的指令执行时进入该模式注解:可以通过软件来进行模式切换,或者发生各类中断、异常时CPU自动进入相应的模式;除用户模式外,其余6种工作模式都属于特权模式;特权模式中除了系统模式以外的其余5种模式称为异常模式;大多数程序运行于用户模式;进入特权模式是为了处理中断、异常、或者访问被保护的系统资源;二、ARM体系的CPU有两种工作状态1、ARM2、THumbCPU上电处于ARM状态三、寄存器ARM有31个通用的32位寄存器,6个程序状态寄存器,共分为7组,有些寄存器是所有工作模式共用的,还有

文档评论(0)

chqs52 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档