嵌入式期末考试试卷A卷.docVIP

  • 115
  • 0
  • 约5.41千字
  • 约 8页
  • 2017-02-11 发布于江苏
  • 举报
题号 一 二 三 四 五 六 七 八 九 十 总分 累分人 签名 题分 40 12 24 24 100 得分 考生注意事项:1、本试卷共5页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 填空题(每空2分,共40分) 得分 评阅人 ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、 Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器, R15 寄存器用于存储PC,R13通常用来存储 SP ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指令分开使用不同接口的是 哈佛结构 ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。 ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和 指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是 打断对齐 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于 RISC、 类型,其指令长度是 定长的 。 指令测试题(共12分) 写一条 ARM 指令,完成操作r1 = r2 * 3(4分) ADD R1,R2,R2, LSL #1 初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分) R0=21H,R1=23H 3、说明指令STMIA r12!, {r0-r11}的操作功能。(4分) 将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。 4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放在r4中。程序框架如下,补充代码完成上述功能。(8分) AREA total, CODE READONLY ENTRY start MOV r4, #0 ADR r0, myarray ;在此补充代码 loop LDR r1, [r0], #4 ADD r4, r4, r1 CMP r1, #0 BNE loop 5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,并说明extern和EXPORT伪指令的在程序中的作用。(8分) strtest.c #include stdio.h extern void strcopy(char *d, const char *s); int main() { const char *srcstr = First string - source; char dststr[] = Second string - destination; printf(Before copying:\n); printf( %s\n %s\n,srcstr,dststr); // strcopy(dststr,srcstr); // printf(After copying:\n); printf( %s\n %s\n,srcstr,dststr);// return 0; } scopy.s AR

文档评论(0)

1亿VIP精品文档

相关文档