嵌入式系统课程考试题型和答案.docx
《嵌入式系统课程考试题型和答案.docx》由会员分享,可在线阅读,更多相关《嵌入式系统课程考试题型和答案.docx(22页珍藏版)》请在冰豆网上搜索。
嵌入式系统课程考试题型和答案
第一章绪论
1.什么是嵌入式系统?
嵌入式系统的特点是什么?
答:
嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。
特点:
1.嵌入式系统得到多种类型的处理器和处理器体系结构的支持;
2.嵌入式系统通常是形式多样、面向特定应用的;
3.嵌入式系统通常极其关注成本;
4.嵌入式系统有实时性和可靠性的要求;
5.嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统;
6.嵌入式系统开发需要专门工具和特殊方法。
2.请说出嵌入式系统与其它商用计算机系统的区别。
答:
特征
通用计算机
嵌入式系统
形式和类型
看得见的计算机。
按其体系结构、运算速度和结构规模等分为大、中、小型机和微机
看不见的计算机。
形式多样,应用领域广泛,按应用来分
组成
通用处理器、标准总线和外设。
软件和硬件相对独立
面向应用的嵌入式微处理器,总线和外部接口多集成在处理其内部。
软件和硬件紧密集成在一起
开发方式
开发平台和运行平台都是通用计算机
采用交叉开发方式,开发平台一般是通用计算机,运行平台是嵌入式系统
二次开发性
应用程序可重新编制
一般不能再编程
3.嵌入式的关键技术有哪些?
答:
1.嵌入式处理器;
2.微内核结构;
3.任务调度;
4.硬实时和软实时;
5.内存管理;
6.内核加载方式
4.请说明嵌入式系统技术的发展及开发应用的趋势。
答:
发展趋势:
1嵌入式应用软件的开发需要强大的开发工具和操作系统的支持;
2互联网成为必然趋势。
3支持小型电子设备实现小尺寸、微功耗和低成本。
4提供精巧的多媒体人机界面。
开发应用的趋势:
向经济性、小型化、可靠性、高速、低功耗、低成本、高精度方向发展
5.你知道嵌入式系统在我们日常生活中哪些设备中应用?
说明其采用的处理器是什么?
采用的哪一个嵌入式操作系统?
答:
设备
处理器
操作系统
开发环境
ipad4
AppleA6X
ios6
Xcode
三星GalaxyS5
高通骁龙801(2560MHz)
AndroidOS4.4
PDA
PXA25X
Palm OS/Windous CE
路由器
ARM9
ucLinux
数码相机
ARM9+DSP5000
ucLinux
6.开发嵌入式系统的计算机语言主要有哪几种?
分别用在什么场合?
答:
C语言 应用在开发操作系统,和硬件相关的一些应用程序。
C++语言 应用在开发一些大型的应用程序
汇编语言 应用在开发底层的硬件接口以及一些算法的基本模块
C#语言应用在开发一些大型应用程序
VHDL语言 应用在开发CPLD/FPGA芯片逻辑语言
JAVA应用在JSP开发网页等大型应用
7、在项目开发中,采用嵌入式和专用集成电路进行设计各有什么优缺点?
答:
嵌入式控制器可以设计成用户专用集成电路。
把微处理器看成电路库元件中的一个标准单元,微控制器就成了专用集成电路。
嵌入式系统可以编程,专用集成电路也可以编程。
专用集成电路(Application Specific Integrated Circuit)指为某种用途专门设计制造的集成电路。
其中所谓半定制ASIC设计指用户根据半导体集成电路制造商提供的单元电路库来设计自己的asic。
把微处理器看成电路库元件中的一个标准单元,微处理器就成了ASIC。
(嵌入式系统设计是以单片计算机为核心的系统,集成电路设计是芯片设计)
第二章嵌入式系统设计方法
1.请说出嵌入式系统设计的主要方法及设计流程。
在嵌入式系统开发的总体设计中,需要进行哪几方面的工作?
答:
嵌入式系统设计采用系统开发法即软硬件综合开发的方法。
设计流程参考PPT
需要进行的工作:
1系统总体框架
2软硬件划分
3处理器选定
4操作系统选定
5开发环境选定
2.嵌入式硬件调试的主要方法及技术手段有哪些?
答:
硬件调试(交叉)包括:
1.直接测试法:
在宿主机上编写代码编译成可执行程序下载到目标机,观察结果
2.ROM监控器:
监控目标机上被调试程序的运行
3.ROM仿真器:
替代目标机上的ROM芯片的设备
3.在线仿真器(ICE):
替代目标机上的CPU芯片的设备
4.片上调试(OCD):
CPU芯片提供的一种调试功能
技术手段:
JTAG(边界扫描技术)、BDM(背景调试模式)、基于主机的调试、远程调试等
软件调试(非交叉):
模拟器方式:
一种软件仿真器,在宿主机上创建一个虚拟的目标机环境,再将应用系统下载到这个虚拟目标机上运行/调试
3.什么是构件式开发方法 ?
说明该方法对嵌入式系统开发具有什么意义?
并举例说明
答:
嵌入式构件式开发方法是指在开发嵌入式系统时,对系统的开发进行总体规划,设计成模块化和构件化结构。
意义:
1.提高开发效率;
2.提高开发的可靠性;
3.提高软件的可移植性;
4.适合于并行开发
5节省资源
6提高软件复用性
举例:
在已有的硬件和软件构件的基础上构造自己的系统
4.为什么要做需求分析?
在做需求分析时应当考虑哪些问题?
答:
只要进行了需要分析,才能知道预开发的系统有没有开发的必要。
同时需求分析也能为系统的开发提供一些指导,决定系统应该具有哪些功能。
考虑的问题:
【1】用户对产品的需求,如性能、价格功耗等【2】确定硬件和软件。
【3】确定项目的约束条件。
【3】明白系统必须做什么,作一份需求分析报告
5.在进行系统设计时,概要设计和详细设计的工作内容有什么不同?
答:
系统概要设计主要涉及系统的总体构架,对软硬件进行划分,选定处理器、操作系统及开发平台,大概是确定设计的总体流程,包括功能模块图设计等。
详细设计主要涉及到硬件和软件的详细设计,包括逻辑电路图设计、PCB设计以及模块详细算法等
概要设计)是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能的实现。
基本任务是:
建立系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)。
(详细设计)的基本任务是设计模块的数据结构、设计数据库的物理结构、设计模块的详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评申。
6.在嵌入式系统实现阶段,需要选择开发平台,通常开发平台的选择包括哪些内容?
答:
开发平台分为硬件平台和软件平台。
它们的选择包括:
处理器、硬件部件、操作系统、编程语言、软件开发工具、软硬件调试工具、软件组件等。
需要考虑到系统的任务多少,实时性的要求。
平台编译效率的要求。
7.在当今IT时代,为了使产品尽快进入市场,就产品开发阶段,你认为有哪些方法可以加快产品的开发速度?
答:
【1】使用构件式开发方法。
【2】串行设计向并行设计转变。
【3】由单目标规划向多目标规划转变。
【4】工艺设计向过程设计转变【5】实物样品向虚拟样品转变。
【6】严格分工向自主管理的项目小组的转变。
【7】运用面向全生命周期的虚拟产品的开发技术。
【8】有效利用产品信息资源的方式。
8.什么是“黑盒”测试?
什么是“白盒”测试?
什么是“灰盒”测试?
并指出专业测试工具软件名称
答:
黑盒测试又名功能测试,它是已知产品所应具有的功能,通过测试来检测每个功能是否能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试Performance Pak
白盒测试又名代码遍历覆盖测试,它是知道产品内部工作过程,可通过测试来检测产品内部结构是否按照规格说明书的规定正常进行,主要用于软件验证CodeTest
灰盒测试,仅仅知道部分程序细节的测试方法。
它是介于前面二者之间的,其关注输出对输入的正确性,同时也关注内部表现,通过一些表征性的现象来判断内部的运行状态Visual Slick Edit for Tornado
9.嵌入式操作系统开发中,使用软件组件技术有什么好处?
答:
1.提高开发效率;
2.提高开发的可靠性;
3.提高软件的可移植性;
4.适合于并行开发
5节省资源
6提高软件复用性
10.什么是知识产权核(Intellectual Property Core,简称IP Core)?
指出“软知识产权核(Soft IP Core)”、“硬知识产权核(Hard IP Core)”、“固知识产权核(Firm IP Core)”的意义和差别。
答:
知识产权核是一种预先设计好的甚至已经过验证的具有某种特定功能的集成电路、器件或部件
软核:
主要描述功能,以 HDL(硬件描述语言)文本形式提交给用户
固核:
主要描述结构,介于软核和硬核之间,以门电路级网表的形式提供给用户
硬核:
基于物理描述,并已经过工艺验证,以电路物理结构掩模版图和全套工艺文件提供给用户
11.根据嵌入式软件开发的不同阶段,嵌入式开发工具有哪些种类?
答:
1.与嵌入式OS相关的开发工具,用于开发基于嵌入式OS的应用和部分的驱动程序等;
2.与嵌入式OS无关的开发工具,用于开发基本的驱动程序、辅助硬件调试,系统软件的开发等。
12.从底层硬件到上层应用,嵌入式软件的开发可以分为哪几种?
答:
1、编写简单的板级测试软件,辅助硬件调试系统
2、开发基本的驱动程序
3、开发特定嵌入式操作系统的驱动程序
4、开发嵌入式系统软件,如:
嵌入式操作系统
5、开发应用软件
13.什么是“由上而下”和“由下而上”研究方法?
在嵌入式系统研制中各有什么特点?
答:
由上而下:
所有设计遵循系统工程的流程进行,确定需求、制定系统规格、设计、实现、测试都是一步一步、按部就班地进行;
由下而上:
一个系统由已有的基础为起点,开始往上延伸,最后将系统完成
特点:
一个是由上而下,一个是由下而上
14.什么是交叉开发环境?
什么是OCD测试方法?
指出OCD的主要形式JTAG和BDM的特点和区别?
指出两者在调试性能方面的差异。
答:
交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。
OCD:
指的是CPU芯片提供的一种调试功能(片上调试),可以认为是一种廉价的ICE功能:
OCD的价格只有ICE的20%,但提供了ICE80%的功能
JTAG特点:
4个引脚。
优:
1可通过边界扫描操作测试整个板的电气连接
2各个引脚信号的采样,并可强调引脚输出用以测试外围芯片;
3可以软件下载、执行、调试和控制,为复杂的实时跟踪调试提供路径;
4可进行多内核和多处理器的板级和芯片级的调试,通过串接,为芯片制造商提供芯片生产、测试的途径;
5不占用系统资源,能够调试没有外部总线的芯片,代价非常小。
缺:
1通过串口一次传递数据,速度比较慢;
2只能进行软件断点级别的调试;
3不能完成实时跟踪额多种事件触发等复杂调试功能。
BDM:
硬件相对简单,集成成本低、可重用,与处理器变化无关,速度稍快,是JTAG的增强版本;缺点:
引脚比JTAG多,使用厂家少
调试功能上的差异:
JTAG只能进行软件断点级别的调试,而BDM在硬件设计仅仅需要将处理器的调试引脚连接到专用剪接器与调试工具上,通常这种连接器叫做n-wire。
15.嵌入式软件的调试运行环境和固化运行环境的主要区别是什么?
答:
1.代码定位不同
2.初始化部分不同
16.嵌入式系