文档详情

2022年软考-嵌入式系统设计师考前拔高综合测试题(含答案带详解)第14期

住在山****ck
实名认证
店铺
DOCX
2.44MB
约22页
文档ID:96282863
2022年软考-嵌入式系统设计师考前拔高综合测试题(含答案带详解)第14期_第1页
1/22

2022年软考-嵌入式系统设计师考前拔高综合测试题(含答案带详解)1. 单选题异步串行通信的主要特点是(  )问题1选项A.通信双方不需要同步B.传送的每个字符是独立发送的C.字符之间的间隔时间应相同D.传送的数据中不含控制信息【答案】B【解析】总线传输分为同步通信方式和异步通信方式两类简单来说,同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收,对于字符间的时序并没有特殊要求相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的但是接收端必须时刻做好接收的准备发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来2. 单选题将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时,语法分析阶段的输入是(  )若程序中的括号不配对,则会在(  )阶段检查出该错误问题1选项A.记号流B.字符流C.源程序D.分析树问题2选项A.词法分析B.语法分析C.语义分析D.目标代码生成【答案】第1题:A第2题:B【解析】A选项记号流,词法分析的输出是记号流,也就是语法分析的输入,第一空选择A选项。

B选项字符流,在Java中,根据处理的数据单位不同,分为字节流和字符流字符流是由字符组成的,例如 File Reader、File Writer、Buffered Reader、Buffered Writer、Input Stream Reader、Output Stream Writer 等与本题无关C选项源程序,词法分析的任务是把源程序的字符串转换成单词符号序列D选项分析树,如果没有语法错误,语法分析后就能正确的构造出其语法树括号不匹配是典型的语法错误,会在语法分析阶段检测出来3. 单选题以下关于磁盘碎片整理程序的描述中,正确的是(  )问题1选项A.磁盘碎片整理程序的作用是延长磁盘的使用寿命B.用磁盘碎片整理程序可以修复磁盘中的坏扇区,使其可以重新使用C.用磁盘碎片整理程序可以对内存进行碎片整理,以提高访问内存速度D.用磁盘碎片整理程序对磁盘进行碎片整理,以提高访问文件的速度【答案】D【解析】在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问文件或文件夹4. 单选题嵌入式系统中,各处理模块的板级支持包(BSP)所包含的内容,是和系统相关的驱动和程序。

一般认为,(  )问题1选项A.BSP属于操作系统的一部分B.BSP是独立的板级支持层软件C.BSP属于驱动程序层D.BSP属于固件存在于处理模块硬件层【答案】A【解析】板级支持包(BSP)(Board Support Package)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板在嵌入式系统软件的组成中,就有BSPBSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)这样才能与上层OS保持正确的接口,良好的支持上层OS所以答案是A5. 单选题设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为(  )问题1选项A.1小时B.2.5小时C.5小时D.8小时【答案】C【解析】作业1的周转时间是2小时;作业2的周转时间是4小时,作业3的周转时间是6小时,作业4的周转时间是8小时。

所以平均周转时间是(2+4+6+8)/4 =5(小时)6. 单选题下列关于软件质量管理的论述,不正确的是(   )问题1选项A.软件质量管理是指对软件开发过程进行的独立的检查活动B.软件质量活动包括质量保证、质量规划和质量控制三部分C.软件质量活动包括质量规划和质量控制两部分内容D.软件质量保证的目的是开发符合质量要求的系统或产品【答案】C【解析】软件质量活动包括质量保证、质量规划和质量控制三部分,而不是只包含质量规划和质量控制两部分内容,所以B是不正确的7. 案例题阅读下列说明和C语言代码,回答问题1至问题3,将解答填入答题纸的对应栏内说明】在某工厂的物流车间,设计一款智能监测系统,实现对车间进行24小时不间断图像采集的功能王工设计了一个实时监测采集系统,主要由图像采集卡和数据存储卡组成由于实时图像的数据量巨大,设计采用DMA方式进行数据传输,当DMA传输完成后,DMA控制器会发起一个硬件中断操作系统接收到硬件中断,调用中断服务程序该系统的软件基于某嵌入式操作系统开发,支持中断管理、多任务调度等功能与DMA相关的一段驱动程序示例代码如下C语言程序声明与定义】【程序1】【程序2】【程序3】【问题1】(5分)在操作系统的头文件中,有如下类型定义:typedef void     (*VOIDFUNCPTR)();     /* ptr to function returning void */ typedef int     (*FUNCPTR) ();     /* ptr to function returning int */1.该类型定义了一组什么类型的变量,简述其功能。

2.在【程序1】的dma_init函数中,应该将intConnect函数的第二个参数转换成相应的类型,可以消除编译警告,请补充其中空(1)的内容问题2】(4分)DMA控制器的寄存器操作序列,必须为原子操作,该程序中使用了两个信号量,一个用于进行寄存器操作系统的临界区保护,一个用于在传输函数和DMA完成中断处理程序之间同步请根据信号量创建时的不同初始值,在【程序2】的dma_trans函数和【程序3】dma_intHandle函数中,补充空(2)、(3)、(4)、(5)处的内容问题3】(6分)在该系统中有A、B两个应用任务同时从不同角度采集图像,都需要调用该DMA传输函数,任务A和任务B的优先级相同该系统采用优先级抢占的调度策略在任务A调用DMA传输函数进行DMA传输时,有时会出现函数返回值为0的情况根据 DMA控制器的芯片手册定义,1表示正常完成,2表示传输超时,4表示奇偶校验错,所以返回值不应该为0王工经过认真排查后,分析该故障发生的原因是当任务A调用dma_trans函数时,会发生任务suspend的情况,此时如果任务B也调用dma_trans函数,则会发生上述故障1.请给出dma_trans函数中会导致任务发生阻塞的代码行号。

2.按照王工的分析,对全局变量的不正确操作会导致该函数的返回值错误,请给出发生错误的代码行号3.王工对该程序进行了改进,将上述会导致返回值错误的代码放在某一行程序之后执行,即可解决该问题,请给出代码行号注意:这里的行号是指【程序2】中注释所标的第1行到第5行,请在第1行到第5行之中选择答案】【问题1】1.该类型定义了一组函数指针类型的变量使用typedef给函数指针类型一个别名1)VOIDFUNCPTR【问题2】(2)sem_DMA1 (3)sem_DMA2 (4)sem_DMA1(5)sem_DMA2【问题3】1.第3行2.第1行3.第2行【解析】1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表)char (*pFun)(int);char csFun(int a){ return;}void main(){         pFun = csFun;         (*pFun)(2);}第一行定义了一个指针变量pFun首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。

第二行定义了一个函数csFun()该函数正好是一个以int为参数返回char的函数我们要从指针的层次上理解函数——函数的函数名实际上就是一个指针,函数名指向该函数的代码在内存中的首地址 然后就是main()函数了,它的第一句您应该看得懂了——它将函数glFun的地址赋值给变量pFunmain()函数的第二句中“*pFun”显然是取pFun所指向地址的内容,当然也就是取出了函数glFun()的内容,然后给定参数为2 2.使用typedef更直观更方便形式1:typedef 返回类型(*新类型)(参数表)typedef char (*FUNCPTR)(int);FUNCPTR pFun;char csFun(int a){ return;}void main(){         pFun = csFun;         (*pFun)(2);} typedef的功能是定义新的类型第一句就是定义了一种FUNCPTR的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回char类型后面就可以像使用int,char一样使用FUNCPTR了 第二行的代码便使用这个新类型定义了变量pFun,此时就可以像使用形式1一样使用这个变量了。

8. 单选题下列关于基于时间片的进程调度的叙述中,错误的是(  )问题1选项A.时间片越短,进程切换的次数越多,系统开销也越大B.当前进程的时间片用完后,该进程状态由执行态变为阻塞态C.时钟中断发生后,系统会修改当前进程在时间片内的剩余时间D.影响时间片大小的主要因素包括响应时间、系统开销和进程数量等【答案】B【解析】时间片轮转调度(round-robin scheduling RR)算法:所有的就绪任务按照先来先服务的原则排成一个队列在每次调度的时候,把处理器分派给队列当中的第一个任务,让它去执行一小段时间(时间片)在这个时间段里任务被阻塞或结束,或者任务的时间片用完了,它会被送到就绪队列的末尾,然后调度器再执行当前队列的第一个任务 9. 单选题以下C语言程序的输出结果是(   ) 问题1选项A.10B.11C.20D.21【答案】D【解析】struct s *p=data;-------- p指向了结构体数组data[0]的位置p++;----------------- p就指向了data[l]的位置++(p->x);----- p->x就是20,所以打印的值为2110. 单选题软件设计中,模块划分应遵循的准则是(  )。

问题1选项A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合【答案】C【解析】软件设计中,模块划分应遵循的准则是:高内聚低耦合内聚指的是模块内部各个处理元素之间的关系,一个模块应当恰好只做一件事内聚越高越好耦合指的是模块之间的关系,耦合度越低越好11. 单选题下列关于数据分发服务(DDS)的解释,错误的是(   )问题1选项A.DDS支持应用之间以及应用与平台服务之间的通信B.DDS从通信模式上分为发布订阅模式和请求应答模式C.DDS发送和接收关系是多对多D.DDS支持多种网络传输介质,如ARINC Ports、POSIX Sockets、FC等【答案】C【解析】DDS是基于发布/订阅模式的通信模型DDS发送和接收关系可以是点对点、点对多、多对多等12. 单选题关于中间件软件,下列叙述错误的是(  )问题1选项A.中间件是一种独立的系统软件或服务程序B.中间件一般运行于多种硬件和操作系统平台C.分布式系统中,应用软件借助中间件软件在不同的技术平台之间共享资源D.中间件软件可以屏蔽平台操作系统差异,但不能屏蔽网络协议差异【答案】D【解析】在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,把原本属于应用软件层的一些通用的功能模块抽取出来, 形成独立的一层软件, 从而为运行在它上面的那些应用软件提供一个灵活、 安全、移植性好、相互通信、协同工作的平台。

除了操作系统,中间件还能够屏蔽网络协议的差异,为应用程序提供多种通讯机制13. 单选题以下不属于集成开发环境中调试器功能的是(  )问题1选项A.能监视程序中变量的值B.能设置断点以使程序在指定的代码行上停止执行C.能逐行执行代码D.能发现代码中的语法错误【答案】D【解析】本题考查嵌入式软件开发工具方面的基础知识比如gdb是GNU开源组织发布的一个强大的程序调试工具一般来说,gdb的主要功能包括:1.执行程序运行准备调试的程序,在命令后面可以跟随发给该程序的任何参数2.显示数据检查各个变量的值,显示被调试的语言中任何有效的表达式3.断点用来在调试的程序中设置断点,该命令有如下四种形式:使程序恰好在执行给定行之前停止;使程序恰好在进入指定的函数之前停止;如果条件是真,程序到达指定行或函数时停止;在指定例程的入口处设置断点4.断点管理包括显示当前gdb的断点信息、删除指定的某个断点、禁止使用某个断点、允许使用某个断点、清除源文件中某一代码行上的所有断点等5.变量检查赋值识别数组或变量的类型,提供一个结构的定义,将值赋予变量6.单步执行包括不进入的单步执行、进入的单步执行如果已经进入了某函数,退出该函数返回到它的调用函数中。

7.函数调用调用和执行一个函数结束执行当前函数,显示其返回值8.机器语言工具有一组专用的gdb变量可以用来检查和修改计算机的通用寄存器9.信号gdb通常可以捕捉到发送给它的大多数信号,通过捕捉信号,它就可决定对于正在运行的进程要做些什么工作代码中的语法错误,可在编译阶段由编译器检查出来,不属于调试器的功能14. 单选题假设某系统总线在一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为100MHz,则总线带宽是(  )问题1选项A.100MB/sB.200MB/SC.400MB/SD.800MB/S【答案】B【解析】15. 单选题在发送电子邮件附加多媒体数据时需采用(  )协议来支持邮件传输问题1选项A.MIMEB.SMTPC.POP3D.IMAP4【答案】A【解析】MIME;MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式它是一个互联网标准,扩展了电子邮件标准,使其能够支持多媒体格式。

SMTP:邮件传输协议SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地SMTP服务器就是遵循SMTP协议的发送邮件服务器SMTP是一个相对简单的基于文本的协议,无法处理多媒体数据16. 单选题8086微处理器中执行单元负责指令的执行,它主要包括(   )问题1选项A.ALU运算器、输入输出控制电路、状态寄存器B.ALU运算器、通用寄存器、状态寄存器C.通用寄存器、输入输出控制电路、状态寄存器D.ALU运算器、输入输出控制电路、通用寄存器【答案】B【解析】微处理器是由一片或少数几片大规模集成电路组成的中央处理器CPUALU运算器、通用寄存器、状态寄存器是属于CPU中的部件输入输出控制电路是CPU与“外部世界”,如内存的连接电路参考:CPU包含运算器,控制器和寄存器运算器包含算术逻辑运算单元、累加器、数据缓冲寄存器、状态条件寄存器控制器包含程序计数器、指令寄存器、指令译码器、时序部件。

17. 单选题对于嵌入式系统,下面理解不正确的是(  )问题1选项A.嵌入式系统一般由嵌入式计算机系统和执行装置组成B.嵌入式计算机系统由硬件层、系统软件层和应用层构成C.执行装置接受嵌入式计算机系统的控制命令,执行规定的操作和任务D.执行装置是嵌入式系统的核心【答案】D【解析】嵌入式系统一般由嵌入式计算机系统和执行装置组成;嵌入式计算机系统由硬件层、系统软件层和应用层构成;执行装置接受嵌入式计算机系统的控制命令,执行规定的操作和任务;微处理器是嵌入式系统的核心18. 单选题为了更加灵活地运用中断,计算机采用中断屏蔽技术,下列描述错误的是(  )问题1选项A.一般中断控制器将中断屏蔽位集中在一起,构成中断屏蔽寄存器B.不可屏蔽中断一旦提出请求,CPU必须无条件响应C.对可屏蔽中断,仅受本身屏蔽位控制,而不受CPU中断允许标志位控制D.中断源在对应的中断屏蔽位为屏蔽状态时,其中断请求不能被CPU响应【答案】C【解析】按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。

CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(NonMaskable Interrupt)对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Interrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应IF位可以由用户控制一般中断控制器是将中断屏蔽位集中在一起,构成中断屏蔽寄存器一般中断控制器是将中断屏蔽位集中在一起,构成中断屏蔽寄存器19. 单选题下面的求解菲波那级数第n项的a、b两段程序中,分别采用了(  )算法问题1选项A.递推法和迭代法B.迭代法和穷举搜索法C.迭代法和递推法D.递归法和递推法【答案】D【解析】斐波纳契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)第一种方法是递归算法(是最普遍的解决算法),这种算法的时间复杂度很高。

因为在计算fib(n-1)的时候,把fib(n-2)也给计算了一遍这样资源得不到重复利用时间复杂度是指数级的第二种方法是递推法,利用递推算法求问题规模为n的解的基本思想是:当n=1时,解或为已知,或能非常方便地求得;通过采用递推法构造算法的递推性质,能从已求得的规模为1、2、…、i−1的一系列解,构造出问题规模为i的解这样,程序可从i=0或i=1出发,重复地由已知至i−1规模的解,通过递推,获得规模为i的解,直至获得规模为n的解20. 单选题在常见的数据结构中,(  )是只能通过访问它的一端来实现 数据存储和检索的一种线性数据结构,它的修改遵循先进后出的原则;(   )是一种先进先出的线性表  )是取值范围受限的线性表问题1选项A.链表B.队列C.栈D.串问题2选项A.链表B.队列C.栈D.串问题3选项A.链表B.队列C.栈D.串【答案】第1题:C第2题:B第3题:D【解析】第1题:本题考查数据结构方面的基础知识栈和队列都是操作受限的线性表,栈仅在表尾插入和删除元素,队列仅在表头删除元素、在表尾插入元素队列是先入先出的线性表,栈是后进先出的线性表一个线性序列经过队列结构后只能得到与原始序列相同的元素序列,而经过一个栈结构后则可以得到多种元素序列。

串是由零个或多个任意字符组成的有限序列第2题:第3题:。

下载提示
相关文档
正为您匹配相似的精品文档