2022年嵌入式期末考试试卷 .pdf
《2022年嵌入式期末考试试卷 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式期末考试试卷 .pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第页 共 16 页1 arm 期末复习资料试题一1、ARM 微处理器有7 种工作模式,它们分为两类非特权模式、特权模式。其中用户模式属于非特权模式ARM 处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼,数据和指令分开使用不同接口的是哈佛结2、ARM 微处理器复位后,PC的地址通常是0 x0,初始的工作模式是Supervisor。3、ARM 微处理器支持虚拟内存,它是通过系统控制协处理器CP15 和 MMU(存储管理部件)来进行虚拟内存的存储和管理。当系统发生数据异常和指令领取异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过MMU 交换物理内存和虚拟内存的页面,以保证程序正常
2、执行。4、ARM 支持两个指令集,ARM 核因运行的指令集不同,分别有两个状态ARM、Thumb,状态寄存器CPSR的T 位反映了处理器运行不同指令的当前状态5、ARM 核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15 寄存器用于存储PC,R13 通常用来存储SP 6、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐,另一种是打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU 工具链,ARM 公司提供的工具链是ADS工具链计算机有 CISC 和 RISC 两种类型,以ARM 微处理器为核心的计算机属于RISC 类型,其指令长度是
3、定长的1、目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六2、ARM 系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS 编程规范约定使用的堆栈是哪一种?。SPSPSPSP栈空间的增长方向地址的增长方向栈空间的增长方向栈空间的增长方向栈空间的增长方向Hi AddressLo AddressLo AddressHi Address答:FD、FA、ED、EA。ATPCS 编程规范约定使用的堆栈是FD 3、Boot Loader 在嵌入式系统中主要起什么作用?完成
4、哪些主要的工作?答:Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过Boot Loader,初始化硬件设备,建立内存和 I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows 主机上使用什么软件建立连接?在Linux 主机上使用什么软件建立连接?1、答:RS-232,以太网口、并口在 Windows 主机上使用超级终端软件在 Linux 主机上使用 Minicom 软件5 嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
5、宿主机目标机(评估电路板)基于 JTAG的 ICD 仿真器、或调试监控软件、或在线仿真器ICE 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统6 在进行基于 ARM 核的嵌入式系统软件开发时,调用如下函数:int do_something(int arg1,void*arg2,char arg3,int*arg4)这四个参数通过什么方式从调用程序传入被调函数?根据 ATPCS 编程规范,调用函数和子程序通过R0 R3 四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1 通过R0 传入,arg2,通过 R1 传入,arg3通过 R2 传入,arg4 通过 R
6、3 传入7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX 任选六1、写一条 ARM 指令,完成操作r1=r2*3(4分)ADD R1,R2,R2,LSL#1 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 16 页 -第页 共 16 页2 2、初始值 R1=23H,R2=0FH 执行指令 BIC R0,R1,R2,LSL#1 后,寄存器 R0,R1 的值分别是多少?(4 分)R0=21H,R1=23H 3、说明指令STMIA r12!,r0-r11的操作功能。
7、(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组成的混合程
8、序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符“/”后,说明该句程序的作用,并说明extern和 EXPORT 伪指令的在程序中的作用。(8 分)strtest.c#include 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(%sn%sn,srcstr,dststr);/strco
9、py(dststr,srcstr);/printf(After copying:n);printf(%sn%sn,srcstr,dststr);/return 0;scopy.s AREA SCopy,CODE,READONLY EXPORT strcopy strcopy LDRB r2,r1,#1 ;STRB r2,r0,#1 ;CMP r2,#0 ;BNE strcopy ;MOV pc,lr ;END/输出源串和目标串(8 分)/调用 strcopy函数/输出复制后的源串和目标串;r1 指向源串,从源串载入一个字节的字符到r2,并更新 r1=r1+1;r0 指向目标串,从r2 保存一个
10、字节的字符到目标串,并更新 r0=r0+1;测试串尾标志0;非零转标号strcopy;返回一、程序测试题(共 24 分)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 16 页 -第页 共 16 页3 1、写一段 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 l
11、oop stop B stop myarray DCD 0 x11 DCD 0 x22 DCD 0 x0 END 2、有如下程序段,画出程序流程图,并回答执行程序以后R0 的值是多少。(8 分)num EQU 2 start MOV r0,#0 MOV r1,#5 MOV r2,#2 BL func stop B stop func CMP r0,#num MOVHS pc,lr ADR r3,JumpTable LDR pc,r3,r0,LSL#2 JumpTable DCD DoA DCD DoS DoA ADD r0,r1,r2 MOV pc,lr DoS SUB r0,r1,r2 MO
12、V pc,lr END 答:R0为 0 调用 DoA,R0为 1 调用 DoS,R0 大于 2 直接返回,流程图略。R0=7 3、这是一个由源程序strtest.c和 scopy.s组成的混合程序项目,通过调用strcopy完成字符串复制,程序代码如下。要求阅读程序,在程序中的注释符后,说明该句程序的作用,并说明extern和 EXPORT 伪指令的在程序中的作用。(8 分)strtest.c#include extern void strcopy(char*d,const char*s);int main()const char*srcstr=First string-source;char
13、 dststr=Second string-destination;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 16 页 -第页 共 16 页4 printf(Before copying:n);printf(%sn%sn,srcstr,dststr);/输出源串和目标串 strcopy(dststr,srcstr);/调用 strcopy函数 printf(After copying:n);printf(%sn%sn,srcstr,dststr);/输出复制后的源串和目标串 return 0;scopy.s AREA SCopy,CODE,READONLY EXPORT s
14、trcopy strcopy LDRB r2,r1,#1 ;r1 指向源串,从源串载入一个字节的字符到r2,并更新 r1=r1+1 STRB r2,r0,#1 ;r0 指向目标串,从r2 保存一个字节的字符到目标串,并更新 r0=r0+1 CMP r2,#0 ;测试串尾标志 0 BNE strcopy ;非零转标号strcopy MOV pc,lr ;返回 END 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 16 页 -第页 共 16 页5 试题二一、填空题(请将答案填入题后括号中):共 10 小题,每小题2 分,满分 20 分。1、一般而言,嵌入式系统的构架可以分为4 个部
15、分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式 DSP处理器),(嵌入式微处理器)以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内存管理)、I/O 资源管理。4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为(硬实时系统)和软实时系统。5、内核负责管理各个任务,或者为每个任务分配CPU 时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。6、嵌入式开
16、发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI 采用(冯诺依曼体系)的内核架构。8.ARM7TDMI采用(3)级流水线结构,ARM920TDMI 采用(5)级流水线。9.按操作系统的分类可知,Dos 操作系统属于顺序执行操作系统,Unix 操作系统属于(分时)操作系统,VxWorks 属于(实时嵌入式)操作系统。10、ARM7TDMI 中,T表示支持 16 位 Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I 表示(嵌入式 ICE),支持在线断点和调试。二、选择题(请将答
17、案填入题后括号中):共 10 小题,每小题2 分,满分 20 分。1、要使 CPU 能够正常工作,下列哪个条件不是处理器必须满足的。(D )(A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。(D )(A)DOS (B)unix (C)Windows xp(D)linux 3、下面哪个选项不是SUB设备的特点。(B )(A)串行通信方式(B)不可热拨插(C)分 HOST、DEVICE和 HUB (D)通信速率比RS232快4、下面哪种嵌入式操作系统很少用于手机终端设备
18、上。(C )(A)Symbian(B)WinCE (C)uc/os(D)linux 5、以下哪项关于SRAM 和 DRAM 的区别是不对。(A )(A)SRAM比 DRAM 慢(B)SRAM 比 DRAM 耗电多(C)DRAM存储密度比SRAM 高得多(D)DRM 需要周期性刷新6、uc/os 操作系统不包含以下哪几种状态。(C )(A)运行(B)挂起 (C)退出(D)休眠7、0 x07&0 x11 的运算结果是。(A )(A)0 x01(B)0 x11 (C)0 x17(D)0 x07 8、以下哪种方式不是uc/os 操作系统中任务之间通信方式。(C )(A)信号量(B)消息队列 (C)邮件
19、(D)邮箱9、以下哪种方式不是文件系统的格式。(B )(A)FAT(B)DOS (C)NTFS(D)Ext 10、在将 uc/os 操作系统移植到ARM 处理器上时,以下哪些文件不需要修改。(A )(A)OS_CORE.C(B)include.h (C)OS_CPU.H(D)OSTaskInit 三、判断题:共5小题,每小题2 分,满分 10 分。1、所有的电子设备都属于嵌入式设备。(F )2、冯诺依曼体系将被哈佛总线所取代。(F )3、嵌入式 linux操作系统属于免费的操作系统。(T )4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。(T )5、USB2.0的最大通信速率为12
20、M/S。(F )简答题:共 2 小题,每小题10 分,满分 20 分。1、根据嵌入式系统的特点,写出嵌入式系统的定义。以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统2、试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得 CPU 的控制权;就绪:进入任务等待队列,通过调度中转为运行状态;挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪或者运行;休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。多任务四、分析计算题:共2 小题,每小题10 分,满分 20 分。1、试写抢占式和
21、非抢占式的区别。执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU 的控制权,其它任务才能够获得CPU 的控制权。2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层。五、专业名词解释(写出以下英文简写对应的中文名称):共 5 小题,每小题2 分,满分 10 分。(1)RTOS(2)CIS
22、C (3)Kernel(4)Scheduler (5)non-preemptive(1)RTOS(实时操作系统);(2)CISC(复杂指令集);名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 16 页 -第页 共 16 页6(3)Kernel(内核)(4)Scheduler(调度)(5)non-preemptive(非抢先式)1.请简述嵌入式系统的设计过程。嵌入式系统得设计过程:(1)系统定义与需求分析(2)系统设计方案的初步确立(3)初步设计方案性价比评估与方案评审论证(4)完善初步方案、初步方案实施(5)软硬件集成测试(6)系统功能性能测试及可靠性测试2.简述 ARM 处理器
23、的工作状态。ARM 处理器的工作状态:(1)ARM 状态:32 位,ARM 状态下执行字对准的32 位 ARM 指令;(2)Thumb 状态:16 位,Thumb 状态下执行半字对准的16 位 Thumb 指令。在 Thumb 状态下,程序计数器PC 使用位 1 选择另一个半字。3.简述 ARM 处理器的 7 种运行模式及各自的用途。ARM 处理器的 7 种运行模式:(1)用户模式:正常用户模式,程序正常执行模式。(2)FIQ 模式:处理快速中断,支持高速数据传送或通道处理。(3)IRQ 模式:处理普通中断。(4)SVC 模式:操作系统保护模式,处理软件中断。(5)中止模式:处理存储器故障,实
24、现虚拟存储器和存储器保护。(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。(7)系统模式:运行特权操作系统任务。4.简述 BLX、SWI、STM、LDM、MOV、MVN 的含义。BLX:带链接和状态切换的跳转指令SWI:软件中断指令STM:批量内存字写入指令LDM:加载多个寄存器指令MOV:数据传送指令MVN:数据取反传送指令5.请解释下列程序中的各条指令:.equ x,45/*定义变量 x,并赋值为 45*/.equ y,64/*定义变量 y,并赋值为 64*/.equ stack_top,0 x1000/*定义栈顶 0 x1000*/.global_start/*声明全
25、局变量*/.text/*将操作符开始的代码编译到代码段*/_start:/*程序代码开始标志*/mov sp,#stack_top/*定义堆栈位置*/mov r0,#x/*x 的值放入 r0*/str r0,sp/*r0的值保存到堆栈*/mov r0,#y/*y的值放入 r0*/ldr r1,sp/*取堆栈中的数到 r1*/add r0,r0,r1/*将r0中的数和 r1中的数相加的结构放入r0*/str r0,sp/*r0的值保存到堆栈*/stop:b stop/*程序结束,进入死循环*/.end 6.分析说明 S3C44B0X 的总线优先级顺序。(1)DRAM refresh contro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式期末考试试卷 2022 嵌入式 期末考试 试卷
限制150内