嵌入式系统原理及开发应用部分课后习题答案.pdf_第1页
嵌入式系统原理及开发应用部分课后习题答案.pdf_第2页
嵌入式系统原理及开发应用部分课后习题答案.pdf_第3页
嵌入式系统原理及开发应用部分课后习题答案.pdf_第4页
嵌入式系统原理及开发应用部分课后习题答案.pdf_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 嵌入式系统原理及应用开发技术(第二版)嵌入式系统原理及应用开发技术(第二版) 第一章第一章 嵌入式系统概论嵌入式系统概论 1、什么是嵌入式系统? 答:嵌入式系统是“以应用为中心,以计算机技术为基础,软硬件可配置,对功能、可 靠性、成本、体积、功耗有严格约束的专用系统,所用的计算机为嵌入式计算机”; 这类系统一般包括嵌入式微处理器、 外围硬件设备、 嵌入式操作系统以及应用程序四个 部分; 用于实现对其他设备的控制、监视、管理等功能。 2、请举例说明“实时”与“实时系统”这两个概念。 答:对“实时”概念的理解:是否满足时间约束:实时不等于快!它是一个相对的概念, 确切定义应该是“及时” 对“实时系统”概念的理解: 它是对外来事件在限定时间内能做出反应的系统 包括实时控制系统和实时信息处理系统 实时系统的三个指标:响应时间、吞吐量、生存时间 它更强调实时性和可靠性 速度只是它的一个重要参数:从系统需求角度,折中考虑 实时应用范围很广,主要有两类:嵌入式应用和在线应用 3、举例说明嵌入式系统有哪些特点。 技术密集 多门学科技术交叉、融合; 面向特定应用的软硬件综合体,软硬件结合、缺一不可;嵌入式硬件系统的 设计,除了基本的微处理器、存储器以外,越来越需要 FPGA、CPLD 技术, 以及专用芯片设计技术; 不同对象领域的嵌入式软件难以通用; 嵌入式软硬件资源日益丰富,嵌入式系统的功能日趋复杂。 专用紧凑 用途固定、软硬件够用即可,需要满足应用约束,如体积、功耗、配置、处理 能力、电磁兼容性等; 设计高效、量体裁衣、去除冗余。 安全可靠 系统不出错地连续运行,或出现系统错误可以自我修复; 网络时代,嵌入式设备连网、接入 Internet 时的安全问题。 多样性 应用广泛(无处不在) 、品种繁多; 由嵌入式系统 4 个组成部分的多样性决定。 及时响应 嵌入式系统是某种技术过程的核心处理环节, 必须满足该技术过程的约束, 例 如时间、可靠、可用等; 软件代码的长度、执行速度需要满足实时性要求; 嵌入式处理的多任务分布和并发的特点,要求系统软件具有高实时性。 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 成本敏感 产品量大; 成本已成为嵌入式产品竞争的关键因素之一。 开发困难 交叉开发(见右图) ; 芯片厂商的配套工具简陋、效率低下,而专业 工具价格昂贵; 高质量的嵌入式软件开发是相当困难的。 不可垄断 通用计算机行业的“Wintel”垄断局面; 嵌入式应用的行业分散,充满了竞争、机遇与创新; 微处理器、操作系统在体系结构上存在主流,但没有形成垄断; 应用领域不断向前发展,嵌入式系统 4 个组成部分也在同步发展。 确定性 保证系统的实时性和可预测性; 系统静态配置:任务的数目、执行时序、所占资源、阻塞、通信延迟等都是确 定的。 4、简述嵌入式系统的发展历程。 1946 年 2 月 14 日,世界第一台计算机诞生,人类信息时代到来 20 世纪 60 年代初,嵌入式系统开始萌芽 标志:以晶体管、磁芯存储为基础的计算机被应用于航空、航天、工业控制等 领域。 典型应用:美国海军舰载轰炸机用多功能数字分析仪、导弹发射控制、美国某 乙烯厂 DDC 工业装置、ApolloGuidance、控制电话的电子式机械交换机等。 特点:价格昂贵、系统结构简单、功能单一、处理效率低、存储容量小、用户 接口很少。 20 世纪 70 年代初至 80 年代中期,嵌入式系统进入简单系统阶段 标志:相继出现 Intel4004、4084、8051,Motorola 公司 68HC05,Zilog 公司 的 Z80 等嵌入式微处理器,系统中无或具有简单操作系统。 典型应用:被广泛应用于家用电器、医疗仪器、仪器仪表、交通运输等领域, 例如: 电算机(日本 Busicom 公司基于 4004)、 微控制器取代旋钮控制的电位计 和可变电容器、1982 年出现首枚多媒体应用的 DSP 芯片等。 特点:微处理器种类繁多、通用性差、价格便宜;系统开销小、效率高等。 20 世纪 80 年代中期至 90 年代末,嵌入式系统进入 RTOS 阶段 标志:嵌入式操作系统被广泛使用,嵌入式应用开始普及。 典型应用:应用领域进一步扩大,例如:手机、数码产品、路由器、交换机、 汽车电子产品等。 特点:嵌入式操作系统内核小、效率高、高度模块化、可扩展;微处理器兼容 性好;为应用程序的开发提供了大量的 API 和 IDE 工具等。 20 世纪 90 年代末至今,嵌入式系统进入网络化阶段 标志:嵌入式设备的网络化和 Internet 接入,正在蓬勃发展 典型应用:Internet 技术与嵌入式应用产品的结合,例如:无线终端、平板电 脑、智能手机、智能家电、智能汽车 特点:32bit 微处理器占主导地位、嵌入式操作系统从简单走向成熟、与网络 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 和 Internet 结合日益紧密等 第二章第二章 ARM 嵌入式微处理器嵌入式微处理器 1、试叙述冯诺依曼体系结构和哈佛体系结构的区别。 答:冯 诺依曼结构:数据和指令保存在同一个存储器上。 哈佛结构: 数据和指令分开存储, PC 指针仅指向程序存储器而不指向数据存储器。 比较: 冯 诺依曼结构比哈佛结构简单; 哈佛结构的系统运行效率比冯 诺依曼结构要高。 2、试叙述 RISC 的优点以及与 CISC 相比有何特点。 复杂指令系统(ComplexInstructionSetComputer,CISC) 精简指令系统(ReducedInstructionSetComputer,RISC) RISC 指令集:1979 年美国加州大学伯克利分校提出;目的:如何使计算机的结构更加 简单合理地提高运算速度。 特点:选择使用频率高的简单指令;指令长度固定,减少指令格式和寻址方式; 简易的译码指令格式;在单周期完成指令等 CISC 指令集的缺点:计算机技术发展不断引入新的复杂的指令集,造成计算机体系结 构越来越复杂;指令使用频率相差悬殊:约 20%被反复使用,占整个程序代码的 80%;而 剩余的 80%的指令不经常使用,在程序中只占 20% 3、查阅相关资料,目前采用的 ARM 技术的芯片有哪些?它们主要应用在哪些领域? 4、分别指出以下指令序列的含义: ADD R0, R1, #256 例子: ADD R0,R0,#1;R0R0+1 AND R0, R0, #3 AND R0,R0,#3;保持 R0 的 0、1 位,其余位清零 MRS R0, SPSR MRS R0,SPSR;传送 SPSR 的内容到 R0 LDMFD R13!, R0, R4-R12, PC ;将堆栈内容恢复到寄存器(R0, R4R12,PC) 第三章第三章 基于基于 ARM 的嵌入式系统外围硬件设计的嵌入式系统外围硬件设计 1、简述嵌入式微处理器的选型原则。3.3V 1.8V 答:对系统进行需求分析后,从微处理器内核结构、系统时钟、外围设备等几方面进行 综合选择: 微处理器内核的选择:ARM 公司推出的 ARM 内核是针对不同应用领域的。例如, 是否支持系统软件设计时所使用的嵌入式操作系统? 系统的工作频率:系统时钟频率在很大程度上决定了 ARM 微处理器的处理能力。 例如,芯片是仅有一个主时钟频率,还是能够提供不同频率时钟? 芯片存储器容量: 考虑是采取外扩存储器方案, 还是直接选择片上集成有足够大存 储器的芯片? 片内外围电路的选择: 应尽量结合系统需求, 采用片内外围电路完成所需功能的设 计,简化系统硬件的复杂度,提高系统的可靠性。 2、NAND Flash 和 NOR Flash 各自的特点是什么? NORFlash 特点: 1988 年由 Intel 首先开发出 NORFlash 技术; 芯片内执行(XIP,eXecuteInPlace),不必把代码读到系统 RAM 中; 写入和擦除速度低,擦写次数约十万次; 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 传输效率高,在 116MB 小容量时具有很高的成本效益;带有 SRAM 接口, 有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节 占据了容量为 116MB 闪存市场的大部分,主要用作代码存储介质。 NANDFlash 特点: 1989 年东芝公司提出了 NANDflash 结构; 具有极高的单元密度,可以达到高存储密度;写入和擦除速度快,擦除单元 更小,相应的擦除电路更少,每个块的最大擦写次数是一百万次; 使用复杂的 I/O 口来串行地存取数据,各产品或厂商方法可能不同,存在较严 重的位反转问题,必须有错误探测/错误更正(EDC/ECC)算法; 用在 8MB2GB 产品中,适合于数据存储,在 CompactFlash、SecureDigital、 PCCards 和 MMC 存储卡市场上所占份额最大。 第四章第四章 嵌入式软件体系结构嵌入式软件体系结构 1、什么是软件体系结构?软件体系结构有哪些作用? 答:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据 构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体 系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这 一方法在其他的定义和方法中基本上得到保持。 它是一个系统的设计计划; 是一个结构性计划,用于描述系统由那些元素组成、元素之间如何相互适应、 协同工作以完成系统的需求目标。系统设计计划是项目计划的输入参数; 介于需求与详细设计之间, 可以是一个独立阶段, 也可以作为概要设计或总体 设计的一部分; 通过规划各个设计元素内部及其之间关系,获得系统的软件体系结构(一个设 计计划),用于指导详细设计。 它是帮助管理复杂系统的抽象框架。 软件体系结构对管理的辅助作用 嵌入式软件的体系结构表示了一个嵌入式软件系统的高层框架, 是系统整体结 构的一部分: 2、整体结构、层次结构、客户机/服务器结构各自有哪些特点?比较它们的差异。 答: 整体结构下开发嵌入式软件的特点: 系统中每个函数有唯一定义好的接口,函数间调用不受限制;软件开发是设 计、函数编码/调试、连接成系统的反复过程,所有函数相互可见,不存在任 何的信息隐藏; 函数调用可以有简单的分类,如核心调用、系统调用、用户调用等,用以简化 编程,也可以不严格划分; 系统有唯一的主程序入口,如 C 程序的 main 函数。 层次结构的特点: 可在现有抽象层基础上增加新的抽象层,便于简化复杂问题的设计实现; 每层功能、接口的改变仅影响相邻层;每层接口都是抽象的,内部实现不受 限制,很容易支持软件的重用; 实际软件设计很难完全按照层次系统的定义进行实现, 经常是软件系统中的一 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 部分采用层次结构。 客户机/服务器结构:即 Client/ServerArchitecture,C/S,是现代软件常用体系结构之 一。 3、举例说明轮询结构的优点和缺点。 轮询系统的工作特点:典型应用:多路采样系统、实时监控系统等。 系统完成一个轮询的时间取决于轮询环中需要执行的函数个数; 轮询的次序是静态固定的,在运行时是不能进行动态调整的。 轮询系统的缺点: 所有函数必须顺序执行,不区分各自的重要程度; 系统无法根据实际需要灵活调整函数执行的粒度。 4、在前后台系统中,前台与后台的交互是如何完成的? 前后台系统中, 前台中断级事务与后台的务之间的信息或数据的交互, 简称前后台交互 (InteractionBetweenLevels)。 前后台交互的两种方式: 同步信号(SynchronizationSemaphore)基本思想:前台中断向后台任务发送同 步信号(1bit)。多中断请求时的处理方法:借助计数器(整型信号量)和标志位 共同实现同步。 数据交互(DataInteraction)基本思想:通过共享存储区的方式实现。 5、什么是任务?什么是实时任务? 任务:在软件设计时抽象出来的具有相互作用的程序集合或软件实体。 实时任务:带有实时性约束的任务称为实时任务(Real-TimeTask)。 6、实时多任务系统的基本结构,说明各组成部分的功能。 实时多任务系统由多个并发执行的实时任务构成的 系统称为实时多任务系统(Real-TimeMultitaskSystem)。 每 一 层 对 其 上 层 而 言 好 像 是 一 个 虚 拟 机 (VirtualMachine); 下层为上次提供服务,上层利用下层提供的服务; 层与层之间定义有良好的接口, 之间通过接口进行 交换与通信; 每层划分为一个或多个模块(或称组件)。 第五章第五章 嵌入式实时操作系统嵌入式实时操作系统 1、叙述 RTOS 的主要特点。 及时性(Timeliness) 、可确定性(Deterministic)、 并发性(Concurrence) 、高可信性(High Dependability) 、安全性(Security)、 可嵌入性(Embeddedability) 、可裁剪性(Tailorability) 、 可扩展性(Extensibility) 2、什么是优先级逆转?如何解决优先级逆转问题? 优先级逆转: 占有资源的低优先级任务先于后到达的高优先级任务执行的情况, 称为。 优先级逆转的解决方法: 优先级继承协议:当一个任务在其使用的临界区阻塞了一个或多个高优先级任务 时, 该任务的优先级被临时提高到被阻塞任务的最高优先级, 当该任务退出临界区 时,优先级又恢复到最初的优先级。 优先级天花板协议:设需要临界资源 S 的任务中,最高优先级为 pri;若一个 任务 T 成功获得 S,则将 T 的优先级设置为 pri,当任务释放 S 后,恢复原有优先 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 级;若任务不能申请到 S,则被阻塞。 两种方法比较: 优先级天花板协议的执行效率较高; 优先级继承协议对程序运行过程影响程度较小。 3、任务之间的通信方式有哪几种?每一种方式的特点是什么? 答:有两种:信号传递和数据传递 信号传递:RTOS 采用信号这类通信机制在任务间传递信号,协调任务间的活动, 如信号量(Semaphores)、事件标志(EventFlag)等。 数据传递(Messages):包括消息传递和其他 消息是指从一个任务传递到另一个任务的数据, 在多处理器系统中, 也被称为 包(Packages),可在不同微处理器之间传递。 其他: RTOS 提供的其他通信机制, 例如共享存储(SharedMemory)、 管道(Pipes)、 邮箱(MailBox)、远程过程调用(RPC)等。 4、区别调度策略与调度机制这两个概念?分别列举一些实时调度策略与实时调度机制。 5、在嵌入式实时操作中优先级反转、死锁会给系统带来什么后果?采取什么办法可以避免 死锁? 6、对比 RMS 调度策略与 EDF 调度策略,各有什么优缺点? 第六章第六章 板板级支持包与系统引导级支持包与系统引导 1、嵌入式软件运行过程有几个阶段?每个阶段的主要工作是什么? 上电复位、板级初始化阶段: 此阶段完成的主要工作CPU 中堆栈指针寄存器的初始化; BSS 段(BlockStorageSpace,即未被初始化的数据)的初始化; CPU 芯片级的初始化,包括中断控制器、内存等的初始化。 系统引导/升级阶段 系统软件引导阶段:3 种情况 将系统软件从 NORFlash 中读取 出来,加载到 RAM 中运行; 直接在 NORFlash 中运行, 进入系 统初始化阶段; 将软件从外存(如 NANDFlash、 CF 卡、MMC 等)中读取出来,加载到 RAM 中运行 系统升级阶段 通过网络进行远程升级; 通过串口进行本地升级。 其他阶段: 系统初始化阶段: 对 OS 等系统软件的各功能部分进行初始化, 如根据系统配置初始化数据空 间;初始化系统所需的接口和外设等。 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 系统初始化具有特定顺序,如内核初始化-网络、文件系统等的初始化-中间 件等的初始化。 应用初始化阶段 创建应用任务; 创建信号量、消息队列; 与应用相关的其他初始化。 多任务应用阶段 OS 按照已确定的算法进行任务的调度; 应用任务完成各自功能。 2、什么是 BSP?BSP 与 BIOS 有什么异同? 答:BSP 的定义目前还没有 BSP 的标准定义,对 BSP 的理解: 它是嵌入式系统的基础部分,是实现系统可移植性的关键; 它负责上电后的硬件初始化、启动 RTOS 或应用程序模块、提供底层硬件驱动; 针对具体的硬件平台而设计,其结构和功能因 在嵌入式系统移植时,必须提供相应的 BSP。 BSP 和 BIOS 的区别: 相同点:PC 机主板上的 BIOS 开始部分所做的工作与 BSP 类似,主要负责在电脑 开始时检测、初始化系统设备(设置栈指针,分配中断,初始化内存等)、装入 OS。 区别: 组成不同:BIOS 不包含设备驱动程序,而 BSP 包含。 BIOS 的代码是在芯片生产过程中固化的,一般来说用户无法修改,而 BSP 是 可以根据需要进行修改的。 3、嵌入式操作系统有哪两种引导模式?并比较两种引导模式的优缺点。 答:嵌入式操作系统有需要 BootLoader 的引导模式和不需要 BootLoader 的引导模式两 种引导模式 需要 BootLoader 的引导模式 RAM 空间有限:特点是启动有可能快、运行慢 采用高性能 RAM 的系统,处于成本因素的考虑,RAM 空间有限。 采用BootLoader引导方式: 由Loader程序将OS内核中的数据段拷贝到RAM 中,而代码段直接在 NORFlash 中直接运行。 分析:有利因素 a)代码在 NORFlash 中直接运行,节省了拷贝到 RAM 过程 所需的时间,b)节省了 RAM 空间;不利因素,在 NORFlash 中执行代码的速度比 在 RAM 中运行要稍慢。 RAM 空间足够:特点是启动慢、运行快 RAM 空间足够程序运行。 采用 BootLoader 引导方式:由 Loader 程序将 OS 内核全部拷贝到 RAM 中 运行。 分析: 有利因素,系统运行速度快; 不利因素,a)需要额外的 RAM 空间, b)OS 内核拷贝到 RAM 过程需要一定的时间,c)对于某些压缩的内核,复制后还需要解 压(注:如果压缩比大、压缩算法效率高的情况下,有可能会减少内核拷贝到 RAM 的时间)。 无 BootLoader 的引导模式 对于时间效率要求较高的系统,具有快速启动的要求。 采用无需 BootLoader 的引导方式: 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 系统启动时,直接在 NORFlash 或 ROM 系列可以做主存的非易失性存储介质中运 行。特点:可以达到较快的启动速度,但是不能满足运行速度。 4、什么是 Boot Loader?流行的第三方 Boot Loader 工具有哪些? 答:Boot Loader 概念:它是在 OS 内核运行之前执行的一段小程序;它将 OS 内核从外 部存储介质拷贝到内存中,并跳转到内核的首条指令。 流行的第 3 方 BootLoader 工具有:U-boot、GRUB(自学了解)、LILO(自学了解)。 第七章第七章 嵌入式系统设计方法嵌入式系统设计方法 1、简述嵌入式软件生命期的基本思想。 系统概念:用户以软件产品开发任务书的形式给出其对产品的概念描述。 开发阶段:根据任务书开发嵌入式软件,验收标准是任务书中给出的产品基线(包括各 类软、硬件指标,环境要求等)。 产品阶段: 依据环境和市场对开发阶段的结果嵌入式软件产品原型, 进行产品化。 运行维护阶段:产品投放市场之后的工作。 注意:嵌入式软件系统开发的基本核心是传统系统功能和性能(值域)和系统实时性 能(时域)并重。 2、嵌入式软件具有哪些特点?试说明。 实时性: 嵌入式系统都是实时系统,因而其软件也必须具有实时性; 应用环境不同,对实时性的要求也不同; 许多嵌入式软件(如军用软件系统),特别强调快速启动、随时就绪。 异步事件的并发处理 现代嵌入式系统大多是实时多任务系统; 系统实时性要求嵌入式软件对各类外部事件能够异步处理; 外部事件的随机性要求嵌入式软件能对任务做并发处理。 应用/操作系统一体化 大多数嵌入式设备的资源有限,不大可能预装操作系统和设备驱动程序; 普遍做法: 根据应用目标定制操作系统和相关外设, 将它们以动态链接库(Lib) 的形式与应用系统编译连接成一个单独的可执行程序,下载到目标系统中运 行。 例外, 资源较为丰富的高端嵌入式应用, 可以采用 WindowsCE 或嵌入式 Linux 预装在设备上,在其上添加应用软件。 应用可固化 嵌入式应用软件最终都是固化在目标系统中运行的。 固化存储媒介 EPROM、Flash、电子盘(DOC、DOM)等,其容量有限、价格昂 贵,因而要求嵌入式软件尽量精简。 实用性 嵌入式软件是为嵌入式系统服务的,必须与外部硬件和设备紧密联系; 大多数嵌入式软件是根据应用需求定向开发的,面向产业、面向市场; 每种嵌入式软件都有自己独特的应用环境和实用价值; 需要优秀的软件开发人员具有特定的行业经验。 适用性 模块化设计使嵌入式软件应该能比较方便地运用到各种嵌入式系统中, 而不破 坏或更改原有的系统特性和功能; 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 嵌入式软件要小巧、占用资源少要使用灵活,尽量优化配置,减小对系统 的整体继承性, 升级更换灵活方便软件规模和所拥有的模块可根据应用的特 定要求进行配置,以期更好地适应应用环境; RTOS 作为嵌入式系统的基础软件,其模块应可裁剪,以满足应用需要; 外设、芯片等可选择性使用。 鲁棒性 要求高可靠性; 强调容错处理和出错恢复(包括自动恢复)功能,确保系统不会因为软件错误而 崩溃,甚至导致灾难发生。 够用即可 出于成本限制,大多数嵌入式系统对所有资源有严格限制,够用即可,因而嵌 入式软件也要遵循此原则,尽量精简代码,不预留不必要的接口或功能模块; 对具体的应用,可尽量少地考虑移植问题。 安全性 信息安全中很大一部分归结于基础网络设备(路由器、交换机等)的安全管理机 制; 网络设备的核心是嵌入式软件的安全性,目前的重点研究方向之一; 对一些安全关键应用,如核电控制、医疗仪器、汽车 ABS 等,嵌入式的安全 性和可靠性是选择的最重要标准。 3、嵌入式软件开发应该具有怎样的过程?各阶段的任务是什么? 嵌入式软件开发步骤 确定嵌入式软件的需求; 选择微处理器和相关硬件设备; 选择操作系统; 确定软件体系结构; 选择开发平台; 嵌入式软件设计; 编码调试; 软件测试。 4、嵌入式软件设计应该遵循哪些基本原则? 尽量简单:只有近优,没有最优; 使用静态表:在使用 RTOS 的嵌入式系统中,提高系统实时性的关键是任务调度, 而最好的任务调度策略是静态调度表; 尽量减少动态性:一般地,在嵌入式系统中应该使用静态数据结构,如静态数组; 恰当的任务数目:综合考虑任务数目和系统实时性; 避免使用复杂算法:使用有限状态机辅助设计; 简化代码,便于理解; 面向对象设计。 第八章第八章 嵌入式软件编程嵌入式软件编程 1、什么是程序设计语言?程序设计语言应该包含哪些内容? 程序设计语言的含义: 一般可把它看成是控制某种设备, 特别是一种计算机的人为语言; 与自然语言一样, 它也使用语法和语义规则分别定义其语句结构和含义; 其作用在于表述算 法,以便于信息的组织和操作。 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! 在程序设计语言定义中应包含的内容 功能: 用于编写计算机程序, 指导计算机完成某些种类的计算或组织机械设备 之间的控制流程。 目标:程序设计语言的一个重要目标是为计算机提供指令系统。 结构:定义和操作某些类型的数据结构,以控制程序的执行流程。 表达能力: 代表了所能描述算法的能力, 能够描述同一算法集合的语言被认为 能力相同。 2、在开发嵌入式软件时,应该如何选择合适的程序设计语言? 3、简述 Java 语言的编程框架。Java 程序设计语言具有哪些特点? Java 技术由 4 个相关部分组成: Java 程序设计语言:编写源代码; Javaclass 文件:编译源代码后得到的文件; Java 应用程序编程接口(API):应用程序通过调用 API 用以实现特定功能; Java 虚拟机:用于运行 calss 文件。 Java 的特点(面向对象、简单性、多线程、垃圾回收、JavaApplet、丰富的类库) 面向对象:Java 中几乎所有数据都是对象,共同父类 Object; 简单性:作为 OO 语言,略去了运算符重载、多重继承等模糊概念;安全性: 不支持指针操作, 一切对内存的操作必须通过对象的实例变量实现, 在避免指 针操作错误的同时,可阻止“特洛伊木马”等病毒; 多线程:不需要采用全局的事件循环机制,易于实现网络上的实时交互; 垃圾回收: 自动垃圾回收机制, 有效防止程序员手动管理内存出错; 动态性: 可以自由地在 Java 类库中加入新的方法和实例变量,不影响程序的执行, 通过接口来支持多重继承,具有灵活的扩展性; JavaApplet:一个动态、安全、跨平台的 Java 网络应用小程序,支持 Java 在 浏览器中运行,可以生成多媒体用户界面,完成复杂计算和人机交互; 丰富的类库:用于满足网络化、多线程、面向对象系统的需要。 4、编写一个简单的 C 语言函数,有两个参数和一个返回值(类型可自己定义) ,用汇编程 序调用它。 第九章第九章 嵌入式软件开发环境嵌入式软件开发环境 1、为什么嵌入式软件开发多用交叉开发? 交叉开发的发展过程实质上就是嵌入式应用开发技术发展的过程; 交叉开发技术 随嵌入式应用开发技术的发展,其开发方法不断更新,开发工具的功能越来越强, 性价比越来越高; 但是,在实际软件开发中,各种交叉开发方法都有一定的使用范围,没有一种方式 可以适用所有的嵌入式软件开发; 在同一个嵌入式软件的不同开发阶段也经常采用不同的开发方式。 常见的交叉开发方法,如: CrashandBurn 方式; ROMMonitor 方式:存储器监控方式; ROMEmulator 方式:存储器仿真器方式; 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! ICE 方式:在线仿真器(InCircuitEmulator)方式; OCD 方式:片上调试器(OnChipDebugging)方式。 2、为什么需要仿真开发?这种方法具有哪些特点? 仿真开发环境是为弥补交叉开发的缺点而提出的; 仿真开发环境的优点: 不需要提供实际的目标硬件环境,构建成本低; 编译调试都在宿主机上进行,方便实用; 可最大限度地保证软、硬件同时开发,从而简化嵌入式软件开发过程,缩短开 发周期。 仿真开发环境的缺点: 高质量的仿真开发环境需要模拟目标机的所有设备和器件组件,工作量巨大, 单独某个企业或机构难以完成; 仿真开发时交叉开发的必要补充: 在大多数环境下, 仿真环境的实时特性还不能达到目 标机的实际要求,因此,在仿真调试完成后,仍需要移植到实际目标硬件,做进一步调试和 测试验证。 完整的嵌入式开发环境能够同时提供交叉开发环境和仿真开发环境,以适应不同应用、 不同开发阶段的需要。 3、嵌入式软件开发环境应该包含哪些组成部分?各部分具有什么功能? 嵌入式软件开发环境的组成一般由一系列开发工具组成,通常有: 项目管理器、项目配置工具、源码编辑工具、CRTL(CRun-TimeLibrary)、RTOS 开发支 持包、交叉编译工具、交叉调试工具、交叉测试与性能分析工具等。 4、简述版本管理的功能及其使用的必要性。 版本管理又称版本控制,是用户对项目文件版本进行控制的工具软件,其目的是: 保存软件开发过程中的各种中间状态, 控制对软件系统的修改,保护知识产权, 记录软件系统的修改过程, 为软件开发进程中文件或目录的发展过程提供有效的追踪手段, 保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖; 是实现团队并行开发、提高开发效率的基础。 其使用的必要性:管理对象是嵌入式软件开发过程中涉及的所有文件对象, 包括文件、目录和链接。 第十章第十章 嵌入式系统可靠性测试与评估嵌入式系统可靠性测试与评估 1、 软件可靠性评估的方法有哪些?这些方法是如何 工作的? 目前, 在软件可靠性评估技术中, 通常采用的 2 种方法: 基于软件可靠性测试的验证方法 a)软件可靠性验证方法: 在给定的统计置信 度下,验证软件当前的可靠性水平是否满足用 户的要求(即软件规格说明书中规定的可靠性 指标)。 b)一般在软件验收阶段进行,在软件需求 方参与的情况下实施。 复习整理所用(私人整理,仅供参考) 天高任鸟飞,海阔凭鱼跃! c)主要过程:根据现场测试的故障情况,利用双方都认可的某种可靠性验收模型或 某些软件进行可靠性的定量评价,以判断该软件是否达到需求说明书中约定的可靠度。 d)流程图:如右图。 基于软件可靠性建模的方法 a)在测试时, 将所确定的失效交由开发者 分析和修改,建立软件的一个新的版本,再 进行下一次测试。在“测试排错建立 新版本”的迭代过程中,被发现的软件错误不 断被剔除,软件可靠性呈增长趋势,故又称 为软件可靠性增长建模,它是当前软件可靠 性建模的主要内容。 b)与“验证法”比较,共同点:故障情况也 要依赖于测试;区别:在进行测试的同时修 改故障,并通过对所收集的故障行为进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论