试题四(共20 分)
阅读以下说明和 C 语言代码, 回答问题 1 至问题3, 将解答填入答题纸的对应栏内。
【说明】
在实时系统中, 许多控制软件需要将数据封装到一个数据结构中, 以节省存储空间。对于位操作,使用汇编语言实现其访问比较容易,但会增加编程难度,因此现在普遍采用 C 语言实现。使用高级语言编程要特别注意结构的存储格式以及编译器的特性。本题所使用的编译器对变量按声明顺序分配地址。分析图 4-1所示的 C 语言代码,回答以下问题。
【问题 1】 (8 分)
如果处理机按 16 位以大端方式(big_endian)编址,请在图 4-2 所示的存储器图表中填入 myRadarData 数据的存储内容(十六进制表示)。
【问题 2】 (8分)
在图 4-1 所示的程序中,第 22 行的语句执行完成后,下列语句的结果是多少?请将应填入(n)处的内容写在答题纸的对应栏中。
q->X = (1)
q->Y = (2)
q->Z = (3)
q->U = (4)
若再执行一次q++,则下列语句的结果又是多少?请将应填入(n)处的内容写在答题纸的对应栏中。
q->X = (5)
q->Y = (6)
q->Z = (7)
q->U = (8)
【问题 3】 (4 分)
内存空间常划分为代码段(text) 、数据段(data) 、bss 段(bss) 、堆区(heap)和栈区(stack) ,那么图 4-1 中 myRadarData 数组的存储空间应分配在哪个段中?指针变量 p、q 应分配在哪个段中?
第1题
【问题2】(7分)
仔细阅读以下有关修正的条件判定覆盖(MC/DC)和条件判定覆盖(C/DC)的叙述,回答①~④问题,并将其填入答题纸的对应栏内。
由于被测件是关键级软件,按有关规定,被测件的测试必须达到MC/DC。MC/DC要求测试集满足 ① 条件;C/DC要求测试集满足 ② 条件。图3-1的例子中给出了两个判定条件的例子,则满足MC/DC要求的测试集是{ ③ },满足C/DC要求的测试集是{ ④ }。
第2题
【问题2】(4分)
设S为信号量,P、V操作的形式化定义如图5-2和图5-3所示,请完成该形式化定义,将应填入(n)处的内容写在答题纸的对应栏中(直接填写编号即可)。
图5-2 P操作的形式化定义
图5-3 V操作的形式化定义
第3题
【问题2】(5分)
该PDA产品的软件如下所示:
(1)记事本
(2)电源管理
(3)TCP/IP协议栈
(4)文件系统
(5)LCD驱动程序
(6)游戏软件
(7)GUI软件
(8)GPS导航定位软件
(9)处理触摸屏的软件
(10)Word文字处理软件
图1-2是PDA软件的层次关系示意图,共分为4类软件。
图1-2 PDA软件层次关系示意图
请说明上述10个软件所属的软件类别(将软件的编号填入答题纸相应的位置)。
(注意:每个选项只能属于一类软件,有重复者按选错对待。)
第4题
【问题3】(6分)
请根据本题要求完善任务Taskl(图5-4)和任务Task2(图5-5)的程序代码,填补图中的空缺,将答案填写在答题纸的对应栏中。
图 5-4 任务1 的程序
图 5-5 任务2 的程序
第5题
【问题1】(5分)
图2-1所示的LED接口电路中有设计错误,请找出其中至少4处错误(从编号为①~⑧的备选答案中选择)。
①74374的接5V
②A16~A19没参加接口地址译码
③LED的限流电阻R的阻值太小
④译码器为或非门
⑤LED阴极接电源
⑥/MEMW没参加接口地址译码
⑦/IOW没参加接口地址译码
⑧LED的限流电阻R的阻值太大
第6题
【问题3】(7分)
该PDA产品的操作系统采用嵌入式Linux,网络协议采用TCP/IP,图1-3是未完成的面向连接的socket通信流程图。
请从下列子程序(参数和返回值略)中选择恰当者填入图1-3所示流程图的相应编号处。
(1)Accept()
(2)Bind()
(3)Connect()
(4)Listen()
(5)Read()
(6)Write()
图1-3面向连接的socket通信流程图
第7题
The TCP/IP stack is a complete set of networking protocols. The OSI Model was meant
to be a standardized way of connecting devices together. and most protocols have some direct
correlation to the OSI Model. The OSI Model has 7 layers. the foruth layer is called(75)
A. physical layer
B. data link Iayer
C.application layer
D.transport layer
第8题
阅读下列说明和程序,回答问题l至问题3.将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:
【程序1】;实现两个变量的值的互换;
【程序2】:完成某功能的C语言程序;
【程序3】和【程序4】:是P、V操作的形式化定义,设S为信号量。在多道程序系
统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和
互斥两个方面。信号量是解决进程间同步与互斥的有效方法。
【程序1】
【程序3】
P操作的形式化定义
P (S)
{
(1):
If(2) {
阻塞该进程;
将该进程插入信号量S的等待队列
}
}
【程序4】
V操作的形式化定义:
V(S)
{
(3)
if(4) {
从信号量s的等待队列中取出队首进程
将其插入就绪队列:
}
}
【问题1】(6分)
执行【程序1】后,没有能够实现两个变量值的交换,为什么?请修改上述函数
实现两个变量值的交换,要求函数无返回值,形式为:void swap(...)。请将答案填写在
答题纸中对应的栏目。
【问题2】(3分)
请问【程序2】运行结果是什么?
【问题3】(6分)
请简述什么是临界资源?什么是临界区?
请完成【程序3】和【程序4】的形式化定义,将应填入(n)处的内容写在答题纸
的对应栏中。
第9题
阅读下列说明、图和表,回答问题1至问题3,将答案填入答题纸的对应栏内
【说明】
某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案
如图4-1所示。该方案是基于VME总线的多机并行处理系统,由主控制模块作为VME
总线的主设备,即总线控制器,负责整个系统的控制与管理:3个数据处理模块作为从
设备,负责数据处理与计算;1个I/O模块也作为从设备,负责系统与外部接口之间的
高速数据通信。同时,为了简化设计,该系统5个模块均采用同一款VME协议芯片,
实现内总线和VME总线的连接。
【问题1】(6分)
王工设计采用共享存储器方式,进行多机之间的通信。VME共享存储器的地址空
问映射,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME
总线地址空间的映射,输入窗几实现VME总线地址空间到处理器本地地址空间的映射。
输出窗口空间设置说明:为了每个模块能访问到其他4个模块:在每个模块的处理
器本地地址空间中开辟5M空间,映射到VME总线上的5M地址空间。映射关系见表
4-2.
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线菇享存储器
工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,
并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用IM数据缓冲区的第一
个32位作为握手标志。则数据处理模块1访问标志区的总线地址为 (1) ,数据处
理模块2访问标志区的总线地址为(2) 。
I/O模块向主控制模块发送控制命令,它们之间采用1M数据缓冲区偏移Oxl00处
作为命令缓冲区。则I/O模块访问命令区的总线地址为 (3) ,主控制模块访问命令
区的总线地址为 (4) 。
【问题2】(3分)
如表4-1所示,该系统中采用的处理器有大端和小端两种工作模式。王工设计VME
总线上传输的数据全部采用小端方式,那么当处理器通过VME总线发送数据时,需要
根据自己的工作模式,对数据迸行必要的转换,以符合协议要求。
当I/O模块向主控制模块发送控制命令OxAABBCCDD,那么它写入VME总线的实
际数据是(l),当主控制模块向数据处理模块3和I/O模块发送控制命令Oxl2345678,
那么它写入VME总线的实际数据是 (2) 和 (3) 。
【问题3】(6分)
为了提高数据通信的性能,在进行大数据量通信时,王工设计采用DMA的方式。
DMA通信方式能够满足高速VME设备的需求,也有利于发挥CPU效率。该VME协议
芯片有两种DMA工作方式:一种是直接方式(Direct mode),一 种是链方式(Linked_list
mode)。在直接方式下,在每次数据传输前,需要驱动程序对DMA控制寄存器进行设
置,然后进行DMA传输,并等待传输完成,或者异常错误。直接方式是一种软件和硬
件同步工作方式。在链方式下,驱动程序只需要设置命令包。在通信过程中,硬件根据
命令包的内容完成传输,并根据链中的下一个命令包,继续传输,直到所有命令包完成
或者异常错误。链方式是一种软件和硬件异步工作的方式。
图4-2是DMA直接方式的流程图,请补全流程图,并将答案填写在答题纸的对应
栏中。
第10题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下:
1模式选择:采集模式控制离散量信号In_ Dl并通过模式识别信号灯显示软件当前
工作模式。在信号In_D1为低电平时进入正常工作模式(模式识别信号灯为绿色),为
高电平时进入维护模式(模式识别信号灯为红色)。软件在正常工作模式下仅进行刹车控
制和记录刹车次数,在维护模式下仅进行中央控制器指令响应:
2刹车控制;采用定时中断机制,以5ms为周期采集来自驻车器发出的模拟量信号
In Al以及来自刹车踏板发出的模拟量信号In_ A2,井向刹车执行组件发送模拟量信号
Out _ A1进行刹车控制;
3记录刹车次数:在Out_ Al大于4V时,读出非易失存储器NVRAM中保存的刹
车次数记录进行加l操作,然后保存至非易失存储器NVRAM中:
4.响应中央控制器指令:接收来自中央控制器的串行口指令字超In_Sl,回进串行口
响应字Out_ Sl。当接收的指令字错误时,软件直接丢弃该命令字,不进行任何响应。
指令字及响应字说明如表3-1所示。
襄3-1指令字和响应宇
【问题1】(7分)
请简述本软件串行输入接口测试的测试策略及测试内容。针对袁3-1中“读取刹车
次数指令”进行鲁棒性测试时应考虑哪些情况?
【问题2】(6分)
某测试人员设计了表3-2所示的操作步骤对模式选择功能进行测试(表中END表示
用例到此结束)。
为进一步提高刹车控制软件的安全性,在需求中增加了设计约束:软件在单次运行
过程中,若进入正常工作模式,则不得再进入维护模式。请参照表3-2的测试用例完成
表3—3,用于测试该设计约束。
【问题3】(2分)
本项目在开发过程中通过测试发现了17个错误,后期独立测试发现了31个软件错
误,在实际使用中用户反馈了2个错误。请计算缺陷探测率(DDP)。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!