2013嵌入式A卷答案

合集下载

嵌入式试题及答案

嵌入式试题及答案

嵌入式试题及答案一、单项选择题(每题2分,共20分)1. 嵌入式系统是指:A. 具有特定功能的计算机系统B. 只运行单一任务的计算机系统C. 可以运行多个操作系统的计算机系统D. 以上都不是2. 下列哪项不是嵌入式系统的典型特征?A. 实时性B. 可扩展性C. 资源受限D. 专用性3. 嵌入式系统中,通常使用哪种类型的处理器?A. 通用处理器B. 精简指令集处理器(RISC)C. 复杂指令集处理器(CISC)D. 以上都是4. 在嵌入式系统中,操作系统的作用是什么?A. 管理计算机硬件资源B. 提供用户界面C. 执行所有程序D. 以上都不是5. 以下哪个不是嵌入式操作系统?A. LinuxB. WindowsC. VxWorksD. QNX6. 嵌入式系统的硬件设计通常需要考虑哪些因素?A. 成本B. 功耗C. 尺寸D. 所有以上7. 以下哪个是嵌入式系统的通信接口?A. USBB. HDMIC. VGAD. 所有以上8. 嵌入式系统中的中断处理机制主要用于:A. 程序调试B. 系统启动C. 任务调度D. 错误检测9. 以下哪个不是嵌入式系统的应用领域?A. 工业控制B. 消费电子C. 桌面计算D. 汽车电子10. 嵌入式系统的开发流程通常包括哪些阶段?A. 需求分析B. 系统设计C. 编码与测试D. 所有以上答案:1. A2. B3. B4. A5. B6. D7. D8. C9. C10. D二、多项选择题(每题3分,共15分)11. 嵌入式系统设计时需要考虑的非功能性需求包括:A. 性能B. 可靠性C. 安全性D. 可维护性12. 以下哪些是嵌入式系统开发中的编程语言?A. CB. C++C. JavaD. Python13. 在嵌入式系统中,哪些因素会影响系统的功耗?A. 处理器的运行频率B. 内存的使用量C. 外设的使用D. 所有以上14. 嵌入式系统的软件架构通常包括:A. 硬件抽象层B. 操作系统内核C. 设备驱动程序D. 应用程序15. 以下哪些是嵌入式系统的调试工具?A. 逻辑分析仪B. 仿真器C. 调试器D. 编译器答案:11. ABCD12. ABC13. D14. ABCD15. ABC三、简答题(每题5分,共10分)16. 简述嵌入式系统的实时性要求。

嵌入式试题集(含答案)

嵌入式试题集(含答案)

嵌入式试题集(含答案)1、ARM微处理器有7种工作模式,它们分为两类非特权模式、特权模式。

其中用户模式属于非特权模式2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM 、Thumb,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态3、ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15 寄存器用于存储PC,R13通常用来存储SP 。

ARM处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结构4、ARM微处理器复位后,PC的地址通常是0x0 ,初始的工作模式是Supervisor 。

5、ARM微处理器支持虚拟内存,它是通过系统控制协处理器CP15 和MMU(存储管理部件)来进行虚拟内存的存储和管理。

当系统发生数据异常和指令领取异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。

6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是大端对齐。

7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM公司提供的工具链是ADS工具链计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于RISC 类型,其指令长度是定长的8、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。

Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六9、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。

通过Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。

10、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux主机上使用什么软件建立连接?答:RS-232,以太网口、并口在Windows主机上使用超级终端软件,在Linux主机上使用Minicom软件11、嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括●宿主机●目标机(评估电路板)●基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE●运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境●嵌入式操作系统12、在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void *arg2,char arg3,int *arg4)这四个参数通过什么方式从调用程序传入被调函数?根据A TPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个参数使用堆栈传递。

嵌入式系统考试试题及答案

嵌入式系统考试试题及答案

嵌入式系统考试试题及答案一、选择题1、嵌入式系统是指哪些设备?A.智能手机B.平板电脑C.个人电脑D.所有电子设备答案:D.所有电子设备解释:嵌入式系统是指嵌入在其它设备中的小型计算机系统,它们通常具有特定的功能和用途,例如控制机械、电子设备等。

因此,所有电子设备都可以看作是嵌入式系统的一种。

2、嵌入式系统的主要特点是什么?A.体积小B.功耗低C.处理能力强D.以上都是答案:D.以上都是解释:嵌入式系统通常具有体积小、功耗低、处理能力强等特点,这些特点使得它们能够适应各种不同的应用场景。

3、下面哪个不是嵌入式系统的应用?A.手机语音助手B.智能家居控制C.汽车发动机控制D.超级计算机答案:D.超级计算机解释:超级计算机是一种大型计算机系统,主要用于科学计算、数据分析等高性能计算领域,与嵌入式系统的应用场景不同。

4、嵌入式系统开发需要哪些技能?A.硬件设计B.软件编程C.系统集成D.以上都是答案:D.以上都是解释:嵌入式系统开发需要具备硬件设计、软件编程和系统集成等技能,因为嵌入式系统需要与具体的硬件设备进行交互,同时需要进行软件编程来实现特定的功能。

5、下面哪个是嵌入式系统开发的主要语言?A. C语言B. C++语言C. Java语言D. Python语言答案:A. C语言解释:C语言是嵌入式系统开发的主要语言之一,因为它具有高效的性能和直接访问硬件的能力,适合用于编写嵌入式系统的底层代码。

嵌入式系统是现代电子技术中非常重要的一部分,它们广泛用于各种领域,如工业控制、智能家居、医疗设备等。

因此,学习嵌入式系统的知识对于电子工程专业的学生来说是非常重要的。

在这里,我们提供了一些嵌入式系统期末考试的题目和答案,以帮助学生们更好地理解嵌入式系统的基本概念和原理。

解释:嵌入式系统通常具有小型化、快速化和智能化的特点,而巨型化并不是嵌入式系统的特点。

解释:嵌入式系统通常使用低级编程语言,如C语言和汇编语言,而Python语言通常用于高级编程和脚本编写,并不是嵌入式系统常用的编程语言。

2013嵌入式A卷答案剖析

2013嵌入式A卷答案剖析
1、将连接寄存器LR的值减去相应的偏移量后送到PC中。
2、将SPSR复制回CPSR中。
3、若在进入异常处理时设置了中断禁止位,要在此清除。
可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。
4.下列ARM条件码的含义是什么?
(1)EQ(2)NE(3)GE(4)LT(5)MI
Hale Waihona Puke stopb stop;/*------------------------------------------------------------------ */
;/* make a word pool*/
;/*------------------------------------------------------------------ */
2. ARM体系结构支持几种类型的异常?优先级状态如何?(5分)
答:当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异常优先级由高到低的排列次序为:复位、数据中止、FIQ、IRQ、预取指令中止、未定义指令、SWI。
3.简述ARM处理器从异常返回的步骤(5分)
答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
三.简答题(20分,共4题)
1.简述ARM发生异常时,ARM要做哪些事情?(5分)
答:当一个异常出现以后,ARM微处理器会执行以下几步操作:
(1)将下一条指令的地址存入相应连接寄存器LR。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量。这样,异常处理程序就不需要确定异常是从何种状态进入的,程序在处理异常返回时能从正确的位置重新开始执行。例如:在软件中断异常SWI中,指令MOV PC,R14_svc总是返回到下一条指令,而不管SWI是在ARM状态执行,还是在Thumb状态执行。

嵌入式考试题库及答案

嵌入式考试题库及答案

嵌入式考试题库及答案一、单项选择题(每题2分,共20分)1. 在嵌入式系统中,通常采用哪种类型的处理器?A. 通用处理器B. 精简指令集处理器(RISC)C. 复杂指令集处理器(CISC)D. 专用处理器答案:B2. 以下哪个不是嵌入式系统的典型特点?A. 实时性B. 可扩展性C. 资源受限D. 专用性答案:B3. 在嵌入式系统中,以下哪个不是常用的存储介质?A. ROMB. RAMC. 硬盘D. Flash答案:C4. 嵌入式操作系统与通用操作系统的主要区别是什么?A. 嵌入式操作系统更复杂B. 嵌入式操作系统更简单,资源占用少C. 嵌入式操作系统价格更高D. 嵌入式操作系统运行速度更快答案:B5. 以下哪个不是嵌入式系统的应用领域?A. 消费电子B. 工业控制C. 航空航天D. 办公自动化答案:D6. 在嵌入式系统中,通常使用哪种类型的编程语言?A. 汇编语言B. 高级语言C. 机器语言D. 以上都是答案:D7. 以下哪个不是嵌入式系统的开发工具?A. 编译器B. 调试器C. 项目管理软件D. 文字处理软件答案:D8. 在嵌入式系统中,以下哪个不是常用的通信协议?A. TCP/IPB. USARTC. I2CD. USB答案:D9. 嵌入式系统的功耗通常与什么因素有关?A. 处理器速度B. 存储容量C. 系统复杂度D. 以上都是答案:D10. 以下哪个不是嵌入式系统的开发流程?A. 需求分析B. 系统设计C. 编码实现D. 产品发布答案:D二、多项选择题(每题3分,共15分)1. 嵌入式系统的开发过程中,以下哪些是必须考虑的因素?A. 系统性能B. 成本控制C. 系统安全性D. 用户体验答案:ABCD2. 在嵌入式系统中,以下哪些是常见的输入设备?A. 触摸屏B. 键盘C. 鼠标D. 传感器答案:ABD3. 以下哪些是嵌入式系统开发中常用的软件工具?A. 集成开发环境(IDE)B. 版本控制系统C. 项目管理工具D. 数据库管理系统答案:ABC4. 在嵌入式系统中,以下哪些是常见的输出设备?A. 显示器B. 扬声器C. 打印机D. LED灯答案:ABD5. 嵌入式系统的测试通常包括哪些方面?A. 功能测试B. 性能测试C. 安全性测试D. 稳定性测试答案:ABCD三、填空题(每题2分,共20分)1. 嵌入式系统通常由、、和四个部分组成。

大学嵌入式试题及答案

大学嵌入式试题及答案

大学嵌入式试题及答案一、选择题(每题2分,共20分)1. 在嵌入式系统中,通常使用哪种类型的处理器?A. 通用处理器B. 专用处理器C. 微处理器D. 服务器处理器答案:C2. 下列哪个选项不是嵌入式系统的特点?A. 体积小B. 功能专一C. 价格昂贵D. 可靠性高答案:C3. 嵌入式操作系统与通用操作系统的主要区别是什么?A. 嵌入式操作系统体积更小B. 嵌入式操作系统功能更全C. 嵌入式操作系统价格更贵D. 嵌入式操作系统更复杂答案:A4. 在嵌入式系统中,以下哪个不是常用的编程语言?A. C语言B. C++C. JavaD. Assembly5. 嵌入式系统中的实时操作系统(RTOS)的主要功能是什么?A. 提供图形用户界面B. 提供网络服务C. 管理任务调度和时间D. 管理文件系统答案:C6. 以下哪个不是嵌入式系统的应用领域?A. 工业控制B. 消费电子C. 航空航天D. 传统PC答案:D7. 在嵌入式系统中,中断服务程序的作用是什么?A. 处理用户输入B. 处理系统错误C. 响应外部事件D. 执行任务调度答案:C8. 以下哪个不是嵌入式系统开发过程中的常用工具?A. 编译器B. 调试器C. 编辑器D. 虚拟机答案:D9. 在嵌入式系统中,以下哪个不是常用的存储介质?B. FlashC. 硬盘D. SRAM答案:C10. 嵌入式系统的功耗通常与以下哪个因素无关?A. 处理器的运行频率B. 系统的复杂度C. 存储介质的类型D. 软件的优化程度答案:B二、填空题(每题2分,共20分)1. 嵌入式系统的______是指系统能够按照预定的时间或顺序完成预定的功能。

答案:实时性2. 在嵌入式系统中,______是指系统在没有操作系统的情况下,直接运行应用程序。

答案:裸机运行3. 嵌入式系统的______是指系统在设计时就确定的,不可更改的特性。

答案:封闭性4. 嵌入式系统的______是指系统在特定环境下,能够稳定运行的能力。

嵌入式系统试题及答案

嵌入式系统试题及答案一、单项选择题(每题2分,共20分)1. 嵌入式系统的特点是()。

A. 体积小、成本低、功能强B. 体积大、成本高、功能弱C. 体积小、成本低、功能弱D. 体积大、成本高、功能强答案:A2. 以下哪个不是嵌入式系统的组成部分?()A. 嵌入式微处理器B. 嵌入式操作系统C. 通用操作系统D. 嵌入式软件答案:C3. 嵌入式系统通常用于()。

A. 个人计算机B. 服务器C. 家用电器D. 网络设备答案:C4. 在嵌入式系统中,以下哪个不是常用的编程语言?()A. C语言B. C++C. JavaD. Python答案:D5. 嵌入式系统的开发流程不包括以下哪个步骤?()A. 需求分析B. 系统设计C. 系统测试D. 系统销售答案:D6. 以下哪个是嵌入式系统的硬件平台?()A. 单片机B. 个人电脑C. 服务器D. 工作站答案:A7. 嵌入式系统的实时性要求通常()。

A. 非常高B. 一般C. 非常低D. 可有可无答案:A8. 以下哪个不是嵌入式系统的开发工具?()A. 编译器B. 调试器C. 编辑器D. 游戏机答案:D9. 嵌入式系统通常不用于以下哪个领域?()A. 汽车电子B. 移动通信C. 航空航天D. 办公自动化答案:D10. 以下哪个是嵌入式系统的软件平台?()A. 操作系统B. 数据库系统C. 网络服务器D. 办公软件答案:A二、多项选择题(每题3分,共15分)1. 嵌入式系统的开发需要考虑以下哪些因素?()A. 系统稳定性B. 系统安全性C. 系统可扩展性D. 系统成本答案:ABCD2. 嵌入式系统的硬件设计通常包括以下哪些部分?()A. 微处理器B. 存储器C. 电源管理D. 显示设备答案:ABCD3. 嵌入式系统的软件设计通常包括以下哪些部分?()A. 操作系统B. 应用程序C. 驱动程序D. 用户界面答案:ABCD4. 以下哪些是嵌入式系统的开发工具?()A. 交叉编译器B. 版本控制系统C. 性能分析工具D. 游戏机答案:ABC5. 嵌入式系统在以下哪些领域有广泛应用?()A. 工业控制B. 消费电子C. 医疗设备D. 办公自动化答案:ABC三、判断题(每题2分,共10分)1. 嵌入式系统与通用计算机系统没有区别。

嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)一、单选题(共100题,每题1分,共100分)1、Make预置了一些内部宏,其中$@表示A、以上都不是B、没有扩展名的当前目标文件C、当前目标文件最近更新的文件名正确答案:A2、关于U-Boot,下列说法错误的是()A、支持的处理器有ARM、MNPSB、是遵循GPL条款的开放源码项目C、支持的操作系统有LINUX、QNX正确答案:A3、Makefile是()A、调试器B、编辑器C、项目管理器正确答案:C4、C语言文件预处理生成哪个后缀的文件A、iB、SC、o正确答案:A5、直接编译进内核,又称()。

A、下载文件B、静态连接C、动态连接正确答案:B6、实时在线仿真是一种用于替代目标上()的设备A、CPUB、GPUC、NOU正确答案:A7、GDB软件是()。

A、调试器B、编译器C、文本编辑器正确答案:A8、嵌入式系统设计的重要特点是()多样化A、技术B、应用C、操作正确答案:A9、ARM的工作模式有?A、非特权模式和特权模式B、特权模式C、非特权模式正确答案:A10、嵌入式操作系统的特点不包括()。

A、有一定的实时性B、强交互性C、可裁剪正确答案:B11、TCP/IP参考模型不包括()A、表示层B、应用层C、传输层正确答案:A12、Linux内核的功能不包含下面哪种()A、处理机管理B、内存管理C、进程管理正确答案:A13、下列CPSR寄存器标志位的作用说法错误的是A、V:借位B、C:进位C、Z:零正确答案:A14、()显示屏是利用有机电致发光二极管制成的显示屏。

A、OLEDB、ABCDC、EFGH正确答案:A15、动态链接是指程序运行时需要调用共享库文件,其后缀为()A、aB、cC、so正确答案:C16、MCU偏重于()A、信号处理B、控制正确答案:B17、()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。

A、交叉编辑B、交叉开发C、交叉编译正确答案:C18、Flash程序烧写时,需准备好的软件不包括()。

计算机嵌入式技术及应用试卷(A)答案及【评分标准

昆明理工大学信息与自动化学院(计算机2005本科)《嵌入式技术及应用》(A)参考答案及评分标准一、填空(共30分)1.应用、计算机技术、软/硬件,专用。

(4分)2. 1)面向特定应用;2)将计算机技术、半导体技术和电子技术与各行业的具体应用相结合的产物,是一门综合学科;3)与应用有机的结合在一起,具有较长的生命周期;4)为提高执行速度和系统可靠性,软件一般固化在存储器芯片或单片机本身中;5)不具备自举开发能力。

(10分,每空2分)3.技术知识产权(IP)内,ARM7TDMI,ARMv5TE。

(3分)4.运行效率。

结构相关、数据相关和控制相关。

(4分)5. 大容量、高速度、低价格。

(3分)6.调度一切可利用的资源,提高计算机系统的使用效率,能满足对时间的限制和要求。

(3分)7.通信。

任务切换,优先级。

(3分)二、简答(共30分,每题10分)1.简述RISC体系结构的特点。

1)大多数指令只需执行简单和基本功能,其执行过程只是一个机器周期;2)采用加载/存储指令结构;3)芯片逻辑采用硬布线逻辑,减少指令解释的开销;4)减少指令数和寻址方式,使控制部件固化,加快执行速度;5)指令格式固定,指令译码简化;6)编译开销大,应尽可能优化。

(每个1分)减少复杂功能指令,减少指令条数,选用使用频度最高的指令,以此简化了处理器结构,确保快速执行每一条指令,提高处理器的执行速度。

(4分)2.简述μC/OS-II的特点。

公开源代码;可移植性;可固化;可裁剪(Scalable);可剥夺性;多任务;可确定性;任务栈;系统服务;中断管理;稳定性和可靠性。

(每个1分,须简要说明,酌情扣分)3.以Embest S3CEV40实验平台为例,说明嵌入式系统的组成。

嵌入式系统一般由嵌入式系统的硬件、软件和开发工具及开发系统3部分组成。

(2分)在Embest S3CEV40实验平台的硬件核心芯片采用了三星公司的基于ARM7TDMI 内核的S3C44B0X,用以保存固件的Flash ROM以及用以保存程序数据的RAM。

嵌入式笔试题及答案

嵌入式笔试题及答案一、单选题(每题2分,共20分)1. 嵌入式系统通常指的是:A. 通用计算机系统B. 专用计算机系统C. 便携式计算机系统D. 网络计算机系统答案:B2. 下列哪个不是嵌入式系统的特点:A. 实时性B. 资源受限C. 可扩展性D. 专用性答案:C3. 在嵌入式系统中,通常使用哪种类型的处理器:A. 通用处理器B. 微处理器C. 数字信号处理器D. 图形处理器答案:B4. 嵌入式系统的开发流程不包括以下哪一项:A. 需求分析B. 系统设计C. 硬件选择D. 软件编程答案:C5. 以下哪个不是嵌入式操作系统的功能:A. 任务调度B. 内存管理C. 文件系统D. 网络通信答案:D6. 在嵌入式系统中,中断服务程序的作用是:A. 执行系统初始化B. 处理系统异常C. 响应外部事件D. 执行系统监控答案:C7. 以下哪个不是嵌入式系统的硬件组成部分:A. 微处理器B. 存储器C. 输入/输出设备D. 操作系统答案:D8. 嵌入式系统中的外设驱动程序的主要功能是:A. 控制外设的电源B. 实现系统与外设的通信C. 管理外设的内存D. 处理外设的错误答案:B9. 在嵌入式系统中,以下哪个不是常用的编程语言:A. C语言B. C++C. JavaD. Assembly答案:C10. 以下哪个不是嵌入式系统的开发工具:A. 编译器B. 调试器C. 仿真器D. 网络浏览器答案:D二、多选题(每题3分,共15分)11. 嵌入式系统的开发需要考虑以下哪些因素:A. 系统性能B. 成本控制C. 功耗管理D. 软件兼容性答案:A, B, C12. 嵌入式系统的软件包括以下哪些部分:A. 引导程序B. 操作系统C. 应用程序D. 驱动程序答案:A, B, C, D13. 嵌入式系统的硬件设计包括以下哪些内容:A. 微处理器选择B. 存储器设计C. 外设接口D. 电源管理答案:A, B, C, D14. 嵌入式系统的调试方法包括:A. 单元测试B. 集成测试C. 系统测试D. 性能测试答案:A, B, C, D15. 嵌入式系统的实时性要求包括:A. 确定性B. 可预测性C. 可重复性D. 可扩展性答案:A, B三、判断题(每题1分,共10分)16. 嵌入式系统总是需要操作系统的支持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;/* code*/
;/*----------------------------------------------------------------- */
GLOBAL Reset_Handler
area start,code,readwrite
entry
code32
num EQU 20
Reset_Handler
2. ARM体系结构支持几种类型的异常?优先级状态如何?(5分)
答:当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。异常优先级由高到低的排列次序为:复位、数据中止、FIQ、IRQ、预取指令中止、未定义指令、SWI。
3.简述ARM处理器从异常返回的步骤(5分)
答:异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:
STOP:
B STOP .
END
/*--factorial.c*--/
long long factorial(char N)
{ char i;
long long Nx=1;
for(i=1;i<=N;i++)
Nx=Nx*i;
return Nx;
}
答:importfactorial
3.仔细阅读下面的两个任务编程,并说明程序要实现的主要功能是什么。(5分)
1、将连接寄存器LR的值减去相应的偏移量后送到PC中。
2、将SPSR复制回CPSR中。
3、若在进入异常处理时设置了中断禁止位,要在此清除。
可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。
4.下列ARM条件码的含义是什么?
(1)EQ(2)NE(3)GE(4)LT(5)MI
subs R3, R3, #1
bne octcopy
ldmfd sp!, {R4-R11} ;(*2*)
copywords
ands R2, R2, #7
beq stop
wordcopy
ldr R3, [R0], #4
str R3, [R1], #4
subs R2, R2, #1
bne wordcopy
答:(1)实现堆栈保存和恢复数据。
(2)完成拷贝一段数据块的功能。
2.补充1个相关语句,完成在C函数中调用汇编的功能.(5分)
#include <stdio.h>
/*--start.s--*/
global _start .
equ Ni,20
.text
_start:
MOV R0,#Ni
BL factorial
答:EQ表示相等,NE表示不相等,GE表示有符号数大于或等于,LT表示有符号小于,MI表示负数。
四.阅读程序题(30分,共5题)
1.根据一段完整的汇编语言代码回答下面的问题(10分)。
;/*----------------------------------------------------------------- */
Void task1()
{ClearScreen();
LCD_Printf(“task1 is running!\n”);
OSTimeDly(500);
}
Void task2()
{ClearScreen();
(2)将CPSR复制到相应的SPSR中。
(3)根据异常类型,强制设置CPSR的运行模式位。
(4)强制PC从相应的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。还可以设置中断禁止位,以禁止中断发生。
如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。
}
void task2()
{ U8 err;
for(;;)
{ OSSemPend(math_Sem,0,&err);
LCD_printf("we get the sum!\n"); }
}
答:实现0到100的累加,并显示出来。
4.三个任务代码如下,其中task1、task2、task3的优先级分别为:29、36,48。分析LCD上的显示结果。(5分)
ldr R0, =src
ldr R1, =dst
mov R2, #num
ldr sp, =0x30200000
blockcopy
movs R3,R2, LSR #3
beq copywords
stmfd sp!, {R4-R11} ;(*1*)
octcopy
ldmia R0!, {R4-R11}
stmia R1!, {R4-R11}
三.简答题(20分,共4题)
1.简述ARM发生异常时,ARM要做哪些事情?(5分)
答:当一个异常出现以后,ARM微处理器会执行以下几步操作:
(1)将下一条指令的地址存入相应连接寄存器LR。若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量。这样,异常处理程序就不需要确定异常是从何种状态进入的,程序在处理异常返回时能从正确的位置重新开始执行。例如:在软件中断异常SWI中,指令MOV PC,R14_svc总是返回到下一条指令,而不管SWI是在ARM状态执行,还是在Thumb状态执行。
ltorg
src,5,6,7,8,1,2,3,4
dst dcd 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
end
问题:
(1)语句(*1*)和(*2*)实现什么功能?(5分)
(2)这一段代码总体完成什么功能?(5分)
stop
b stop
;/*------------------------------------------------------------------ */
;/* make a word pool*/
;/*------------------------------------------------------------------ */
OS_EVENT *math_Sem;
void task1()
{ U8 i,sum;
math_Sem=OSSemCreate(0);
sum=0;
for(i=0; i<=100; i++)
{ sum=sum+i;}
OSSemPost(math_Sem);
For(;;) { OSTimeDly(100);}
相关文档
最新文档