201411嵌入式下午真题
第 1 题
阅读下列说明和图,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
ATM自动取款机系统是一个由终端机、ATM系统、数据库组成的应用系统,具有提取现金、查询账户余额、修改密码及转账等功能。ATM自动取款机系统用例图如图1-1所示。
ATM自动取款机系统功能组成如图1-2所示。
【问题1】(6分)
根据ATM自动取款机系统功能和系统用例图,完成图1-3所示的ATM自动取款机系统的系统状态图,将系统状态图中的(1)~(6)答案填写在答题维的对应栏中。
【问题2】(5分)
ATM自动取款机系统取款用例描述用户取款的过程。其事件流如下:
(1)基本流
a.用户输入取款金额;
b.系统验证输入金额是否符合输入要求;
c.系统验证用户账户余额;
d.系统显示用户账户余额;
e.用户确认取款金额;
f.系统要求点钞机出钞;
g.系统更新并保存账户信息。
(2)备选流
a.如果输入金额不符合输入数字格式要求,给出提示,退出;
b.如果输入金额超出最大取款金额,给出提示,退出;
c.如果用户没有确认,给出提示,退出。
根据上述ATM自动取款机系统取款用例描述,请完成取款功能的流程图,将答案填写在答题纸的对应栏中。
【问题3】(4分)
ATM自动取款机系统是与银行服务器联网的网络系统,由于系统涉及个人和企事业单位的财产安全,要求网络通信安全可靠,因此通信过程要采取消息加解密、身份认证、消息鉴别和访问控制等信息安全措施。
(1)请简要解释下列术语的基本概念,将答案填写在答题纸的对应栏中。
a.对称密钥
b.公开密钥
c.访问控制
d.消息鉴别
(2)以下几种常见的加密算法哪些属于对称加密算法?哪些属于非对称加密算法?请将答案填写在答题纸的对应栏中。
a.DES
b.RSA
c.AES
d.IDEA
e.PGP
f.DSA
g.楠圆曲线DSA
答案与解析
- 试题难度:一般
- 知识点:嵌入式系统开发与维护知识>其它
- 试题答案:
【问题1】
(1)取款
(2)选择修改密码
(3)选择继续服务
(4)选择转账
(5)转账
(6)输入密码
【问题2】【问题3】
(1)
a.对称密钥:对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。
b.公开密钥:公开密钥也称为非对称密钥,每个人都有一对唯一对应的密钥:公开密钥(简称公钥)和私人密钥(私钥),公钥对外公开,私钥由个人秘密保存;用其中一把密钥加密,就只能用另一把密钥解密。
c.访问控制:按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。
d.消息鉴别:利用鉴别函数产生一个鉴别符,接收者通过鉴别符能够检验和证实消息的合法性、真实性和完整性。这是一个证实收到的消息来自可信的原点且未被篡改的过程。
(2)
对称加密算法:DES、AES、IDEA
非对称加密算法:RSA、PGP、DSA、椭圆曲线DSA - 试题解析:
【问题1】
根据ATM自动取款机系统功能和系统用例图,可以分析出工作过程如下:
当客户将银行卡插入ATM机后,ATM机会要求输入密码,如果密码不正确,则需要重新输入;
如果密码正确,则进入主菜单,选择不同的服务类型。
服务类型有取款、修改密码、查询余额、转账等功能。【问题2】
该问题的描述部分已经给出了ATM自动取款机系统的取款过程的事件,流程图只需要根据实际取款的工作次序排序即可。
【问题3】
1.对称密钥:对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。
2.公开密钥:公开密钥也称为非对称密钥,每个人都有一对唯一对应的密钥:公开密钥(简称公钥)和私人密钥(私钥),公钥对外公开,私钥由个人秘密保存;用其中一把密钥加密,就只能用另一把密钥解密。
3.访问控制:按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或限制对某些控制功能的使用的一种技术。
4.消息鉴别:利用鉴别函数产生一个鉴别符,接收者通过鉴别符能够检验和证实消息的合法性、真实性和完整性。这是一个证实收到的消息来自可信的原点且未被篡改的过程。
第 2 题
阅读下列说明和图,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
在嵌入式系统设计中,李工使用某嵌入式处理器和对应的以太网芯进行带有网络功能的单板实现,该电路中还包含DDR、Flash等存储芯片和相应的外围控制芯片。图2-1为所选用嵌入式处理器的存储模块存储地址总线变换示意图,图2-2为以太网芯片外围设计的相关原理示意图,图2-3为用户在该嵌入式单板系统上实现内部嵌入式Web服务器的流程示意图。
在该嵌入式处理器的存储系统设计中,嵌入式处理器内部包含SA[25:0](从高到低)共26根系统地址总线,外部使用22根数据线和外部存储设备进行连接。
嵌入式处理器和以太网芯片之间的交互接口为MII(Media Independent Interface)接口,包含数据线和控制线。数据线分为收发两个方向:其中RXD[3:0]为并行数据接收线,RXCLK为对应的时钟线;TXD[3:0]为并行数据发送线,TXCLK为对应的时钟线。MDIO和MDC为控制线,通过其进行以太网芯片的配置。以太网芯片的最大通信频率由其外围的晶振频率和收发数据线的并行数目决定。
在嵌入式系统设计中,嵌入式处理器和以太网芯片之间可以设计为一对多的方式,每个以太网控制器都有一个PHYID,该PHYID依赖于以太网芯片周边的电路设计。在图2-2的设计中,该以太网芯片的PHYID由图中的PHYID[4:0]五个管脚来定。对于该以太网芯片而言,PHYID[4:0]在启动时是作为PHYID选择控制使用,在启动后是作为其他指示功能使用。PHYID的最大值是31(五位),最小是0,由PHYID[4:0]从高位到低位决定,对应管脚为高电平时对应的值为1,低电平时对应的值为0。
【问题1】(9分)
如图2-1所示,用户可以通过寄存器将存储总线变换方式配置为字节模式(8位模式),半字模式(16位模式)或者字模式(32位模式)中的任何一种,不同模式下,所使用到的地址线不同。
在图2-1中的,①、②、和③分别对应的地址线连接应该依次是( )。
A.SA2-SA23,SA1-SA22,SA0-SA21
B.SA0-SA21,SA2-SA23,SA1-SA22
C.SA1-SA22,SA2-SA23,SA0-SA21
D.SA0-SA21,SA1-SA22,SA2-SA23
根据图2-2的网络部分相关电路设计,可以知道该嵌入式处理器的网络通信中,最大通信频率是( )Mbps。
A.10000
B.1000
C.100
D.10
如果该网络芯片工作在100Mbps,那么在图2-2的设计中,RXCLK的工作频率应该是( )Mbps。
根据图2-2的电路和题目说明,在该电路中,以太网芯片的PHYID应该是( )。
【问题2】(6分,每空1.5分)
在图2-3中,为了实现嵌入式Web服务器和对应的请求流程,李工设计了该流程示意图,根据网络通信的过程,从下面选项中选择合适的处理过程,填充图2-3中的空(1)~(4)。
空(1)~(4)备选答案:
A.创建TCP socket套接字
B.关闭socket套接字
C.accept尝试建立TCP连接
D.HTTP服务
E.数据发送处理
F.数据接收处理
G.bind绑定套接字
D.本地其他服务处理
I.listen侦听客户套接字
J.创建UDP socket套接字
答案与解析
- 试题难度:一般
- 知识点:嵌入式系统总线&通信接口>其它
- 试题答案:
【问题1】
(1)D(2)C(3)25(4)1或者0x01
【问题2】
(1)G(2)I(3)C(4)D - 试题解析:
本题考查嵌入式处理器的硬件原理及连线设计和相关软件中网络程序的设计。
【问题1】
为了支持位宽8,16, 32,所以得有个方法区别:
SA0-接SA21,8位结构;SA1-SA22 支持16位结构,等价于左移1位,乘以2,相对于8位来说明;SA2-SA23,32位结构,等价于左移2位。【问题2】
TCP与UDP区别总结:
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接。
2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
3、UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)。
4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信。
5、在TCP连接过程中,需要服务器,客户端按照固定的流程进行软件实现。服务器首先绑定端口和IP,然后侦听,等待客户端连接。客户端在创建对应的套接字后即可按照IP,端口来连接服务器,待连接成功后,服务器客户端即可开始通信。在UDP的通信实现中,客户端不用连接服务器,只是向固定的IP和端口进行数据报文的发送,服务器端只是不断的接收对应IP和端口的数据,然后依据数据内容进行有效性判断,进而进行数据处理。
第 3 题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下:
1.模式选择:采集模式控制离散量信号In_D1并通过模式识别信号灯显示软件当前工作模式。在信号In_D1为低电平时进入正常工作模式(模式识别信号灯为绿色),为高电平时进入维护模式(模式识别信号灯为红色)。软件在正常工作模式下仅进行刹车控制和记录刹车次数,在维护模式下仅进行中央控制器指令响应;
2.刹车控制:采用定时中断机制,以5ms为周期采集来自驻车器发出的模拟量信号In_A1以及来自刹车踏板发出的模拟量信号In_A2,并向刹车执行组件发送模拟量信号Out_A1进行刹车控制;
3.记录刹车次数:在Out_A1大于4V时,读出非易失存储器NVRAM中保存的刹车次数记录进行加1操作,然后保存至非易失存储器NVRAM中;
4.响应中央控制器指令:接收来自中央控制器的串行口指令字In_S1,回送串行口响应字Out_S1。当接收的指令字错误时,软件直接丢弃该命令字,不进行任何响应。
指令字及响应字说明如表3-1所示。
【问题1】(7分)
请简述本软件串行输入接口测试的测试策略及测试内容。针对表3-1中“读取刹车次数指令”进行鲁棒性测试时应考虑哪些情况?
【问题2】(6分)
某测试人员设计了表3-2所示的操作步骤对模式选择功能进行测试(表中END表示用例到此结束)。
为进一步提高刹车控制软件的安全性,在需求中增加了设计约束:软件在单次运行过程中,若进入正常工作模式,则不得再进入维护模式。请参照表3-2的测试用例完成表3-3,用于测试该设计约束。
【问题3】(2分)
本项目在开发过程中通过测试发现了17个错误,后期独立测试发现了31个软件错误,在实际使用中用户反馈了2个错误。请计算缺陷探测率(DDP)。
答案与解析
- 试题难度:一般
- 知识点:嵌入式系统实施知识>其它
- 试题答案:
【问题1】
测试策略包括测试正常和异常指令的响应。
测试内容包括读取刹车次数和清除刹车次数两种指令。
对“读取刹车次数指令”进行鲁棒性测试时应考虑输入接口帧头错误、指令码错误、帧长错误、帧尾错误以及整个指令长度超过4字节的情况。
【问题2】【问题3】
DDP=(17+31)/(47+31+2)=96% - 试题解析:
本题考查软件测试的一些基本概念及依据需求进行测试用例设计的能力。根据刹车控制软件的工作流程的说明,结合一些测试的基本概念来进行作答。
此题目要求考生认真阅读题目所给的说明,了解刹车控制软件的工作流程,结合软件测试的一些基本概念,在刹车控制软件中进行实际应用。比如问题3的缺陷探测率(DDP)的公式为:测试发现的软件问题/软件总的发现问题,对本题而言,缺陷探测率(DDP)=(17+31)/(17+31+2)=96%。
第 4 题
阅读下列说明、图和表,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案如图4-1所示。该方案是基于VME总线的多机并行处理系统,由主控制模块作为VME总线的主设备,即总线控制器,负责整个系统的控制与管理;3个数据处理模块作为从设备,负责数据处理与计算;1个I/O模块也作为从设备,负责系统与外部接口之间的高速数据通信。同时,为了简化设计,该系统5个模块均采用同一款VME协议芯片,实现内总线和VME总线的连接。
该系统中每个模块的相关信息见表4-1所示。
【问题1】(6分)
王工设计采用共享存储器方式,进行多机之间的通信。VME共享存储器的地址空间映射,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME总线地址空间的映射,输入窗口实现VME总线地址空间到处理器本地地址空间的映射。
输出窗口空间设置说明:为了每个模块能访问到其他4个模块;在每个模块的处理器本地地址空间中开辟5M空间,映射到VME总线上的5M地址空间。映射关系见表4-2。
输入窗口空间设置说明:每个模块分配1M的VME地址空间,并将这1M空间映射到处理器本地RAM区域中,专门用于VME通信数据缓冲区。映射关系见表4-3。
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线共享存储器工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用1M数据缓冲区的第一个32位作为握手标志。则数据处理模块1访问标志区的总线地址为(1),数据处理模块2访问标志区的总线地址为(2)。
I/O模块向主控制模块发送控制命令,它们之间采用1M数据缓冲区偏移0x100处作为命令缓冲区。则I/O模块访问命令区的总线地址为(3),主控制模块访问命令区的总线地址为(4)。
【问题2】(3分)
如表4-1所示,该系统中采用的处理器有大端和小端两种工作模式。王工设计VME总线上传输的数据全部采用小端方式,那么当处理器通过VME总线发送数据时,需要根据自己的工作模式,对数据进行必要的转换,以符合协议要求。
当I/O模块向主控制模块发送控制命令OxAABBCCDD,那么它写入VME总线的实际数据是(1),当主控制模块向数据处理模块3和I/O模块发送控制命令0x12345678,那么它写入VME总线的实际数据是(2)和(3)。
【问题3】(6分)
为了提高数据通信的性能,在进行大数据量通信时,王工设计采用DMA的方式。DMA通信方式能够满足高速VME设备的需求,也有利于发挥CPU效率。该VME协议芯片有两种DMA工作方式:一种是直接方式(Direct mode),一种是链方式(Linked_list mode)。在直接方式下,在每次数据传输前,需要驱动程序对DMA控制寄存器进行设置,然后进行DMA传输,并等待传输完成,或者异常错误。直接方式是一种软件和硬件同步工作方式。在链方式下,驱动程序只需要设置命令包。在通信过程中,硬件根据命令包的内容完成传输,并根据链中的下一个命令包,继续传输,直到所有命令包完成或者异常错误。链方式是一种软件和硬件异步工作的方式。
图4-2是DMA直接方式的流程图,请补全流程图,并将答案填写在答题纸的对应栏中。
答案与解析
- 试题难度:一般
- 知识点:嵌入式微处理器>其它
- 试题答案:
【问题1】
(1)0xD020’0000
(2)0x00F0’0000
(3)0xD000’0100
(4)0x00F0’0100
【问题2】
(1)0xAABBCCDD
(2)0x78563412
(3)0x78563412
【问题3】
(1)设置DMA目的地址或(2)
(2)设置传输长度或(1)
(3)设置DMA传输启动位
(4)DMA是否正常终止 - 试题解析:
本题考查嵌入式系统中计算机总线、存储、DMA等相关知识及应用。
【问题1】
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线共享存储器工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用1M数据缓冲区的第一个32位作为握手标志。则系统的映射关系如下图所示:【问题2】
大端模式中字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;而与大端存储模式相反,在小端存储模式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
【问题3】
使用DMA方式传输时,需要一个专门的器件来协调外设接口和内存储器的数据传输,这个专门的器件称为DMA控制器,简称DMAC。如下图所示:一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
1.DMA请求:CPU初始化DMA控制器,并提供要传送的数据的起始位置、目的地址和数据长度。外设发出DMA请求。
2.DMA响应:DMA控制器判断DMA请求的优先级及屏蔽,向总线仲裁器提出总线请求。当CPU执行完当前总线周期时,可释放总线控制权。此时总线仲载器输出总线应答,表示DMA已经响应,DMA控制器从CPU接管对总线的控制,并通知外设开始DMA传输。
3.DMA传输:DMA数据以规定的传输单位(通常是字)传输,每个单位的数据传送完成后,DMA控制器修改地址,并对传送单位的个数进行计数,继而开始下一个单位数据的传送,如此循环往复,直至达到预先设定的传送单位数量为止。
4.DMA结束:当规定数量的DMA数据传输完成后,DMA控制器通知外设停止传输,并向CPU发送一个信号(产生中断或事件)报告DMA数据传输操作结束,同时释放总线控制权。
第 5 题
阅读下列说明和程序,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:
【程序1】:实现两个变量的值的互换;
【程序2】:完成某功能的C语言程序;
【程序3】和【程序4】:是P、V操作的形式化定义,设S为信号量。在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量是解决进程间同步与互斥的有效方法。
【程序1】
【程序2】
【程序3】
P操作的形式化定义
【程序4】
V操作的形式化定义:
【问题1】(6分)
执行【程序1】后,没有能够实现两个变量值的交换,为什么?请修改上述函数,实现两个变量值的交换,要求函数无返回值,形式为:void swap(…)。请将答案填写在答题纸中对应的栏目。
【问题2】(3分)
请问【程序2】运行结果是什么?
【问题3】(6分)
请简述什么是临界资源?什么是临界区?
请完成【程序3】和【程序4】的形式化定义,将应填入(n)处的内容写在答题纸的对应栏中。
答案与解析
- 试题难度:一般
- 知识点:嵌入式软件程序设计>嵌入式程序设计>面向过程的语言
- 试题答案:
【问题1】
两个变量不能交换值的原因:
因为函数是传值的,函数形参值的交换,并不影响到实参的值的变化。
正确的函数编写如下(下面只是范例,变量名称不作要求):【问题2】
第一次输出:fun(5)=5
第二次输出:fun(7)=13
第三次输出:fun(9)=34
【问题3】
临界资源:一次只能使一个进程访问的资源称为临界资源。
临界区:进程中访问临界资源的那段代码称为临界区。
(1)S--
(2)S<0
(3)S++
(4)S<=0 - 试题解析:
本题考查嵌入式C/C++语言编程基础知识。
【问题1】
考查大家对函数调用的传参和传值的概念的理解程度。
函数swap采用值传递,虽然将形参n1和n2交换了,但是并不影响到实参。需要将值传递改成指针传递就可以了。
【问题2】
本题考查大家对程序for循环的计算过程。
【问题3】
本题考查大家对PV操作的理解。牵涉到的概念有:
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
临界区:每个进程中访问临界资源的那段代码称为临界区。
信号量:是一种特殊的变量。
P、V操作的形式化描述如下: