2022年嵌入式复习题2.docx
《2022年嵌入式复习题2.docx》由会员分享,可在线阅读,更多相关《2022年嵌入式复习题2.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源1、ARM 微处理器有7 种工作模式,它们分为两类非特权模式、特权模式;其中用户模式属于非特权模式2、ARM 支持两个指令集, ARM 核因运行的指令集不同,分别有两个状态ARM、 Thumb,状态寄存器 CPSR的 T位反映了处理器运行不同指令的当前状态3、ARM 核有多个寄存器, 其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于储备 PC,R13 通常用来储备SP,ARM 处理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼结构,数据和指令分开使用不同接口的是哈佛结构4、ARM微处理器复位后,PC 的地址通常是0x0,初始的工作模式是Supervisor;
2、5、ARM 微处理器支持虚拟内存, 它是通过系统掌握协处理器CP15 和MMU储备治理部件来进行虚拟内存的储备和治理;当系统发生数据反常和指令领取反常时,反常处理程序透过嵌入式操作系统的内存治理 机制,通过 MMU 交换物理内存和虚拟内存的页面,以保证程序正常执行;6、编译链接代码时, 有两种储备代码和数据的字节次序, 一种是 小端对齐, 另一种是打断对齐7、构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是GNU工具链,ARM 公司供应的工具链是 ADS 工具链电脑有 CISC 和 RISC 两种类型,以 ARM 微处理器为核心的电脑属于RISC类型,其指令长度是定长的1、目前使用
3、的嵌入式操作系统主要有哪些?请举出六种较常用的;Windows CE/Windows Mobile 、VxWork、Linux 、uCos、Symbian、QNX任选六2、ARM 系统中的堆栈有四种,如以下图;请按图标出四种堆栈的类型;ATPCS欢迎下载精品学习资源编程标准商定使用的堆栈是哪一种?栈空间的增长方向Lo Address栈Lo Address空间的增长地方向址的欢迎下载精品学习资源SP;SPSPSP增欢迎下载精品学习资源长栈栈方空空间间向的的增增长长方方向向Hi AddressHi Address答: FD、FA、ED、EA;ATPCS 编程标准商定使用的堆栈是 FD3、Boot
4、Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?答: Boot Loader 是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序;通过 Boot Loader,初始化硬件设备,建立内存和 I/O 空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境;欢迎下载精品学习资源4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用什么软件建立连接?在Linux 主机上使用什么软件建立连接?1、答: RS-232,以太网口、并口在 Windows 主机上使用超级终端软件在 Linux 主机上使用 Minicom 软件5 嵌入式开发环境主
5、要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机评估电路板基于 JTAG的 ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统6 在进行基于 ARM 核的嵌入式系统软件开发时,调用如下函数:int do_somethingint arg1,void *arg2,char arg3,int *arg4这四个参数通过什么方式从调用程序传入被调函数?依据 ATPCS编程标准,调用函数和子程序通过 R0 R3 四个寄存器传递参数, 超过四个参数使用堆栈传递;因此 arg1 通过 R0 传入,
6、arg2, 通过 R1 传入, arg3 通过 R2 传入, arg4 通过 R3 传入7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的;Windows CE/Windows Mobile 、VxWork、Linux 、uCos、Symbian、QNX任选六1、写一条 ARM 指令,完成操作 r1 = r2 * 34 分ADD R1,R2,R2, LSL #12、初始值 R1=23H,R2=0FH 执行指令 BICR0, R1,R2,LSL #1 后,寄存器R0, R1 的值分别是多少? 4 分R0=21H, R1=23H3、说明指令 STMIA r12., r0-r11的操作功能;
7、4 分将 R0-R11 十二个寄存器中的 32 位数据,储备到 R12 地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址;4、写一段 ARM汇编程序:循环累加队列myarray 中的全部元素,直到碰上零值元素,结果放在 r4 中;程序框架如下,补充代码完成上述功能; 8 分AREA total, CODE READONLY ENTRYstartMOVr4, #0ADRr0, myarray;在此补充代码欢迎下载精品学习资源loopLDR r1, r0, #4 ADD r4, r4, r1 CMP r1, #0BNE loop欢迎下载精品学习资源5、这是一个由源程序strt
8、est.c和 scopy.s 组成的混合程序项目,通过调用strcopy完成字符串复制, 程序代码如下; 要求阅读程序, 在程序中的注释符 “/ ”欢迎下载精品学习资源后,说明该句程序的作用, 并说明 extern 和 EXPOR伪T分#include extern void strcopychar *d, const char *s; int mainconst char *srcstr = First string - source; char dststr = Second string - destination;指令的在程序中的作用;8欢迎下载精品学习资源printfBefore c
9、opying:n;printf %sn %sn,srcstr,dststr;/ strcopydststr,srcstr;/printfAfter copying:n;printf %sn %sn,srcstr,dststr;/ return 0;AREASCopy, CODE, READONLYEXPORT strcopy strcopyLDRBr2, r1,#1;STRBr2, r0,#1;CMPr2, #0;BNEstrcopy;MOVpc,lr;END/ 输出源串和目标串8 分/ 调用 strcopy函数/ 输出复制后的源串和目标串; r1 指向源串,从源串载入一个字节的字符到r2,并
10、更新r1=r1+1; r0 指向目标串,从 r2 储存一个字节的字符到目标串, 并更新 r0=r0+1;测试串尾标志 0;非零转标号 strcopy;返回一、 程序测试题 共 24 分1、写一段 ARM汇编程序:循环累加队列myarray 中的全部元素,直到碰上零值元素,结果放在 r4 中;程序框架如下,补充代码完成上述功能; 8 分AREA total, CODE READONLY ENTRY欢迎下载精品学习资源startMOVr4, #0ADRr0, myarray;在此补充代码欢迎下载精品学习资源答:loopLDR r1, r0, #4 ADD r4, r4, r1 CMP r1, #0
11、BNE loop欢迎下载精品学习资源stopBstop myarrayDCD 0x11DCD0x22DCD 0x0 END2、有如下程序段,画出程序流程图, 并答复执行程序以后 R0 的值是多少;8 分numEQU2 start欢迎下载精品学习资源stop funcMOVr0, #0MOVr1, #5MOVr2, #2BLfunc BstopCMPr0, #num MOVHSpc, lrADRr3, JumpTable LDRpc, r3,r0,LSL#2欢迎下载精品学习资源JumpTableDCDDoADCDDoS欢迎下载精品学习资源DoADoSADDr0, r1, r2MOVpc, lrS
12、UBr0, r1, r2MOVpc,lr END欢迎下载精品学习资源答: R0 为 0 调用 DoA ,R0 为 1 调用 DoS,R0 大于 2 直接返回,流程图略; R0=73、这是一个由源程序strtest.c和 scopy.s 组成的混合程序项目,通过调用欢迎下载精品学习资源strcopy完成字符串复制,程序代码如下;要求阅读程序,在程序中的注释符欢迎下载精品学习资源后,说明该句程序的作用, 并说明 extern 和 EXPOR伪T8 分#include extern void strcopychar *d, const char *s; int mainconst char *src
13、str = First string - source; char dststr = Second string - destination;指令的在程序中的作用;欢迎下载精品学习资源printfBefore copying:n;printf %sn %sn,srcstr,dststr;/输出源串和目标串strcopydststr,srcstr;printfAfter copying:n;/调用 strcopy函数printf %sn %sn,srcstr,dststr;/输出复制后的源串和目标串return 0;AREASCopy, CODE, READONLYEXPORT strcopy
14、strcopyLDRBr2,r1,#1; r1指向源串,从源串载入一个字节的字符到 r2, 并更新 r1=r1+1STRBr2,r0,#1;r0 指向目标串,从 r2 储存一个字节的字符到目标串 , 并更新 r0=r0+1CMPr2, #0;测试串尾标志 0BNEstrcopy;非零转标号 strcopyMOVENDpc,lr;返回一、填空题 请将答案填入题后括号中 :共 10 小题,每题 2 分,总分值 20 分;1、一般而言,嵌入式系统的构架可以分为4 个部分:分别是 处理器 、储备器、输入/ 输出和软件,一般软件亦分为操作系统相关和应用软件 两个主要部分;2、依据嵌入式系统使用的微处理器
15、, 可以将嵌入式系统分为嵌入式微掌握器, 嵌入式 DSP处理器 ,嵌入式微处理器 以及片上系统;3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程治理 、进程间通信、内存治理 、I/O 资源治理;4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统 和分时操作系统,其中实时系统亦可分为 硬实时系统 和软实时系统;5、内核负责治理各个任务,或者为每个任务安排CPU时间,并且负责任务之间的通信,内核的基本服务是 任务切换 ;6、嵌入式开发一般采纳 宿主机/ 目标机方式 方式,其中宿主机一般是指PC机或者台式机 ;7、哈佛体系结构数据空间和地址空间分开,ARM7TDM采I 用 冯诺
16、依曼体系 欢迎下载精品学习资源的内核架构;8. ARM7TDMI采纳 3级流水线结构, ARM920TDM采I 用 5 级流水线;9 . 按操作系统的分类可知, Dos 操作系统属于次序执行操作系统, Unix 操作系统属于 分时操作系统, VxWorks属于 实时嵌入式 操作系统;10、ARM7TDM中I , T 表示支持 16 位 Thumb指令集, D表示 在片可调试 , M表示内嵌乘法器 Multiplier, I 表示 嵌入式 ICE,支持在线断点和调试;二、挑选题 请将答案填入题后括号中 :共 10 小题,每题 2 分,总分值 20 分;1、要使 CPU能够正常工作,以下哪个条件不
17、是处理器必需满意的;DA处理器的编译器能够产生可重入代码B 在程序中可以找开或者关闭中断C处理器支持中断,并且能产生定时中断D 有大量的储备空间2、下面哪种操作系统最便利移植到嵌入式设备中;DA DOSBunixC Windows xpDlinux 3、下面哪个选项不是SUB设备的特点; BA串行通信方式B不行热拨插C分 HOST、DEVICE和 HUBD通信速率比 RS232快 4、下面哪种嵌入式操作系统很少用于终端设备上;CA SymbianBWinCEC uc/osDlinux 5、以下哪项关于 SRAM和 DRAM的区分是不对;AA SRAM比 DRAM慢BSRAM比 DRAM耗电多C
18、 DRAM储备密度比 SRAM高得多DDRM需要周期性刷新 6、uc/os 操作系统不包含以下哪几种状态;CA运行B挂起C退出D休眠7、0x07&0x11 的运算结果是; 进行的是与操作AA 0x01B0x11C 0x178、以下哪种方式不是uc/os 操作系统中任务之间通信方式;D0x07CA信号量B消息队列C邮件D邮箱9、以下哪种方式不是文件系统的格式; BA FATBDOSC NTFSDExt 10、在将 uc/os 操作系统移植到 ARM处理器上时,以下哪些文件不需要修改; AA OS_CORE.CBinclude.hC OS_CPU.HDOSTaskInit三、判定题:共 5 小题,
19、每题 2 分,总分值 10 分;1、全部的电子设备都属于嵌入式设备; F2、冯诺依曼体系将被哈佛总线所取代; F欢迎下载精品学习资源3、嵌入式 linux操作系统属于免费的操作系统; T4、移植操作系统时需要修改操作系统中与处理器直接相关的程序; T5、USB2.0的最大通信速率为 12M/S; F简答题:共 2 小题,每题 10 分,总分值 20 分;1、依据嵌入式系统的特点,写出嵌入式系统的定义;以应用为中心、以电脑技术为基础、软硬件可裁减、功能、牢靠性、成本、体积、功耗严格要求的专用电脑系统2、试分析实时操作系统的工作状态特点及相互之间的转换;运行:获得 CPU 的掌握权;就绪:进入任务
20、等待队列,通过调度中转为运行状态;挂起:任务发生堵塞,称出任务等待队列,等待系统实时大事的发生而被唤醒, 从而转为就绪或者运行;休眠:任务完成或者错误等缘由被清除的任务,也可以认为是系统中不存在的任务; 多任务四、分析运算题:共 2 小题,每题 10 分,总分值 20 分;1、试写抢占式和非抢占式的区分;执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,假如有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动舍弃 CPU 的掌握权,其它任务才能够获得CPU 的掌握权;2、从嵌入式系统底层到上层应用软件,试分析嵌入式运算系统的组成主要分为哪几个部分
21、,并写出各部分所完成的功能;1硬件层; 2中间层 嵌入式系统初始化,硬件相关的驱动程序;3软件层 操作系统、文件系统、 GUI ,网络及通用组件 ; 4功能层;五、专业名词说明 写出以下英文简写对应的中文名称 :共 5 小题,每题 2 分, 总分值 10 分;1RTOS2CISC3Kernel4Scheduler5non-preemptive1RTOS实时操作系统;2CISC复杂指令集;3Kernel内核4Scheduler调度5non-preemptive非抢先式 1. 请简述嵌入式系统的设计过程;嵌入式系统得设计过程:1系统定义与需求分析2系统设计方案的初步确立3初步设计方案性价比评估与方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 嵌入式 复习题
限制150内