首页

软考 - 中级_嵌入式系统设计师

类型:
选择方向:
选择考试:
题型:
为你找到 30 个题目。

阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。
【说明】
在某嵌入式处理器上,编写以下两段程序(编译选项中,存储采用4字节对齐方式)。


汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘子最小,程序要把这n个盘子从A处搬到C处,可以在E处暂存,但任何时候都不能出现大的盘子压在小的盘子上面的情况。
下列是一段求解汉诺塔问题的C语言程序。


【问题1】(3分)
C语言函数的一般格式为:


简答下述问题,将答案填写在答题纸中对应栏目。
(1)<函数类型>的含义是什么?
(2)<参数列表>的含义是什么?
(3)C语言函数之间的参数如何传递?
【问题2】(6分)
回答问题,将答案填写在答题纸中对应题目。
(1)sizeof(struct student1)结果是多少?
(2)sizeof(union student2)结果是多少?
(3)变量a2在程序段2中定义,写出执行以下语句后的输出结果。


【问题3】(6分)
仔细阅读求解汉诺塔问题的C语言程序,完成其中(1)~(4)空白填空,将答案填入答题纸的对应栏内。


阅读以下关于某嵌入式系统BIT的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。


【说明】
某公司负责研制一个嵌入式计算机系统,如图4-1所示。该系统以PowerPC处理器为核心,通过AD进行实时数据采集,并将采集来的数据进行预处理后,通过RS422总线发送给后端计算中心。


同时为了提高产品的安全性和可靠性,设计实现了机内自测试(Built_In_TeSt,BIT)。BIT依靠自身电路和程序完成对计算机平台硬件的功能检查、故障诊断与隔离。

【问题1】(6分)
王工负责对该系统进行故障模式分析,识别出了该系统可能出现的故障模式,如表4.1所示。请将属于CPU和RAM的故障填写在答题纸的对应栏中。


【问题2】(3分)
王工设计了三种BIT测试程序,分别是上电BIT、周期BIT、维护BET。运行流程如图4-2所示。


请回答下面三个问题,将答案填写在答题纸的对应栏中。
(1)请问不影响和破坏任务正常运行的是哪一种BIT?
(2)请问具有最完备的测试用例集合,可用于故障隔离和定位的是哪一种BIT?
(3)请问确保设备单元在使用前都被测式的是哪一种BIT?
【问题3】(6分)
李工负责设计CPU单元的BIT测试算法,通过对每组指令分别设计一组测试用例,定义不同的操作数、操作码和预期值,在指令运行后比较结果与预期值。由于该系统选用的处理器集成了多级Cache(高速缓存),并且指令缓存和数据缓存是分开的,执行指令功能测试前需要刷新指令Cache,以保证与内存中的测试代码一致。每个测试项的测试结果正确为0,故障为1。
以32位字比较指令cmpw测试为例,cmpw将寄存器rA和rB内数据比较的结果(大于、小于、等于)放入条件寄存器crx,其操作码为0x7C000000,测试用例数据如表4.2所示。


cmpw指令功能测试的算法流程示意如图4-3所示。请补全流程图4-3中的执行操作,将答案填写在答题纸的对应栏中。


阅读以下关于软件测试的说明,回答题1至问题3,将解答填入答题纸的对应栏内。
【说明】
使用在汽车、飞机中的嵌入式软件,由于直接影响人的生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。
以下是一段C语言代码,请仔细阅读并回答相关问题:



【问题1】(6分)
请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。将答案填写在答题纸的对应栏中。
【问题2】(5分)
画出以上代码的流程图,将答案填写在答题纸的对应栏中。
【问题3】(4分)
请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取值范围,将答案填写在答题纸的对应栏中

阅读以下关于某嵌入式处理器和存储器方面的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
在某嵌入式系统设计中,需要使用嵌入式主处理器对外围模拟视频信号进行采集、编码、存储和网络传输。图2-1为李工设计的该嵌入式系统的原理框图:采用两片TVP5146芯片进行两路模拟视频数据采集,在该处理器外围采用MAX3232芯片进行串口扩展,以方便系统调试,同时在该原理图中还设计了相应的Flash存储器接口,DDR存储器,网络及电源等电路。
在该电路设计中,视频采集芯片TVP5146需要主处理器通过I2C接口进行采集模式、亮度、对比度、增益等参数的调节,但是三处理器只有一个I2C接口,因此需要将两个TVP5146挂载的同一个I2C总线上,如图2-2所示。TVP5146的I2C芯片地址选择如表2.1所示,当进行I2C读时,I2C地址的最低是1,当进行写操作时,I2C地址最低位是0,A0由外围电路的高低电平决定,高电平为1,低电平为0。




【问题1】(6分,答案用十六进制表示,比如0xAA)
根据图2-2及表2.1所示,对图2-2中的TVP5146(1)和TVP5146(2)两个芯片分别进行读写操作时,其对应的地址依次是:


【问题2】(3分,答案用十六进制表示,比如0xAA)
在图2-2原理图设计中,主处理器的串口拉制器的时钟为27M,在进行串口调试时,李工需要将串口配置为9600bps的波特率,需要对串口控制器的DLL(Divisor Latches Low寄存器)和DLH(Divisor Latches High寄存器)进行配置,DLL和DLH的寄存器分别如图2-3和图24所示。


根据以上信息,DLL和DLH寄存器应该分别被配置为:
DLL:(1)
DLH:(2)
【问题3】(6分,答案用十六进制表示,比如OxAA)
在李工对TVP5146进行配置时,需要编写的读写函数,在进行   的读写操作时,需要对   的控制寄存器、数裾寄存器以及状态寄存器进行配置和查询。具体的写操作流程为:先配置控制寄存器为写模式,再检查状态寄存器,如果准备就绪,则向数据寄存器写数据,写完之后进行状态寄存器查询状态,根据状态退出写操作。具体的读操作流程为:先配置控制寄存器为读模式,再检查状态寄存器,如果准备就绪,则从数据寄存器中读出,然后退出。李工所选用的处理器对应的   控制寄存器、数据寄存器、状态寄存器各自的定义如表2.2、表2.3和表2.4所示。




李工所编写的   读写函数如下所示:


请将空(1)~(4)处空缺的代码补充完整。

阅读以下关于电梯模拟控制系统设计方法的说明,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
王工在实验室负责自动电梯模拟控制系统的设计,自动电梯模拟控制系统需要完成电梯运行控制算法、输入界面和输出界面三项主要任务。系统结构图如图1-1所示。


根据电梯运行的流程,把电梯划分为停止状态、运行状态、开门状态和关门状态4种控制状态。停止状态是指电梯在没有任何请求的情况下静止状态,而不是指电梯在运行过程中开门前的停顿状况,本题忽略停顿状况,把电梯从运行状态直接迁移为开门状态。电梯根据控制状态的迁移规则进行状态迁移,系统初始时,电梯处于停止状态。

【问题1】(6分)
电梯根据控制状态的迁移规则进行迁移,其状态迁移图如图1-2所示。请根据下面状态转移的条件,完成状态迁移图,将解答填入答题纸的对应栏中。
可供选择的状态转移条件:
a.其他楼层有呼叫请求;
b.无呼叫请求;
c.乘客进入电梯或等待一段时间后;
d.到达请求楼层;
e.电梯所在楼层有呼叫请求。


【问题2】(5分)
电梯运行处理程序的流程图如图1-3所示。请完成该流程图,将答案填写在答题纸的对应栏中。


【问题3】(4分)
系统采用多级优先级中断结构,如图1-4所示。它要求CPU在执行完当前指令时转而对中断请求进行服务。设备A连接于最高优先级,设备B次之,设备C又次之。IRQx为中断请求信号,INTx为CPU发出的中断响应信号。


现假设:为硬件中断周期时间;为一个指令执行周期时间;分别为A、B、C的中断服务程序执行时间;为保护现场和恢复现场所需的时间。图1-5是中断处理过程示意图。


当三个设备同时发出中断请求时,依次处理设备A、B、C的时间是多少?这种结构下中断饱和时间是多少?请将答案填写在答题纸的对应栏中。

阅读下列说明和程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了相关程序,其中:
【程序1】是李工编写的一个数据交换子程序。
【程序2】是赵工编写的一段利用递归方法判别链表表示的两个数据结构是否相等的程序,若相等则返回值为1,否则返回为0。判别的准则是若两个链表的首指针相等,则相等;否则进行内部元素比较,元素中的itemid表示后面联合体union的有效性,itemid为0时,联合体union里面的data项有效,否则联合体union中的Link项有效。




【问题1】(6分)
执行【程序1】后,打印出来的a=3,b=4;并没有完成数据交换,请指出李工的问题?并改正程序错误。将答案填写在答题纸中对应的栏目。
【问题2】(5分)
仔细阅读并分析【程序2】中的C语言代码,完成其中(1)~(5)空白填空,将答案填入答题纸的对应栏内。
【问题3】(4分)
李工编写某嵌入式软件时,遇到了一些问题,请帮助李工解答下面2个问题,并将答案填写在答题纸中对应的栏目。
(1)李工在编译时,程序没有通过编译,经检查程序后将文件头的# include 改为 # include "filename.h"后编译通过,请问 # include < filename.h >和 # include "filename.h"的区别是什么?
(2)李工在编写一段C++程序时,需要调用一段已编译的C语言函数,为什么要加 extern "C"?

阅读下列说明和表,回答问题1至问题2,将解答填入答题纸的对应栏内。
【说明】
看门狗(Watchdog)技术是嵌入式系统设计中保证系统可靠的常用技术。嵌入式控制系统运行时由于受到外部干扰或者内部系统错误,程序有时会出现“跑飞”现象,导致整个系统瘫痪。为了防止这一现象的发生,对系统可靠性要求较高的场合往往要加入看门狗电路。当系统“跑飞”时,看门狗电路能自动恢复系统的运行。

【问题1】(8分)
设某嵌入式系统程序完整运行所需的周期时间是tp,看门狗的定时周期为tw,要求tw(1)tp,在程序运行过程中需要定时(2)(俗称“喂狗”),只要程序正常运行,定时器就不会溢出。若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器将在tw时刻(3),引发(4),使系统得以重新运行。
请填充以上叙述中空缺处的内容,将答案填写在答题纸的对应栏中。
【问题2】(7分)
张工在某嵌入式系统中设计实现了看门狗电路,采用的芯片寄存器如表4-1、表4-2、表4-3、表4-4所示。


王工编写了以下程序代码,实现看门狗电路的初始化。请仔细阅读每行代码,然后回答问题。

请将以下问题的答案写在答题纸的对应栏中。
(1)在程序的第2、3、4行,分别使用了volatile关键字,请说明该关键字的作用。
(2)在程序的第7行,实现了对看门狗的三个功能设置,除了设置预装比例值外,其他两个功能分别是什么?
(3)在程序的第10行,实现了对看门狗的哪个功能设置?
(4)该系统结构采用的编址方式是什么?
(5)该系统的位序是大端方式还是小端方式?

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
操作系统主要功能之一是处理机管理,处理机管理主要是实现处理机扩充,以支持多个进程的并行运行,提高计算机的计算效率。
进程是动态的概念,通常称进程为程序的一次执行。进程的主体部分是程序,包括程序和数据。进程在执行期间具备确定的状态。
线程是进程中某个单独执行的控制流,也称为轻量进程。

【问题1】(3分)
简述抢占(剥夺)式调度算法和非抢占式调度算法的特点。
【问题2】(3分)
请从下列叙述中选择出正确的叙述并将其序号填写在答题纸上。(该题为多选题)
A.在多进程多线程系统中,处理机调度的最小单位是进程
B.线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度的实体
C.一个线程可以属于多个进程
D.进程处于可执行状态时,它的线程可以被调度执行,处于阻塞状态时,其所有线程均不能执行
E.进程的多个线程共享进程的地址空间
【问题3】(9分)
进程状态之间切换关系如图3-1所示,具体说明进程三种状态的特点,并将三种状态之间的切换条件(a)至(d)填写在答题纸对应栏目中。

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
在某嵌入式系统设计中,使用8片RAM进行64KRAM的外部存储器扩展,如图2-1所示。该CPU共有16根地址线,8根数据线,在设计中,利用CPU的MERQ作为访问控制信号,该访问控制信号低电平有效。另外,R/W作为读写命令信号(高电平为读,低电平为写)。8片8Kx8位的RAM芯片与CPU相连,RAM芯片的片选内部为上拉电阻到电源,各个RAM芯片的片选信号和74138译码器的输出相连,译码器的地址选择端连接到CPU的A13,A14,A15地址线上。


【问题1】(8分)
根据上图所示,写出RAM0,RAM1和RAM7的地址范围(请用16进制进行表示)。
RAM0:(1)
RAM1:(2)
RAM7:(3)
若CPU操作的地址总线为A800H,结合图2-1所示的示意图,CPU访问的是哪个 RAM存储器(4)。
【问题2】(4分)
如果运行时发现不论往哪片RAM写入数据后,以C000H为起始地址的存储芯片都有与其相同的数据,假设芯片与译码器可靠工作,则说明:
(1)RAM0-RAM7中(1)的片选输入端总是处于低电平。
(2)如果有问题的存储芯片的片选输入端总是处于低电平,以下可能原因中描述不正确的是(2)。
A.该存储芯片的CS端与存储芯片的WE端错连或短路
B.该存储芯片的CS端与CPU的MREQ端错连或短路
C.该存储芯片的CS端与地线错连或短路
D.该存储芯片的CS端悬空
【问题3】(3分)
根据连接图,若出现地址线A15与CPU断线,并搭接到高电平上,下面描述中正确的是(  )。(该题为多选题)
A.此时存储器只能寻址A15=l的地址空间
B.此时存储器只能寻址总共64KB空间的高32KB地址空间
C.此时访问64KB空间的高32KB地址空间时会错误地访问到低32KB地址空间
D.此时访问64KB空间的低32KB地址空间时会错误地访问到高32KB地址空间

阅读下列说明和图、表,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1-1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。


导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处理机模块执行电子地图功能、导航控制功能等,生成的导航显示画面通过信号线在LCD液晶彩色显示屏显示给驾驶员;信号处理模块处理外部采集数据,将处理后的数据通过内部总线传输给主处理机模块;电子盘模块存储电子地图数据及导航数据。
显示系统由LCD液晶彩色显示屏、面板键盘(自定义键盘)和电源模块组成,主要是显示导航画面,也可通过面板键盘进行导航控制。

【问题1】(6分)
GPS天线接收卫星信号,将定位信息以帧的形式,通过RS232串行接口传输给主处理机模块。通常RS232的管脚规格如表1-1所示。
采用RS232通信,如果发送的数据量超过接收方缓冲区时,可能在接收方缓冲区因处理时间延迟等导致接收数据丢失。因此,需要进行流量控制。


请回答下面三个问题,将答案填写在答题纸的对应栏中。
(1)如果通过软件进行流量控制,也就是将流量控制信息以特殊的数据进行发送,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(2)如果通过硬件方式进行流量控制,使用上表中的哪两个管脚进行状态信息发送?(回答管脚名称)
(3)若RS232适配器的FIFO深度为4B,通信波特率为9600bps,数据位为8位,无校验,停止位为1,无数据流控。在应用设计中每次以4字节为单位进行数据发送,每两次发送之间严格控制时间间隔为10ms,连续发送100次,在此过程中,忽略所有由于调度等因素引起的发送延迟。那么,从第1次发送开始,到第100次数据发送出去,消耗的时间为多少毫秒?
【问题2】(6分)
主处理机模块与信号处理模块间通过双端口存储器进行数据交换。李工设计时,将双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的最新数据,然后按数据块方式提供给用户程序使用。
假设每个缓冲区的大小为512KB,将512KB数据写入当前空闲缓冲区接口服务为Write_Buffer,将当前有效的512KB数据读出缓冲区的接口服务为Read_Buffer,假设双端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双端口存储器的单次操作(读写一个字的操作)为原子操作。
下面是用C语言设计的一组对双缓冲区的管理程序代码,请填补该程序代码中的空缺,将答案填写在答题纸上。


【问题3】(3分)
请回答关于面板按键设计过程中的下列问题,将答案填写在答题纸的对应栏中。
在进行面板键盘处理设计时,通常在扫描键盘过程中,按键会产生机械抖动。针对抖动问题,王工认为只有通过硬件设计才能消除抖动,而李工认为用软件方法就可以解决该问题。针对抖动向题,你认为可以采用哪类方式消除?

上一页

第 2 页