当前位置:首页计算机类软件水平考试中级嵌入式系统设计师->某水电站根据安全监控需要决定采用嵌入式工控微机进行实时多任务

某水电站根据安全监控需要决定采用嵌入式工控微机进行实时多任务安全监测。该系统有32路模拟量输入、96路开关量、16路脉冲量输入和水位落差量输入,产生显示信息、报警信号、监测报表和水位传感器控制信号等输出。该水电站安全监测系统具有以下几个特点:对各种模拟量、开关量、脉冲量、水位落差量等数据量监测,事实上只是周期性地重复执行相应各个任务模块。

监视对象比较固定,系统硬件规模相对固定不变。尽可能允许把所有软件都固化在EPROM中。人机交互作用内容固定,即由操作人员通过键盘去调用此系统中所存入相应应用程序,不会去修改应用程序。基于以上安全监测系统特点,该水电站技术研发部门准备选用现有工业控制机系统及现成各种模板等硬件,由本部门开发人员自行开发软件。

所开发软件主要包括:应用程序,即按各类输入/输出量采集、处理、显示、报警和制表等功能分别作为若干任务块,由这些任务组成应用程序。多任务嵌入式实时操作系统,用来协调各任务资源分配与管理,管理任务之间联系与多任务操作。

[问题1]根据以上安全监测系统特点,技术研发人员郭工程师提出了一个自行编制简化“多任务嵌入式实时操作系统”方案,以适应于协调管理硬件资源和监测对象实际需求,其中只保留了标准多任务实时操作系统核心功能,例如CPU管理、中断管理和外设管理等。请在200字以内简要说明郭工程师提出简化“多任务嵌入式实时操作系统”可能具有哪些优点。

[问题2]设计简化多任务嵌入式实时操作系统时,由于多个任务均可能要求占用CPU这个关键资源,因此CPU任务管理是一个非常重要设计内容。在该嵌入式实时操作系统中,作为占用资源基本单位,任务总共有五个状态,分别是休眠状态、就绪状态、运行状态、等待状态和延时等待状态。在任何时候,一个任务只会处于其中某一个状态。请根据图6-8中已给出信息将(1)~(5)空缺处填写完整。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

[问题3]在该水电站安全监测系统中,数据采集任务(Collect_task)把所采集数据送入一单缓冲区,计算任务(Calculate_task)从该单缓冲区中取出数据进行计算。以下是利用信号量机制实现两个任务共享单缓冲区C语言形式化描述程序。请将程序代码中(6)~(9)空缺处以及(10)空缺处内容填写完整。int sr=0'int (6) :main(){cobeginCollect_task();Calculate_task();coend}Collect_task(){ While(采集工作未完成){ 采集一个数据, P(se), 将数据送入缓冲区中: (7) ,}}Calculate_task(){While(计算工作未完成){(8) ,从缓冲区中取出数据:(9)进行数据计算送入缓冲区中,}}如果以上程序中“int sf=0;”语句不小心被改写成“ints{=-1;”,那么系统运行时将会进入(10)状态。

答案:
本题解析:

问题1:①可加快该操作系统开发周期,并使其更易于维护,②减少操作系统占有内存容量,便于固化,③减少操作系统运行开销(例如CPU占用时间),④可提高系统实时性能和快速响应能力;⑤可提高系统资源利用率和性价比等

这是一道要求读者根据实际应用环境分析多任务嵌入式实时操作系统特点综合理解题。

本题解答思路如下:(1)嵌入式实时系统(RTOS)是指能够在指定时间内完成系统功能和对内部或外部、同步或异步时间做出响应系统,它还具有在事先定义时间范围内识别和处理离散事件能力,系统能够处理和存储控制系统所需要大量数据。实时操作系统主要功能是多任务、可抢占任务调度、中断管理、存储管理、时钟管理、外部设备管理以及文件系统等。

(2)由试题中关键信息“只保留了标准多任务实时操作系统核心功能,例如CPU管理、中断管理和外设管理等”可直接理解简化多任务嵌入式实时操作系统中“简化”一词涵义。“简化”可加快该操作系统开发周期,并使其更易于维护。

(3)由题干关键信息“对各种模拟量、开关量、脉冲量、水位落差量等数据量监测,事实上只是周期性地重复执行相应各个任务模块”可知,系统中有着相对较多简单输入量,另外由于“监视对象比较固定,系统硬件规模相对固定不变”,因此,采用简化多任务实时操作系统是可行。

(4)采用简化实时操作系统比标准多用户实时操作系统(MROS)所需占用主存空间容量小,更符合题干中“尽可能允许把所有软件都固化在EPROM中”要求。

(5)另外,采用简化实时操作系统具有可提高系统实时性能和快速响应能力,可减少操作系统运行开销(例如CPU可更快运行任务,更快响应中断),提高系统资源利用率和性价比等。

问题2:(1)等待状态(2)就绪状态(3)休眠状态(4)延时等待(5)运行状态

这是一道要求读者根据实际应用环境分析嵌入式实时操作系统任务状态转换综合理解题。

本题分析思路如下:①任务是相应任务块程序关于某数据集合可并发一次运行活动,即任务通常作为占有资源最基本单位。在本案例实时操作系统中,任务总共有五个状态,分别是休眠状态、就绪状态、运行状态、等待状态和延时等待状态。而且试题中已给定“在任何时候,一个任务只会处于其中某一个状态”。

②其中,休眠状态指任务还没有初始化,或任务执行已经结束,实际上对操作系统来说,该任务是不存在。就绪状态是指任务已经具备了运行条件,但是由于CPU正忙,正在运行其他任务,因此暂时不能运行状态。

③运行状态表示此任务正在占有CPU,并在CPU上运行。处于就绪状态任务只要把CPU控制权分配给它(任务调度),它就能够立刻执行。等待状态是指任务因为正在等待某种事件发生而暂时不能运行。例如,它正在等待某个I/O操作完成,或者它同某个任务之间存在着同步关系,正在等待该任务给它发信号。此时,即使CPU已经空闲了下来,它也还是不能运行。处于等待状态任务可以被某些系统调用或事件激发而转到就绪状态。当一个任务运行过程中需要等待某个事件或更高优先级任务占用CPU时,将由运行状态转移到等待状态。

由此可判断(1)空缺处填写内容是“等待状态”,(2)空缺处填写内容是“就绪状态”,(5)空缺处填写内容是“运行状态”。

④处于运行状态任务如暂时不需要占用CPU资源,则可直接进入休眠状态;而当操作系统唤醒某一处于休眠状态任务时,该任务将进入就绪状态,因此(3)空缺处可填入“休眠状态”等内容。

⑤由图6-8中“延时时间到”以及(2)空缺处填写内容是“就绪状态”、(5)空缺处填写内容是“运行状态”可推理出,(4)空缺处可填人“延时等待”这一状态。

⑥图6-14给出了一个完整简化实时操作系统任务状态转换图。

问题3:se=1(7)V(sf)(8)P(sf)(9)V(se)(10)死锁

这是一道要求读者掌握信号量操作机制程序分析题。

本题解答思路如下:①在本试题中,数据采集任务(Collect_task)和计算任务(Calculate_task)共用一个单缓冲区。数据采集任务(Collect_task)采集到一个数据后,只有当缓冲区为空时,才能将数据送入该单缓冲区存放,否则应等待单缓冲区腾空。当单缓冲区中有数据时,计算任务 (Calculate task)才能从缓冲区中取出数据进行计算,否则也应等待。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

②本试题信号量操作机制实质是一个典型生产者——消费者操作问题,即需要使用两个任务间同步算法解决问题。

③本试题中应设置两个信号量,其中一个信号量来表示缓冲区中是否有可供计算数据,其初值为0。程序代码中“int sf=0;”语句正是对该信号量定义。

④实现两个任务间同步算法时,还需定义另一个信号量来表示单缓冲区中有无空位置存放新数据,其初值为1。数据采集任务(Collect_task)程序代码中已给出“P(se),”语句,间接说明另一个信号量标识是“se”。因此(6)空缺处所填写内容是“se=1”。

⑤当数据采集任务(Collect_task)将数据送入单缓冲区中时,应使用“V(sf),”语句唤醒原处于等待状态计算任务(Calculate_task)。因此(7)空缺处所填写内容是“V(sf);”语句。

⑥由于计算任务(Calculate_task)需要等待单缓冲区中有数据时,才能从缓冲区中取出数据进行计算,也就是说,单缓冲区中没有数据时,计算任务(Calculate_task)应处于等待状态。因此(8)空缺处实现此功能语句语句是“P(sf);”。

⑦当计算任务(Calculate_task)从缓冲区中取出数据时,单缓冲区空间被腾空,此时允许将新数据存人该单缓冲区,即单缓冲区使用权限将交付给数据采集任务(Collect _task因此(9)空缺处需填入语句“V(se);”实现此功能。

⑧当信号量sf初始值为-1时,假设计算任务(Calculate_task)先被调度执行,它执行P(sf)操作时,使sf值变为-2,计算任务(Calculate_task)进入阻塞状态。假设此时发生了一次时钟中断,数据采集任务(Collect_task)被调度执行,它顺利通过了P(se)操作,并使se值变为o,接着在执行V(sf)操作,并使sf值变为-1,假设满足“While(采集工作未完成)”判断条件,P(se)操作将再次执行,并使se值变为-1,数据采集任务 (Collect_task)也进入阻塞状态。这样一来,两个任务都在等待对方释放信号量,就成为了一种死锁状态。

更新时间:2022-07-29 17:20
纠错

你可能感兴趣的试题

问答题

在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:

[程序1]:实现两个变量值互换;

[程序2]:完成某功能C语言程序;

[程序3]和[程序4]:是P、V操作形式化定义,设S为信号量。在多道程序系统中,进程是并发执行。这些进程间存在着不同相互制约关系,主要表现为同步和互斥两个方面。信号量是解决进程间同步与互斥有效方法。[程序1]void swap (int n1, int n2){int tmp=n1;n1=n2;n2=tmp;}[程序2]#include image.pngstdio.h>int fun (int n){int f0=0, f1=1, f, i;if (n==0) return 0;if (n==1) return 1;for(i=2; iimage.png=n; i++){f=f0+f1;f0=f1;f1=f;}return f;}void main(){int n=5;printf ("fun(%d)=%d\n", n, fun(n));n=7;printf ("fun(%d)=%d\n", n, fun(n));n=9;printf ("fun(%d)=%d\n", n, fun(n));}[程序3]P操作形式化定义:P (S){__1____;if(__2____){阻塞该进程;将该进程插入信号量S等待队列;}}[程序4]V操作形式化定义:V(S){__3____;if(___4___){从信号量S等待队列中取出队首进程;将其插入就绪队列;}}

问题1:执行[程序1]后,没有能够实现两个变量值交换,为什么?请修改上述函数,实现两个变量值交换,要求函数无返回值,形式为:void swap(...)。

问题2:请问[程序2]运行结果是什么?

问题3:请简述什么是临界资源?什么是临界区? 请完成[程序3]和[程序4]形式化定义。

查看答案
问答题

某直升机显示控制计算机是其座舱显控系统核心部件,将来自飞行员参数和控制命令与载机飞行参数信息进行融合处理后,在显示器上显示。该显示控制计算机由一个显示控制单元和一个输入输出单元组成,它们之间通过双口RAM进行数据交换,如图4-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

显示控制单元采用Freescale公司PowerPC8270高性能、低功耗32位处理器,并设计有系统FLASH存储器、用户FLASH存储器、SDRAM存储器。CPU内部宾成存储器控制器,提供地址译码、数据处理周期访问时序、SDRAM时钟等功能。输入输出单元采用Ti公司DSP F2812高性能、低功耗16位处理器,采用ARINC429总线用于接收导航计算机、大气数据计算机等外部设备数据。

ARINC429解算程序严格遵循ARINC429规范,其通用字格式如表4-1所示,字长32Bit,不用数据位填“0”。当接收到ARINC429数据后,首先判断状态位,只有在状态和标号正确情况下,才进一步根据分辨率等进行解算数据含义

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题1、系统FLASH存储器存储容量是8MB,用于存储CPU模块引导程序、BIT测试程序,FLASH在板编程程序,网口操作系统,用户程序。

系统FLASH地址分配在存储空间高端,地址空间为(1)~OxFFFFFFFF。用户FLASH存储器存储容量是为(2),用于记录数据存储。FLASH地址分配在存储空间高端,地址空间为0x78000000?0x7BFFFFFF。SDRAM存储容量是256MB,用于运行操作系统和应用软件,地址空间位于存储器低端0x00000000~3)。

请完成(1)~(3)填空。

问题2、根据ARINC429数据标号(D8-D1)可知该数据为高度表数据。根据系统定义,高度表数据分辨率为0.1米,即D9为1表示0.1米,D10为1表示0.2米,D11为1表示0.4米,依此类推。若接收数据帧中D28-D9位是0000.0000.0111.1101.0000,则当前高度是(1)米。若当前高度是100米,则数据帧中D28-D9位应为(2)。请完成(1)和(2)填空。

问题3、显示控制单元和输入输出单元通过双口jiao换信息,两个处理器上软件采用相同定义结构体来定义双口单元,方便交换信息。

以下是双口结构体定义:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/为了避免由于不同编译环境对上述数据结构产生不同编译结果,建议对上述数据结构通过设置紧缩属性(packed属性),强迫编译器采用字节对齐方式,在该模式下,SPM_CHAN_RX429结构体占用(1)字节存储空间。ARINC429接收通道设计为由一个首尾相连FIFO数组形成环形队列。

输入输出单元根据头指针向环形队列写入数据,头指针始终指向下一个要写入位置,并且限制写入数据最多为31个,即队尾与队首之间至少保留一个元素空间。

显示控制单元根据尾指针从环形队列读取数据,尾指针始终指向下一个要读取位置。初始化环形队列C语言为:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/SPM_CHAN_RX429 *pBuf;pBuf= (SPM_CHAN_RX429 *) ADDR_3RAM_PPC; /*双口地址宏定义*/ pBuf->ctrlWord=0;pBuf->head=O; pBuf->tail=O;判断队列为空C语言为(2)。判断队列为满C语言为(3)。;请完成(1)~(3)填空。

查看答案
问答题

某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集可靠性,对采集数值使用三余度采集方法进行三个通道数据采集。

1.三余度数据采集及处理要求:(1)如果某通道采集值在[-3.0,3.0]v正常范围内,且与任一相邻通道间差值不大于0.5v,则该通道数据满足要求;(2)如果某通道釆集值超过[-3.0,3.0]v正常范围,或者此通道采集值与其他两个通道差值均大无0.5v,则该通道数据不满足要求;(3)如果三通道值均满足要求,则取三通道中差值较小两通道数据平均值;(4)如果三通道值均满足要求,且相邻两数值差值相等,则取三个采集值中间值;(5)如果仅有一个通道数据不满足釆集要求,取满足要求两个通道数据平均值;(6)如果大于一个通道数据不满足采集要求,取安全值0v。

2.对计算输出控制率具体处理算法如下:

(1)如果依据采集数据计算控制率C1与目前实际控制率C0差值不大于0.01,则使用本周期计算控制率C1进行输出控制,否则使用目前实际控制率C0输出控制,连续超过范围计数加1,不上报传感器故障;

(2)如果连续3个周期计算控制率C1与目前实际控制率C0差值大于0.01,则上报传感器三级故障,连续超过范围计数清零,使用目前实际控制率C0输出控制;如果已经连续3个周期控制率差值超过范围,并已上报三级故障,但第4个周期计算控制率C1与目前实际控制率C0差值不大于0.01,则清除三级故障上报,并使用C1进行输出控制;

(3)如果累计大于等于10个周期计算控制率C1与目前实际控制率C0差值大于0.01,则上报传感器二级故障,使用目前实际控制率C0输出控制;

(4)如果累计大于等于100个周期计算控制率C1与目前实际控制率C0差值大于0.01,则上报传感器一级故障,清除二级故障,并切断输出控制(输出安全值0);

(5)如果低级故障和高级故障同时发生,则按高级故障上报和处理。

问题1、为了测试采集算法,在不考虑测量误差情况下,根据所设计测试用例输入填写表3-1中(1)?(6)空,预期输出结果精度为小数点后保留两位数字。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题2、白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用方法。请简述白盒测试方法与黑盒测试方法概念。同时依据本题说明,指明问题1中设计测试用例使用了白盒测试方法还是黑盒测试方法。

问题3、为了测试控制率计算算法,在不考虑测量误差情况下,请完善所设计测试用例,填写表3-2中空(1)?(6)。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

在某嵌入式系统设计中,使用8片RAM进行64KRAM外部存储器扩展,如图所示。该CPU有16根地址线,8根数据线,在设计中,利用CPU作为访问控制信号,该访问控制信号低电平有效。另外,R/W作为读写命令信号(高电平为读,低电平为写)。8片8Kx8位RAM芯片与CPU相连,RAM芯片片选内部为上拉电阻到电源,各个RAM芯片片选信号和74138译码器输出相连,译码器地址选择端连接到CPUA13,A14,A15地址线上。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题1:根据上图所示,写出RAM0,RAM1和RAM7地址范围(请用16进制进行表示)。RAM0: (1)RAM1: (2)RAM7: (3)若CPU操作地址总线为A800H,结合上图所示示意图,CPU访问是哪个RAM存储器 ?(4) ?。

问题2:如果运行时发现不论往哪片RAM写入数据后,以C000H为起始地址存储芯片都有与其相同数据,假设芯片与译码器可靠工作,则说明:

(1)RAM0~RAM7中______片选输入端总是处于低电平。

(2)如果有问题存储芯片片选输入端总是处于低电平,以下可能原因中描述不正确是______。A.该存储芯片CS端与存储芯片端错连或短路B.该存储芯片CS端与CPU端错连或短路C.该存储芯片CS端与地线错连或短路D.该存储芯片CS端悬空

问题3:根据连接图,若出现地址线A15与CPU断线,并搭接到高电平上,下面描述中正确是______。(该题为多选题)A.此时存储器只能寻址A15=1地址空间B.此时存储器只能寻址总共64KB空间高32KB地址空间C.此时访问64KB空间高32KB地址空间时会错误地访问到低32KB地址空间D.此时访问64KB空间低32KB地址空间时会错误地访问到高32KB地址空间

查看答案
问答题

阅读以下关于电梯模拟控制系统设计方案说明,回答下列问题。

[说明]王工在实验室负责自动电梯模拟控制系统设计,自动电梯模拟控制系统需要完成电梯运行控制算法、输入界面和输出界面三项主要任务。系统结构图如图1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

根据电梯运行流程,把电梯划分为停止状态、运行状态、开门状态和关门状态4种控制状态。停止状态是指电梯在没有任何请求情况下静止状态,而不是指电梯在运行过程中开门前停顿状况,本题忽略停顿状况,把电梯从运行状态直接迁移为开门状态。电梯根据控制状态迁移规则进行状态迁移,系统初始时,电梯处于停止状态。

问题1:电梯根据控制状态迁移规则进行迁移,其状态迁移图如图2所示。请根据下面状态转移条件,完成状态迁移图。可供选择状态转移条件:a.其他楼层有呼叫请求;b.无呼叫请求;c.乘客进入电梯或等待一段时间后;d.到达请求楼层;e.电梯所在楼层有呼叫请求。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题2:电梯运行处理程序流程图如图3所示。请完成该流程图。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题3:系统采用多级优先级中断结构,如图4所示。它要求CPU在执行完当前指令时转而对中断请求进行服务。设备A连接于最高优先级,设备B次之,设备C又次之。IRQx为中断请求信号,INTx为CPU发出中断响应信号

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

现假设:TDC为硬件中断周期时间;TM为一个指令执行周期时间;TA、TB、TC分别为A、B、C中断服务程序执行时间;TS、TR为保护现场和恢复现场所需时间。图5是中断处理过程示意图。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

当三个设备同时发出中断请求时,依次处理设备A、B、C时间是多少?这种结构下中断饱和时间是多少?

查看答案
问答题

企业根据利润提成发放奖金。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元部分按10%提成,高于10万元部分,可提成15%;利润在20万到40万之间时,高于20万元部分,可提成20%;40万到60万之间时高于40万元部分,可提成25%;60万到100万之间时,高于60万元部分,可提成30%;高于100万元时,高于100万元部分可提成35%o已知企业本年度12个月月利润存储在数组profit中,程序要求根据月利润计算月奖金并存储到数组bonus中,然后计算并返回该企业年度总利润total_profito该程序实现如下:

【程序】int calculate_bonus(const int profit[ ], int bonus[ ]){int n=12;int i=0;int sum_profit=0;int bonus1,bonus2,bonus4,bonus6,bonuslO;bonus1=100000*0.1;bonus2=bonus1+100000*0.15;bonus4=bonus2+200000*0.2;bonus6=bonus4+200000*0.25; bonusl0=bonus6+400000*0.3;for (i=0;iimage.pngn; i++){if (profit[i]image.png=100000)(1);else if(profit[i]image.png=200000)(2);else if(profit[i]image.png=400000)(3);else if(profit[i]image.png=600000)(4);else if(profit[i]image.png=1000000)(5) ;else(6) ;}/*以下代码计算年度总利润*/i=0;while(iimage.pngn)sum_profit += profit[++i];return sum_profit;}

问题:1 在程序中,使用关键字const修饰输入参数profit,请将这样修饰作用写到(1)处。如果程序中bonus数组也使用const修饰,是否正确,并给出解释,请将答案写到(2)处。

问题:2 分析程序中计算年度总利润代码,指出错误一行代码,将错误代码写到(1)处;然后用一条语句实现正确代码,将正确代码写到(2)处。

问题:3 根据题意分析程序,完成程序中(1)~(6),每个空行只能写一行代码,即用一条语句来描述。

查看答案
问答题

某直升机显示控制计算机是其座舱显控系统核心部件,将来自飞行员参数和控制命令与载机飞行参数信息进行融合处理后,在显示器上显示。该显示控制计算机由一个显示控制单元和一个输入输出单元组成,它们之间通过双口RAM进行数据交换,如图4-1所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

显示控制单元采用Freescale公司PowerPC8270高性能、低功耗32位处理器,并设计有系统FLASH存储器、用户FLASH存储器、SDRAM存储器。CPU内部宾成存储器控制器,提供地址译码、数据处理周期访问时序、SDRAM时钟等功能。输入输出单元采用Ti公司DSP F2812高性能、低功耗16位处理器,采用AF.INC429总线用于接收导航计算机、大气数据计算机等外部设备数据。

ARINC429解算程序严格遵循ARINC429规范,其通用字格式如表4-1所示,字长32Bit,不用数据位填“0”。当接收到ARINC429数据后,首先判断状态位,只有在状态和标号正确情况下,才进一步根据分辨率等进行解算数据含义。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:1 系统FLASH存储器存储容量是8MB,用于存储CPU模块引导程序、BIT测试程序,FLASH在板编程程序,网口操作系统,用户程序。系统FLASH地址分配在存储空间高端,地址空间为(1)~OxFFFFFFFF。用户FLASH存储器存储容量是为(2),用于记录数据存储。FLASH地址分配在存储空间高端,地址空间为0x78000000?0x7BFFFFFF。SDRAM存储容量是256MB,用于运行操作系统和应用软件,地址空间位于存储器低端0x00000000~3)。请完成(1)~(3)填空。

问题:2 根据ARINC429数据标号(D8-D1)可知该数据为高度表数据。根据系统定义,高度表数据分辨率为0.1米,即D9为1表示0.1米,D10为1表示0.2米,D11为1表示0.4米,依此类推。若接收数据帧中D28-D9位是0000.0000.0111.1101.0000,则当前高度是(1)米。若当前高度是100米,则数据帧中D28-D9位应为(2)。请完成(1)和(2)填空。

问题:3 显示控制单元和输入输出单元通过双口交换信息,两个处理器上软件采用相同定义结构体来定义双口单元,方便交换信息。以下是双口结构体定义:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/为了避免由于不同编译环境对上述数据结构产生不同编译结果,建议对上述数据结构通过设置紧缩属性(packed属性),强迫编译器采用字节对齐方式,在该模式下,SPM_CHAN_RX429结构体占用(1)字节存储空间。ARINC429接收通道设计为由一个首尾相连FIFO数组形成环形队列。输入输出单元根据头指针向环形队列写入数据,头指针始终指向下一个要写入位置,并且限制写入数据最多为31个,即队尾与队首之间至少保留一个元素空间。显示控制单元根据尾指针从环形队列读取数据,尾指针始终指向下一个要读取位置。初始化环形队列C语言为:typedef struct{char ctrlWord; /*通道工作方式控制字*/char head; /*F1FO 控制头指针*/char tail; /*FIFO 控制尾指针*/short fifo[32] ; /*FIFO 缓冲区*/}SPM_CHAN_RX429; /*ARINC429 接收通道定义*/SPM_CHAN_RX429 *pBuf;pBuf= (SPM_CHAN_RX429 *) ADDR_3RAM_PPC; /*双口地址宏定义*/ pBuf->ctrlWord=0;pBuf->head=O; pBuf->tail=O;判断队列为空C语言为(2)。判断队列为满C语言为(3)。;请完成(1)~(3)填空。

查看答案
问答题

某飞行器供油阀控制软件通过控制左右两边油箱BL、BR向左右发动机EL、ER供油,既要保证飞行器正常飞行,又要保证飞行器平衡,该软件主要完成功能如下:

(1)无故障情况下,控制左油箱Bl向左发动机BL供油,右油箱EL向右发动机BR供油,不上报故障;

(2)当左油箱BL故障时,控制右油箱BR分别向左、右发动机EL和ER供汩,并上报二级故障——左油箱故障;

(3)当右油箱BR故障时,控制左油箱BL分别向左、右发动机EL和ER供汩,并上报二级故障——右油箱故障;

(4)当左发动机EL故障时,根据左右油箱剩油量决定(如果左右油箱剩油量之差大于等于50升,则使用剩油量多油箱供油,否则同侧优先供油)左油箱BL还是右油箱BR向右发动机Er供油,并上报一级故障——左发动机故障;

(5)当右发动机ER故障时,根据左右油箱剩油量决定(如果左右油箱剩油量之差大于等于50升,则使用剩油量多油箱供油,否则同侧优先供油)左油箱BL.还是右油箱BR向左发动机El供油,并上报一级故障——右发动机故障;

(6)当一个油箱和一个发动机同时故障时,则无故障油箱为无故障发动机供油,并上报一级故障——故障油箱和发动机所处位置;

(7)当两个油箱或两个发动机同时故障或存在更多故障时,则应进行双发断油控制,并上报特级故障——两侧油箱或两侧发动机故障;

(8)故障级别从低到高依次为二级故障、一级故障和特级故障,如果低级故障和高级故障同时发生,则只上报最高级别故障。

问题:1 在嵌入式软件测试中,一般采用测试方法有白盒测试、黑盒测试和灰盒测试方法,白盒测试方法中需要基于(1)进行测试;根据本题给定条件,最恰当测试方法应选择(2)。

问题:2 覆盖率是度量测试完整性一个手段,也是度量测试有效性一个手段。在嵌入式软件白盒测试过程中,通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。在实现第6条功能时,设计人员对部分功能采用了下列算法:if((BL==故障)&&(EL==故障)){BR供油ER;BL断油;EL断油;}请指出对上述算法达到100%语句覆盖、100%分支(DC)覆盖和100%MC/DC覆盖所需最少测试用例数目。请完成表3-1中(1)?(3)填空。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:3 为了测试此软件功能,测试人员设计了表3-2所示测试用例,请填写该表中空(1)?(9),并将答案填写在对应栏中。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

某公司承接了一个数据处理模块项目,由沈工负责模块方案设计,沈工设计方案如图4-1所示。该数据处理模块以PowerPC处理器为核心,设计了存储器、以太网、温度传感器、调试接口等功能电路。处理器外接FLASH存储器用于存储上电初始化程序和应用程序。

处理器通过I2C接口连接测温电路,监控模块工作温度。以太网、串口、调试离散量等用于软件调试和状态显示。测温电路选用ADT7461AR芯片,用于测试模块温度。ADT7461AR是一个双通道数字温度计,工作电压3v至5v,具有低/超温报警功能,采用I2C接口实现主机对远程/本地温度数据采集f采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

存储模块采用某公司FLASH存储芯片。

支持编程、擦除、复位等操作命令。该FLASH芯片常用命令序列如表4-1所示。表中地址和数据皆为16进制数。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.1 ADT7461AR芯片支持两种测温模式,其中第0种模式为二进制模式,用0表示0度,测温范围为0℃?+127℃;第二种模式为偏移二进制模式,用64表示0度,测温范围为-55℃?+150℃,温度数据转换关系如表4-2所示。请在(1)?(4)处写出对应温度二进制数。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.2 沈工用C语言实现对FLASH操作,需按照表4-1中定义命令序列顺序执行即可。仔细阅读下列代码,请在(1)?(4)处将对应C语言代码补全。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:4.3 该嵌入式系统对处理性能要求较高,沈工在完成软件设计后,需要对每一个函数执行性能进行测试,检测其是否满足系统设计要求。沈工通过PowerPC处理器内部高精度时钟寄存器(TimeBase)进行计时,该寄存器由高低两个32位寄存器组成,根据总线频率自动递增,当低32位寄存器递增到0xFFFFFFFF时,向高32位寄存器进位。计数值可以换算成时间值,精确到微秒级。在功能函数functkm1()执行体前后,进行时间统计,最后计算出该函数执行时间值,请在(1)?(2)处将对应C语言代码补全。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案
问答题

某嵌入式控制软件中,通过采集传感器数值来计算输出控制率,同时为提高数据采集可靠性,对采集数值使用三余度采集方法进行三个通道数据采集。

1.三余度数据采集及处理要求:

(1)如果某通道采集值在[-3.0,3.0]v正常范围内,且与任一相邻通道间差值不大于0.5v,则该通道数据满足要求;

(2)如果某通道釆集值超过[-3.0,3.0]v正常范围,或者此通道采集值与其他两个通道差值均大无0.5v,则该通道数据不满足要求;

(3)如果三通道值均满足要求,则取三通道中差值较小两通道数据乎均值;

(4)如果三通道值均满足要求,且相邻两数值差值相等,则取三个采集值中间值;

(5)如果仅有一个通道数据不满足釆集要求,取满足要求两个通道数据平均值;

(6)如果大于一个通道数据不满足采集要求,取安全值0v。

2.对计算输出控制率具体处理算法如下:

(1)如果依据采集数据计算控制率C1与目前实际控制率C0差值不大于0.01,则使用本周期计算控制率Cdft行输出控制,否则使用目前实际控制率C0输出控制,连续超过范围计数加1,不上报传感器故障;

(2)如果连续3个周期计算控制率C1与目前实际控制率C0差值大于0.01,则上报传感器三级故障,连续超过范围计数清零,使用目前实际控制率C0输出控制;如果已经连续3个周期控制率差值超过范围,并已上报三级故障,但第4个周期计算控制率C1与目前实际控制率C0差值不大于0.01,则清除三级故障上报,并使用C1进行输出控制;

(3)如果累计大于等于10个周期计算控制率C1与目前实际控制率C0,差值大于0.01,则上报传感器二级故障,使用目前实际控制率C0输出控制;

(4)如果累计大于等于100个周期计算控制率C1目前实际控制率C0,差值大于0.01,则上报传感器一级故障,清除二级故障,并切断输出控制(输出安全值0);

(5)如果低级故障和高级故障同时发生,则按高级故障上报和处理。

问题:3.1 为了测试采集算法,在不考虑测量误差情况下,根据所设计测试用例输入填写表3-1中(1)?(6)空,预期输出结果精度为小数点后保留两位数字。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

问题:3.2 白盒测试方法和黑盒测试方法是目前嵌入式软件测试常用方法。请简述白盒测试方法与黑盒测试方法概念。同时依据本题说明,指明问题1中设计测试用例使用了白盒测试方法还是黑盒测试方法。

问题:3.3 为了测试控制率计算算法,在不考虑测量误差情况下,请完善所设计测试用例,填写表3-2中空(1)?(6)。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师练习

查看答案