ARM工程师认考试试题.docVIP

  • 3
  • 0
  • 约7.84千字
  • 约 5页
  • 2016-10-19 发布于贵州
  • 举报
ARM工程师认考试试题

ARM工程师 全球统一认证考试 (中国区) 个人信息 姓名: 工作单位: 有效证件类型: 身份证 军官证 其它 证件编号: 试题 请在60分钟内,尽可能完成以下内容 基础题 (每题分) 1. 描述C内嵌汇编中, __asm__ __volatile__ 这一句的 __volatile__ 的作用是? __volatile__表示编译器不要优化代码,后面的指令 保留原样,volatile是它的别名。 Volatile变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile变量的最新值。Volatile变量可用于提供线程安全,但是只能应用于非常有限的一组用例:多个变量之间或者某个变量的当前值与修改后值之间没有约束 2. 如何在C语言的内嵌? 3. 请写出“满递减栈 存和取的指令, 每条指令都要求写出两种形式. (1)STMDA R0!,{R5-R6}将R5、R6存入相应的R0指向的地址对应的内存 . . . LDMIB R0!,{R5-R6}将R0指向的地址对应的内存的内容存入R5和R6 (2)STMED R13!,{R5-R6} . . . LDMED R13!,{R5-R6}这一段代码的两个都是ED 4. 在arm中, cpsrspsr,以及lr的作用? 5. 链接器ld的--dynamic-linker选项有什么作用? 6. 在链接脚本中有一句: . = 0 text_start = .; 请一条指令将text_start的值装到r0中. 7. 请描述VMA 与LMA的区别. 8. 在arm ATT汇编中, . 和 .关键字? 9. 用指令举例说明arm的地址对齐问题. 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 机器指令 (2)跳转指令、数据处理指令、乘法指令与乘加指令、程序状态寄存器访问指令、加载/存储指令、批量数据加载/存储指令、数据交换指令、移位指令、协处理器指令、异常产生指令。 12. 请说明xception Vectors(异常向量表)的作用. (1)Vectors(异常向量表)的作用:申请中断、相应中断、处理中断、返回中断。 (2) 13. 请描述arm发生模式切换后, 返回到原来模式 14. SWI软件中断指令的作用? (1)SWI指令---软件中断实例详解:该指令产生一个SWI异常。意思就是处理器模式改变为超级用户模式,CPSR寄存器保存到超级用户模式下的SPSR寄存器,并且跳转到SWI向量。 (2) 15. cpsr中I和F位与中的中断控制器的有什么关系? 16.列举中断的? 外部中断边沿触发:分为上升沿触发和下降沿触发;高电平触发;低电平触发。 17.在u-boot中,读取Nand Flash 内容的命令是什么? 首先擦除需要写的区域例如 :nand rease 0x0 0x300000 擦除偏移0 长度3M的区域; 把数据load到内存(sdram)里面,tftp 0zImage.img load到 0地方. 把数据写入nandflash nand write 00x100000 0x140000; (在此注意 0x140000为写入的长度,你的文件可能不是这么大,我的 zImage.img 是0x13900c;) 18. mmu的是什么? MMU在当中进行地址转换所起的作用 . 简述冯.诺依曼结构和哈佛结构的区别,并说明ARM的哈佛结构是如何实现的. 20. 对u-boot而言,bootm所起的作用和它的实现原理? bootm的作用是可以加载用uboot工具制作的kernel 和ramdisk? 二、综合题 (分) layout development cities in develo

文档评论(0)

1亿VIP精品文档

相关文档