全国计算机技术与软件专业技术资格(水平)考试
2007年下半年 嵌入式系统设计师 下午试卷
(考试时间 14:00~16:30 共150分钟)
请按下述要求正确填写答题纸
1. 在答题纸的指定位置填写你所在的省、自治区、直辖市、计划单列市的名称。 2. 在答题纸的指定位置填写准考证号、出生年月日和姓名。 3. 答题纸上除填写上述内容外只能写解答。 4. 本试卷共4道题,全部是必答题,满分75分。 5. 解答时字迹务必清楚,字迹不清时,将不评分。 6. 仿照下面例题,将解答写在答题纸的对应栏内。 例题
2007年下半年全国计算机技术与软件专业技术资格(水平)考试日期是 (1) 月 (2) 日。
因为正确的解答是“11月3日”,故在答题纸的对应栏内写上“11”和“3”(参看下表)。
例题 (1) (2) 解答栏 11 3 试题一(共20分)
阅读下面有关某项目自动化配送中心处理机控制系统的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。 【说明】
某企业大型配送控制中心通常采用自动化方式存取仓库内的货物,配送控制中心对货物的存取由两部分组成:其一,配送控制中心管理和调度多台配送车;其二,配送车根据指令从仓库货架上存取货物。
图1-1为某企业大型仓库货物存取示意图。图中配送车上安装有智能控制设备,通过视频接口接收图像数据,实施对货架位置的定位识别,然后将识别信息发送到配送控制中心。配送控制中心向配送车发送控制命令,将配送车上的货物放置到指定的货架位置,或从指定的货架位置上取出货物,装载到该配送车。
摄像头 无线通信链路 配送中心
货架
机械臂 配送车 智能设备 图1-1 大型仓库货物存取示意图
图1-2所示为智能设备控制配送车从货架上取货的工作过程示意图。
图1-2 配送车取货的工作过程示意图
配送车待命 发出取货指令 配送中心指令 接收取货指令 坐标位置信息 分析取货指令信息 配送车根据位置信息定位 确认 目标位置 实施取货操作 配送车根据目标位置定位 根据货架信息调整机械臂 【问题1】(9分)
假设图1-1中的智能设备采用8051微处理器,该微处理器的定时器主频为12MHz。该智能设备中的数据采集周期分别为10ms、15ms、1s,请给出: (1)设备中定时器应设置的最大计时单位; (2)8051定时器计数寄存器的初始值;
(3)若8051采用外部时钟接入方式,请完成图1-3中的连接方式。
OUT 8051 XTAL2 XTAL1 时钟源 逻辑地 图1-3 8051外部时钟接入示意图
【问题2】(6分)
根据图1-2所示的配送车取货的工作过程示意图,得到图1-4所示的配送车取货软件流程图,请在图中的 (n) 处填入适当的内容。
开始设备初始化接收配送中心指令是否 (1) ‘ (2) ‘ 其它操作 (3) ‘ 否到达目标位置吗?是调整机械臂从货架取货结束 图1-4 配送车取货的软件流程图
【问题3】(5分)
按照你对8051微处理机的理解,填写表1-1中的(1)~(5)空格,完成表中给出的5种寻址方式的指令格式。
表1-1 8051寻址方式
寻址方式 直接寻址 寄存器寻址 寄存器间接寻址 立即寻址 变址寻址 汇编指令 MOV A, (1) MOV A, (2) MOV A, (3) MOVX A, (4) MOVX A, (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级 1 0 0 0 I2级 1 1 0 0 I3级 1 1 1 0 I4级 1 1 1 1
【问题1】(6分)
若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti 图3-1 CPU的运行轨迹示意图 【问题2】(8分) 若将中断优先次序设置为I1→I4→I3→I2,即先响应I1,再响应I4,……,最后响应I2。请重新设置各级的屏蔽码,填写表3-2。 表3-2 中断处理程序与屏蔽码的关系 中断处理程序 I1级 I2级 I3级 I4级 【问题3】(6分) 屏蔽码 I1级 I2级 I3级 I4级 设中断优先次序为I1→I4→I3→I2。若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti 阅读以下说明和C语言代码,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 在实时系统中,许多控制软件需要将数据封装到一个数据结构中,以节省存储空间。对于位操作,使用汇编语言实现其访问比较容易,但会增加编程难度,因此现在普遍采用C语言实现。使用高级语言编程要特别注意结构的存储格式以及编译器的特性。本题所使用的编译器对变量按声明顺序分配地址。分析图4-1所示的C语言代码,回答以下问题。 1: typedef struct 2: { int A : 16; //按16位字对齐; 3: char B : 8; 4: char C : 8; 5: char D : 8; 6: char E : 8; 16位字对齐; 7: int F; //占16位并按 8: }radartype; 9: typedef struct 10: { unsigned int X; //占16位并按16位字对齐; 11: unsigned int Y; 12: unsigned int Z; 13: unsigned int U; 14: } datatranstype; 15: radartype myRadarData[2]= 16: {{1, 'a', 'b', 'c', 0, 512}, {2, 'x', 'y', 'z', 0, 1024}}; 17: 18: void main(void) 19: { radartype *p; 20: datatranstype *q; 21: p = myRadarData; 22: q = (datatranstype *)p; 23: q++; : } 24 图4-1 C语言程序代码 【问题1】(8分) 如果处理机按16位以大端方式(big_endian)编址,请在图4-2所示的存储器图表中填入myRadarData数据的存储内容(十六进制表示)。 15 7 0 0x5000 0x5002 0x5004 0x5006 myRadarData[0] myRadarData[1] 15 7 0 0x5008 0x500A 0x500C 0x500E 图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应分配在哪个段中? 因篇幅问题不能全部显示,请点此查看更多更全内容