ARM工程师认证复习题.docVIP

  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文档。上传文档
查看更多
复习题 基础题 (每题分) 描述C内嵌汇编中, __asm__ __volatile__ 这一句的 __volatile__ 的作用是? 不优化代码禁止编译器进行优化2. 如何在C语言的内嵌? 3. 请写出“满递减栈 存和取的指令, 每条指令都要求写出两种形式.STMIB(地址先增而后完成操作)、STMFA(满递增堆栈); STMIA(完成操作而后地址递增)、STMEA(空递增堆栈); STMDB(地址先减而后完成操作)、STMFD(满递减堆栈); STMDA(完成操作而后地址递减)、STMED(空递减堆栈)。} LDMED R13!,{R5-R6} 4. 在arm中, cpsrspsr,以及lr的作用?? CPSR:程序状态寄存器(current program status register) ,cpsr在用户级编程时用于存储条件码。CPSR包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。?SPSR:程序状态保存寄存器。SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。lr就是连接寄存器(Link Register, LR),在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发生时PC的值减4(或者减2),因此在各种异常模式下可以根据LR的值返回到异常发生前的相应位置继续执行。5. 链接器ld的--dynamic-linker选项有什么作用? -T选项是ld命令中比较重要的一个选项,可以用它直接指明代码的代码段、数据段、bss段,对于复杂的连接,可以专门写一个脚本来告诉编译器如何连接。--dynamic-linker在静态链接的时候指定动态链接器 并链接相应的共享库6. 在链接脚本中有一句: . = 0 text_start = .; 请一条指令将text_start的值装到r0中. Ldr r0,[text_start] 或 text_start=. 7. 请描述VMA 与LMA的区别.Vma是代码要运行的时候,此时对应的地址 Lma是把不同的符号,根据符号表中的信息,转换成对应的地址。 8. 在arm ATT汇编中, . 和 .关键字? .section 自定义一个段, .org 从rom的某个地址开始。 9. 用指令举例说明arm的地址对齐问题.Int v32; __packed typedef struct _test { ????? char a; ????? short c; ????? int d; } test; char????? buff[8] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xab, 0xbc, 0xcd}; test????? *p = (test *)buff; v32 =??? p-d; 10. 这5条指令: ldr r0, =label 是将label这个变量的地址放到r0中 有什么区别? ldr r0, label 把label地址中的值赋给r0 ldr r0, =0x56789 把0x56789这个地址写的到r0中 ldr r0,[r1] 将r1中的值赋给r0; adr r0,label label的地址赋给r0; 11. ARM 机器指令是 32 bits ,12. 请说明xception Vectors(异常向量表)的作用. 用来处理程序运行中硬件、软件或中断发生的问题。 硬件问题cpu遇到未定义指令,那么好,cpu硬件会自动跳到未定义指令这个地址,那个地址我们一般会设置一个跳转指令,跳转到我们异常处理的函数13. 请描述arm发生模式切换后, 返回到原来模式 14. SWI软件中断指令的作用? 是处理器模式改变为超级用户模式,CPSR寄存器保存到超级用户模式下的SPSR寄存器,并且跳转到SWI向量。 在RISC OS中使用SWI来访问操作历程或第三方生产的模块,使用模块来给其它应用提供底层外部访问。应用实例:打印机驱动器SWI,FreeNet/Acorn TCP/IP协议栈SWI。 15. cpsr中I和F位与中的中断控制器的有什么关系?16.列举中断的? 文本文档 17.在u-boot中,读取Nand Flash 内容的命令是什么? 18. mmu的是什么?物理地址的转换. 提供硬件机制的内存访问授权. 简述冯.诺依曼结构和哈佛结构的区别,并说明ARM的哈佛结构是如何实现的.哈佛结构和冯.诺依曼结构都是一种存储器结构。哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。. 对u-

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档