首页

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

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

阅读以下关于C语言及C代码的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中:
【C代码1】是李工为了在嵌入式平台上开发一段可变参数函数,在X86平台上实现的一个参数个数可变函数实例。
【C代码2】是王工在编写软件时,自己编写的内存拷贝函数。
【C代码3】是赵工编写的一段数据处理的程序,其中fim( )的含义为从已创建的一个单向链表中查找倒数第index个结点。他的设计思路为:首先创建两个指针ptr2,ptr2,并且都指向链表头,然后ptr1向前走index步,这样ptr1和ptr2之间就间隔index个结点,然后ptr1和ptr2同时向前步进,当ptrl到达最后一个结点时,ptr2就是倒数第index个结点了。ReverseList()为赵工编写的对已有单向链表进行逆序重排的函数。





【问题1】(3分)
执行C代码1后,Sum的值应为多少?请用十进制表示。
【问题2】(7分)
请问C代码2中static的作用是什么?const的作用是什么?王工自己编写的内存拷贝函数安全吗?如存在缺陷,请指出缺陷在哪里。
【问题3】(5分)
仔细阅读并分析C代码3,填补其中的空(1)~(5)。

阅读以下关于中断的叙述,回答问题1至问题4,将答案填入答题纸的对应栏内。
【说明】
在某嵌入式系统中,王工设计的计算机模块如图4-1所示。它要求CPU在执行完当前指令后转而对中断请求进行处理。假定:TDC为查询链中每个设备的延迟时间,Ta、Tb、Tc分别为设备A、B、C的中断服务程序所需的执行时间,TS和TR为保存现场和恢复现场所需的时间。


【问题1】(2分)
一般计算机系统根据对中断处理的策略不同,可分为单级中断系统和多级中断系统。本项目中王工设计的系统属于哪一类中断系统?请将设备A、设备B、设备C三个设备的中断优先级按照从高到低的次序排列。
【问题2】(5分)
本系统不允许中断嵌套,如果CPU响应中断,则中断处理过程按照如下流程执行,将(1)~(5)的内容填入答题纸上相应的位置。
中断处理过程流程:
a)CPU检查响应中断的条件是否满足;
b)如果CPU响应中断,则(1);
c)(2);
d)分析中断原因;
e)(3);
f)退出中断,(4);
g)(5),CPU继续执行。
【问题3】(4分)
当设备A、设备B、设备C同时发出中断请求时,请计算出处理器处理设备A、B、C的时间TA、TB和TC。如果处理三个设备所需要的总时间为T,那么本系统所设计的中断极限频率f是多少?
【问题4】(4分)
嵌入式系统中多用I/O设备管理软件来管理外设。I/O设备管理软件一般分为4层,层次关系和每一层的主要功能说明如图4-2所示。请给出4层软件的名称,将(1)~(4)的内容填入答题纸上相应的位置。


阅读以下关于嵌入式软件测试用例设计的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
某程序段的流程如图3-1所示,x、y是两个变量,K、J表示一段程序执行体,表3-1所示为本题可供选择的四组测试用例组。



【问题1】(3分)
简答以下问题。
(1)条件覆盖的含义是什么?
(2)路径覆盖的含义是什么?
【问题2】(2分)
在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,(  )是最强的覆盖准则。
请把以下4个选项中正确的选项序号填入上述空白处。
①语句覆盖
②条件覆盖
③判定覆盖(分支覆盖)
④路径覆盖
【问题3】(10分)
为了对图3-1所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是(1)和(2),实现条件覆盖至少应采用的测试用例组是(3);实现路径覆盖至少应采用的测试用例组是(4)和(5)。
请把以下8个选项中正确的选项序号填入上述空白处。
①测试用例组Ⅰ和Ⅱ
②测试用例组Ⅱ和Ⅲ
③测试用例组Ⅲ和Ⅳ
④测试用例组Ⅰ和Ⅳ
⑤测试用例组Ⅰ、Ⅱ和Ⅲ
⑥测试用例组Ⅱ、Ⅲ和Ⅳ
⑦测试用例组Ⅰ、Ⅲ和Ⅳ
⑧测试用例组Ⅰ、Ⅱ和Ⅳ

阅读以下关于某嵌入式处理器和8255的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
图2-1为使用某嵌入式处理器和8255对打印机进行控制的电路图,其中8255的中断请求PC3接到处理器的中断请求输入端元上,打印机的数据口接在8255的PA0~PA7上,打印机的输出电平接在8255的PC6上。

为了使用嵌入式处理器对打印机进行控制,在程序设计时,需要将8255的PA口设置为工作方式1;PB口设置在工作方式0,配置为输入;PC口的PC0、PC1、PC2、PC3和PC4定义为输出。
为了在打印机输出为低电平时通过8255的PC3产生有效的中断请求信号INTRA,必须使得A口的中断请求使能,实际上就是通过C口的按位复位操作将PC6置1,整个程序分为四部分:依次是8255的初始化,嵌入式处理器的中断初始化,嵌入式处理器的主程序和打印字符的中断处理程序。其中8255的端口配置功能如表2-1所示。嵌入式处理器的中断使能控制字含义如表2-2所示,该处理器的典型汇编指令如表2-3所示。




EA:全部中断,0=关中断,1 =开中断
ES:串口中断,0=关中断,1=开中断
ET1:定时器1中断,0=关中断,1=开中断
EX1:外部INT1中断,0=关中断,1=开中断
ET0:定时器0中断,0=关中断,1=开中断
EX0:外部INT0中断,0=关中断,1=开中断

【问题1】(6分)
根据图2-1所示,通过嵌入式处理器访问8255的PA口、PB口和PC口对应的地址分别是什么?(请用十六进制描述)
对应的地址:
PA口:(1)
PB口:(2)
PC口:(3)
【问题2】(4分)
在嵌入式处理器的汇编语言中,最简单的指令寻址方式为立即寻址和直接寻址,请回答下面两个汇编语言语句所描述的含义,将答案填写在答题纸的对应栏中。
MOV A,#3AH:(1)
MOV R4,3AH:(2)
【问题3】(5分)
以下汇编程序用于打印机输出控制,请将下面汇编程序的空(1)~(5)补充完整,并将解答填入答题纸的对应栏中。




阅读以下关于某嵌入式系统设计方案的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
某公司承接了开发周期为6个月的某机载嵌入式系统软件的研制任务。该机载嵌入式系统硬件由数据处理模块、大容量模块、信号处理模块、FC网络交换模块和电源模块组成,如图1-1所示。数据处理模块和大容量模块的处理器为PowerPC7447,数据处理模块主要对机载数据进行处理,完成数据融合;大容量模块主要存储系统数据,同时也有数据处理的能力:信号处理模块的处理器为专用的数字信号处理器DSP,完成雷达数据处理,并将处理后的数据发送给数据处理模块;FC网络交换模块为已开发的模块,本次不需要开发软件,主要负责系统的数据交换;电源模块主要负责给其他模块供电,电源模块上没有软件。
PowerPC7447和DSP是32位处理器,内存按字节编址。PowerPC7447以大端方式(big endian)存储数据,DSP以小端方式(little_endian)存储数据。


【问题1】(5分)
在数据处理模块1中,需要使用A/D变换器对外部电源模块的电压进行检测。当前数据处理模块中的A/D变换器为10位,当A/D变换器的输入模拟电压最大为5.115V时,A/D输出为3FFH。
通过配置A/D变换器的中断寄存器及比较寄存器(比较寄存器的值是用来和A/D转换结果进行比较),可以将A/D变换器配置为输入电压大于一定值时产生中断,也可以配置为输入电压小于一定值时产生中断,通过此种方式向系统报警。
请回答以下三个问题。
(1)此A/D变换器的量化间隔为多少mV?(量化间隔为A/D变换器最低有效位1位所代表的模拟电压值)
(2)如果规定下限阈值为4.092V,要使用中断检测这个电压,此时A/D变换器的比较寄存器应配置为多少?
(3)如果采用查询方式实现电源电压超限报警功能,程序如何判断A/D变换器完成了单次数据转换?
【问题2】(5分)
李工负责该系统软件的研发。在软件策划过程中,为了加快软件的开发,确保进度,李工将软件分解为若干软件配置项,每个软件配置项指定一人开发。每个配置项的开发过程包括:软件需求分析、软件概要设计、软件详细设计、软件编码、软件单元测试和部件级测试六个阶段。李工的做法符合软件工程的要求吗?为什么?
【问题3】(5分)
田工负责编写信号处理模块与数据处理模块的通信程序,约定好的数据组织方式如表1-1所示。


以下是信号处理模块端的一段程序:


以下是数据处理模块2端的一段程序:


请问以上程序是否存在问题?如果存在问题,请分析原因。

阅读以下关于嵌入式C语言编程方面的问题,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
嵌入式C语言编程中常涉及位运算、宏定义的问题,以及大端方式(Big-endian)、小端方式(Little-endian)的访问问题。

嵌入式系统中常要求用户对变量或寄存器进行位操作。下面的两个函数分别为设置和清除变量a的第5位。请使用下面的宏定义BIT5按要求对变量a进行相应的处理。在函数set_bit5中,用位或赋值操作(|=)设置变量a的第5位,在函数clear_bit5中,用位与赋值操作(&=)清除变量a的第5位。


【问题2】(5分)
图5-1所示代码的设计意图是计算1~100各数的平方。该段代码运行后,没有得到应有的结果,请说明出错原因,将答案填入答题纸的对应栏内。



图5-2是在不改变宏定义的情况下,对程序进行修改。请完成该段代码,将答案填入答题纸的对应栏内。


【问题3】(6分)
某嵌入式处理器工作在大端方式(Big-endian)下,其中unsigned int为32位,unsigned short为16位,unsigned char为8位。仔细阅读并分析下面的C语言代码,写出其打印输出的结果,将答案填入答题纸的对应栏内。


阅读以下关于汇编语言方面的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替机器码,用地址符号或标号代替地址码,直接同计算机的底层软件甚至硬件进行交互,具有代码优化、运行效率高等特点。本题针对的是x86平台下Microsoft公司的MASM 6.x汇编语言。

【问题1】(6分)
汇编语言中的数值表达式一般是指由运算符连接的各种常数所构成的表达式。汇编程序在汇编过程中计算表达式,由于在程序运行之前就已经计算出了表达式,所以运行速度没有变慢,而程序的可读性却增强了。表4-1列出了MASM常见的一些运算符及其含义,请将表4-1中①~⑥处运算符的含义写在答题纸的对应栏中。


【问题2】(5分)
运算符具有优先级。表4-2按照优先级从高到低排列常见的一些运算符,请从以下备选的运算符中按照优先级选择(1)~(5)处的运算符,将其写在答题纸的对应栏中。
备选的运算符:XOR MOD HIGH AND GT


【问题3】(4分)
BIOS软件开发接口由_批子程序组成,负责管理系统内的输入输出设备,直接为操作系统和应用程序提供底层设备驱动服务。常用的BIOS服务及功能见表4-3所示。


若调用视频服务功能(10H)中的光标设置子功能(02H),将视频页上的光标移到3行14列,用如下汇编语言实现,请补充完整下面程序中的(1)~(4)处,将答案填写在答题纸的对应栏中。
MOVAH,(1)H;十六进制表示
MOVDH,(2)H
MOVDL,(3)H
INT(4)H

下面是关于嵌入式软件测试方面的叙述,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司是一个有资质的专业嵌入式软件测评中心,承担了一项嵌入式软件的测试任务。按用户要求,需要对被测软件进行单元测试、部件(集成)测试和系统测试。

【问题1】(6分)
软件测试中的单元测试、部件(集成)测试和系统测试都有各自的测试目标。以下描述中属于单元测试的是(1),属于部件(集成)测试的是(2),属于系统测试的是(3),请把以下8个选项的序号分别填入上述空白处,且不能重复。将答案填写在答题纸对应的栏目中。
①测试对象为单个模块或者函数
②测试对象包括整个软件系统,以及软件所依赖的硬件、外设等
③测试对象为多个模块或多个单元
④整个测试必须在系统实际运行环境中进行
⑤主要测试模块内部逻辑结构的正确性
⑥测试各个模块间的调用接口
⑦包括测试部分全局数据结构及变量
⑧主要测试局部数据结构及变量
【问题2】(5分)
被测软件研制方提出,为节约成本,由软件开发人员对所开发的软件进行测试,测评中心仅仅进行测试结果确认,并按测评中心规定编写各种测试文档并出具证明。此提议遭到测评中心的反对。软件研制方认为:
(1)自己编写的程序,结构熟悉,需求清楚,易发现问题;
(2)自己测试后,又经过第三方的确认,是可行的;
(3)知识产权可受保护。
测评中心反驳:
(1)程序不能由编写者自己测试,就像不能既当运动员又当裁判员一样;
(2)自己测试,有弄虚作假的嫌疑;
(3)软件测试不能丧失独立性,仅由测评中心确认,损害测评中心声誉,不行。
针对上述情况,应该由(1)进行测试。软件研制方的3条理由正确的有(2)条,错误的有(3)条;测评中心所说的正确的有(4)条,错误的有(5)条。
【问题3】(4分)
判断以下关于软件测试叙述的正确性,回答“错”或“对”,并将其填入答题纸的对应栏内。
(1)判定/条件覆盖使每个分支至少被执行一次,且判定中的每个条件都获得所有可能的逻辑值。
(2)在没有需求文档的条件下能够进行黑盒测试。
(3)在进行压力测试的同时可以进行单元测试。
(4)软件测试中设计的测试实例(test case)主要由输入数据和预期输出结果两部分组成。

阅读以下关于AD574(12位的A/D转换器)的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
AD574可以通过简单的三态门、锁存器接口与微机系统的系统总线相连接,也可以通过可编程接口(如8255)与系统总线相连接。由表2-1可知,AD574可以工作在8位,也可以工作在12位。图2-1为以8255为接口芯片,将工作于12位下的AD574接到8位ISA系统总线上。



【问题1】(3分)
在图2-1中,通过8255的口地址选择信号线进行PA口、PB口、PC口的控制。回答下列问题,将答案填写在答题纸对应的栏目中。


【问题2】(4分)
简要回答下列关于74LS138器件的功能以及作用的问题,将答案填写在答题纸对应的栏目中。
(1)74LS138器件在图2-1中的功能是(1);
(2)在图2-1中,通过A2~A15来控制74LS138的输出端,要使得74LS138输出;有效,A2、A3、A4必须为(2)电平,A5,A6必须为(3)电平。

【问题3】(8分)
图2-1中的连接可以简化,将AD574的CE和管脚接为高电平,而使,接地。此时只需要用R/C来启动AD574的变换,然后通过查询STS状态来判断变换是否完成(AD574的STS管脚由高变低表明AD574变换完成)。对应的采集变换程序如下,最终结果是将变换好的数据放在BX中。请补全下面程序中的空(1)~(4),将答案填写在答题纸对应的栏目中。


阅读以下关于某嵌入式系统设计方案的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
通常计算机按其体系结构分为冯•诺依曼(VonNeumann)结构和哈佛(Harvard)结构。冯•诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构,哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。复杂系统的不同处理器可采用不同类型体系结构。
某嵌入式系统由数据处理模块、信号处理模块和光纤网络交换模块组成,如图1-1所示。其中数据处理模块的主处理器选用PPC7447,内部集成了二级Cache,并有SDAM存储器、FLASH、NvRAM、实时时钟、FC(Fabric Channel)通信接口、以太网接口和RS232接口;信号处理模块采用DSP TMS320C6000,并有FC通信接口、RS232接口,用于SPM与外部数据通信;光纤网络交换模块提供FC协议交换能力,主要由控制单元和交换单元两部分组成。
本嵌入式系统的数据处理模块主要接收外部命令、控制系统运行、与系统其他模块通信;信号处理模块主要进行图形图像处理,需要较大的运算量和较高的运算速度。


【问题1】(6分)
回答下列问题,将答案填写在答题纸对应的栏目中。
本嵌入式系统的数据处理模块采用(1)体系结构,信号处理模块采用(2)体系结构。在设计中断时,中断触发方式一般分为沿中断和电平中断。沿中断利用(3)或(4)作为中断触发信号,电平中断利用(5)或(6)作为中断触发信号。
【问题2】(5分)
在设计数据处理模块DPM时,假设某桥芯片内部集成一路递增定时器,定时器位宽为32位,最高位为控制使能位,输入时钟为25MHz。请回答下面三个问题,将答案填写在答题纸对应的栏目中(给出表达式即可)。
(1)该定时器最长定时时间是多少(单位ns)?
(2)设置10ms定时时间,则定时器的初值为多少?
(3)若改为一路递减定时器,设置10ms定时时间,则定时器的初值为多少?
【问题3】(4分)
嵌入式系统底层FC通信驱动对大数据采用DMA数据传输。图1-2是未完成的DMA数据传输工作流程图,请从下面①~⑧中选择正确的答案,完成该图,将答案填写在答题纸的对应栏中。


备选答案:
①字计数器计数
②DMA发送中断
③DMA响应
④DMA接收4个字节
⑤发送内存地址
⑥再次修改内存地址
⑦传送结束
⑧继续传送

上一页

第 3 页

下一页