全国计算机技术与软件专业技术资格(水平)考试2007年11月嵌入式系统设计师下午试卷(考试时间14:00~16:30共150分钟)请按下述要求正确填写答题纸1.在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。2.在答题纸的指定位置填写准考证号、出生年月日和姓名。3.答题纸上除填写上述内容外只能写解答。4.本试卷共4道题,全部是必答题,满分75分。5.解答时字迹务必清楚,字迹不清时,将不评分。6.仿照下面例题,将解答写在答题纸的对应栏内。例题2007年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(1)月(2)日。因为正确的解答是“11月3日”,故在答题纸的对应栏内写上“11”和“3”(参看下表)。例题解答栏(1)11(2)3试题一(共20分)阅读下面有关某项目自动化配送中心处理机控制系统的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。【说明】某企业大型配送控制中心通常采用自动化方式存取仓库内的货物,配送控制中心对货物的存取由两部分组成:其一,配送控制中心管理和调度多台配送车;其二,配送车根据指令从仓库货架上存取货物。图1-1为某企业大型仓库货物存取示意图。图中配送车上安装有智能控制设备,通过视频接口接收图像数据,实施对货架位置的定位识别,然后将识别信息发送到配送控制中心。配送控制中心向配送车发送控制命令,将配送车上的货物放置到指定的货架位置,或从指定的货架位置上取出货物,装载到该配送车。图1-2所示为智能设备控制配送车从货架上取货的工作过程示意图。图1-1大型仓库货物存取示意图货架配送车配送中心智能设备摄像头机械臂无线通信链路配送中心指令接收取货指令配送车根据位置信息定位坐标位置信息确认根据货架信息调整机械臂臂实施取货操作配送车根据目标位置定位目标位置图1-2配送车取货的工作过程示意图发出取货指令配送车待命分析取货指令信息【问题1】(9分)假设图1-1中的智能设备采用8051微处理器,该微处理器的定时器主频为12MHz。该智能设备中的数据采集周期分别为10ms、15ms、1s,请给出:(1)设备中定时器应设置的最大计时单位;(2)8051定时器计数寄存器的初始值;(3)若8051采用外部时钟接入方式,请完成图1-3中的连接方式。【问题2】(6分)根据图1-2所示的配送车取货的工作过程示意图,得到图1-4所示的配送车取货软件流程图,请在图中的(n)处填入适当的内容。开始设备初始化接收配送中心指令(1)‘(2)‘(3)‘到达目标位置吗?调整机械臂结束其它操作是否从货架取货是否图1-4配送车取货的软件流程图8051XTAL2XTAL1OUT时钟源图1-38051外部时钟接入示意图逻辑地【问题3】(5分)按照你对8051微处理机的理解,填写表1-1中的(1)~(5)空格,完成表中给出的5种寻址方式的指令格式。表1-18051寻址方式寻址方式汇编指令直接寻址MOVA,(1)寄存器寻址MOVA,(2)寄存器间接寻址MOVA,(3)立即寻址MOVXA,(4)变址寻址MOVXA,(5)+PC注:MOV:将存储器的内容取到累加器中A:累加器Ri:通用寄存器PC:指令寄存器DPTR:间址寄存器试题二(共15分)阅读以下关于嵌入式软件测试的叙述,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某嵌入式软件主要用于控制飞机起落架。飞机起落架的可靠性直接关系着机载人员的人身安全。根据载机设备对软件可靠性要求,一般将软件分为3级:关键级软件,主要级软件和一般软件。由于该嵌入式软件被定义为关键软件,要求按关键级软件进行测试。【问题1】(5分)请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖的含义。【问题2】(7分)根据本题所示的软件关键级别,回答该软件需要做哪几项覆盖测试?要求的覆盖率指标是多少?如果是一般级软件,应做哪几项覆盖测试?【问题3】(3分)在软件单元测试中,主要测试对象是软件模块,如果被测程序中有多处调用了其它过程代码,测试中应如何处理这些功能的引用?软件的性能测试在测试工作的哪个阶段进行?试题三(共20分)阅读以下关于中断的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。【说明】某计算机中断系统有4级中断I1,I2,I3和I4,中断响应的优先次序为I1→I2→I3→I4,即先响应I1,再响应I2,……,最后响应I4。每级中断对应一个屏蔽码,屏蔽码中某位为“1”表示禁止中断(关中断),若为“0”则表示允许中断(开中断)。各级中断处理程序与屏蔽码的关系如表3-1所示。表3-1中断处理程序与屏蔽码的关系中断处理程序屏蔽码I1级I2级I3级I4级I1级1111I2级0111I3级0011I4级0001【问题1】(6分)若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(titj)时刻发出I3级中断申请,CPU为I3服务时,I1级发出请求,在CPU为I1服务时,I2级发出请求。请参照图3-1所示的格式,画出CPU的运行轨迹。中断源(高)CPU运行时间IiIj▼▼▲▲★▼中断请求▲中断处理完成★中断嵌套中断处理过程(长短不限)t正常程序图3-1CPU的运行轨迹示意图【问题2】(8分)若将中断优先次序设置为I1→I4→I3→I2,即先响应I1,再响应I4,……,最后响应I2。请重新设置各级的屏蔽码,填写表3-2。表3-2中断处理程序与屏蔽码的关系中断处理程序屏蔽码I1级I2级I3级I4级I1级I2级I3级I4级【问题3】(6分)设中断优先次序为I1→I4→I3→I2。若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(titj)时刻发出I3级中断申请,CPU为I3服务时,I1级发出请求,在CPU为I1服务时,I2级发出请求。请画出这种情况下CPU的运行轨迹。试题四(共20分)阅读以下说明和C语言代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】在实时系统中,许多控制软件需要将数据封装到一个数据结构中,以节省存储空间。对于位操作,使用汇编语言实现其访问比较容易,但会增加编程难度,因此现在普遍采用C语言实现。使用高级语言编程要特别注意结构的存储格式以及编译器的特性。本题所使用的编译器对变量按声明顺序分配地址。分析图4-1所示的C语言代码,回答以下问题。图4-1C语言程序代码1:typedefstruct2:{intA:16;//按16位字对齐;3:charB:8;4:charC:8;5:charD:8;6:charE:8;7:intF;//占16位并按16位字对齐;8:}radartype;9:typedefstruct10:{unsignedintX;//占16位并按16位字对齐;11:unsignedintY;12:unsignedintZ;13:unsignedintU;14:}datatranstype;15:radartypemyRadarData[2]=16:{{1,'a','b','c',0,512},{2,'x','y','z',0,1024}};17:18:voidmain(void)19:{radartype*p;20:datatranstype*q;21:p=myRadarData;22:q=(datatranstype*)p;23:q++;24:}【问题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应分配在哪个段中?1570myRadarData[0]0x50000x50020x50040x50061570myRadarData[1]0x500C0x500E0x50080x500A图4-2myRadarData数据存储格式