《嵌入式系统期末考试题(共5页).doc》由会员分享,可在线阅读,更多相关《嵌入式系统期末考试题(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、 填空题(每空2分,共40分) 得分评阅人 1、 嵌入式系统的设计可以分成三个阶段:分析、 设计 和 实现 2、 目前使用的嵌入式操作系统主要有 Windows CE/Windows Mobile Linux、uCos、和 Symbian 3、 XScale微处理器使用的是ARM公司 ARMV5TE 版内核和指令集。4、 微处理器有两种总线架构,使用数据和指令使用同一接口的是 冯诺依曼 ,分开的指令和数据接口、取指和数据访问可以并行进行的是 哈佛结构 5、 ARM微处理器有七种工作模式,它们分为两类 非特权模式 、 特权模式 。其中用户模式属于 非特权模式 6、
2、ARM核有两个指令集,分别是 ARM 、 Thumb 7、 ARM微处理器复位后,PC(R15)的地址通常是 0X0 ,初始的工作模式是 supervisor8、在ARM体系构架中对复杂的内存管理是通过系统控制协处理器 cp15 和MMU(存储管理部件)来进行的。当系统发生 Data Abort(数据)异常和 Prefetch Abort(指令领取) 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。9、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,ARM公司提供的工具链是 ADS工具链 二、指令和
3、程序测试题(共24分) 1、 写一条 ARM 指令,完成操作r1 = r2 * 4(4分)MOV R1,R2,LSL #32、 初始值R2=5,R3=4,R4=3,执行指令SUBS R2, R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?(4分)R2=3,R3=43、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)num EQU 2 start MOV r0, #1 MOV r1, #6 MOV r2, #3 BL arithfunc stop B stop arithfunc CMP r0, #num MOVHS pc, lr ADR r3, JumpTa
4、ble LDR pc, r3,r0,LSL#2 JumpTable DCD (.WORD) DoA ;注意:使用ADS开发工具用伪指令DCD DCD (.WORD) DoS ; 使用GNU开发工具用伪指令.WORD DoA ADD r0, r1, r2 MOV pc, lr DoS SUB r0, r1, r2 MOV pc,lr END 答:R0为0执行DoA,R0为0执行DoS,流程图略。R0=5。4、有程序段如下,实现下面流程图,试补充编写ARM汇编代码。(8分)程序段:MOV r0, #15MOV r1, #9start;补充代码stopB stopEND程序:Start: CMP r
5、0,r1 SUBLT r1,r1,r0 SUBGT r0,r0,r1 BNE start二、 问答题(每题6分,共36分) 得分评阅人 1、 嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括l 宿主机l 目标机(评估电路板)l 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICEl 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境l 嵌入式操作系统2、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保
6、存函数调用的返回地址3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。4、简述嵌入式系统的概念、组成及特点。答:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 其特点有 l 嵌入式系统通常是面向
7、特定应用的l 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物 l 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余l 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行l 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中 l 嵌入式系统本身不具备自举开发能力 5、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?答:RS-232,以太网口、并口在Windows主机上使用超级终端软件在Linux主机上使用Minicom软件6、进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)则这四个参数通过什么方式从调用程序传入被调函数?答:基于ARM核的嵌入式系统软件开发时,调用函数和子程序通过R0R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4通过R3传入。7、简述再进行基于ARM核的嵌入式系统软件开发时,调用如下函数的规则约定。专心-专注-专业
限制150内