嵌入式系统与软件(3)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1嵌入式软件系统2嵌入式软件系统概述嵌入式软件和通用计算机的软件一样,一般分为系统软件、支撑软件和应用软件三大类。系统软件:控制、管理计算机系统的资源。如:嵌入式操作系统、嵌入式中间件(CORBA、Java)等支撑软件:辅助软件开发的工具。如:系统分析设计工具、仿真开发工具、交叉开发工具、测试工具、配置管理工具、维护工具等。应用软件:是面向应用领域。如:手机软件、路由器软件、交换机软件、飞控软件等3从运行平台来分,嵌入式软件可以分为运行在开发平台上的软件:设计、开发、测试工具等运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序。嵌入式软件系统概述4嵌入式系统的软件体系结构按嵌入式系统软件复杂程度来分类–循环轮询系统–有限状态机系统–前后台系统–单处理器多任务系统–多处理器多任务系统5循环轮询系统最简单的软件结构:循环轮询;程序依次检查系统的每一个输入条件,一旦条件成绩就进行相应的处理;适合于慢速和非常快速的简单系统。6查询点1查询点2查询点3查询点4查询点5查询点6处理段1处理段6处理段5处理段4处理段2处理段31单回路顺序程序结构简单易编写,单一处理响应快,复杂处理响应迟,适合单一处理者7流程初始化处理1事件1处理2事件2NYYN8程序结构Initialize();While(TRUE){process();{Initialize();While(TRUE){if(condition1){action_1();}if(condition2){action_2();}/*etc.*/{9循环轮询系统循环轮询系统优点:·对于简单的系统而言,便于编程和理解·没有中断机制,程序运行良好,不会出现随机问题循环轮询系统缺点:·有限的应用领域(由于不可确定性)·对于大量的I/O服务的应用,不容易实现·大的程序不便于调试因此,它适合于慢速和非常快速的简单系统。10有限状态机系统有限状态机是实时系统设计中一种重要的、易于建立的、应用比较广泛的、以描述控制特性为主的建模方法,它可以应用于从系统分析到设计的所有阶段。11有限状态机系统有限状态机组成一个有限的状态集合Q一个有限的输入集合I一个变迁函数δ集合:Q×I→Q有限状态机通常用“状态转移图”和“状态转移表”的方式来表示12有限状态机系统状态转移图中的节点代表状态,若在输入i下状态由q1转变为状态q2,则有一条标有输入i的弧线从状态q1指向q2。此时,其变迁函数δ(q1,i)=q2。q1q2i/δ13有限状态机举例state0state3state2state1a/f0b/f0b/f1a/f2b/f1b/f2a/f1有限状态机系统14有限状态机系统15有限状态机优点:–简单易用,状态间的关系能够直观看到,便于编程–可以快速的执行–只是通过改变输出功能来改变机器的响应有限状态机缺点:–任何时刻系统只能有一个状态,无法表示并发性,不能描述异步并发的系统–在系统部件较多时,状态数随之增加,导致复杂性显著增长–对于大的应用系统,难于调试有限状态机系统16•后台是一个一直在运行的系统。•前台是由一些中断处理过程组成的。•当有一前台事件(外部事件)发生时,引起中断,于是将中断后台运行而进行前台处理,处理完成后又回到后台(通常又称主程序)。前后台系统17运行方式主程序中断1中断2中断1中断2中断118流程初始化处理1事件1处理2事件2NYYNISR1ISR2前台处理后台处理ISR319需要考虑的是中断的现场保护和恢复,中断嵌套,中断处理过程与主程序的协调(共享资源)问题。系统的性能主要由中断延迟时间(Interruptlatencytime),响应时间(responsetime)和恢复时间(recoverytime)来刻画。前后台系统20对于一个复杂的嵌入式实时系统来说,–当采用中断处理程序加一个后台主程序这种软件结构难以实时的、准确的、可靠的完成时–存在一些互不相关的过程需要在一个计算机中同时处理时,就需要采用实时多任务系统。单处理器多任务系统21结构由多个任务,多个中断处理过程,实时操作系统组成的有机的整体。每个任务是顺序执行的,并行性通过操作系统来完成,任务间的相互通信和同步也需要操作系统的支持。22流程并发多任务::::::后台前台ISRsTasks23单处理器多任务系统主要特点:·多个顺序执行的程序并行运行(任务)·宏观上看,所有任务同时运行,每个任务运行在自己独立的CPU上·实际上,不同的任务是共享同一个CPU和其它硬件。因此,需要RTOS来对这些共享的设备和数据进行管理·每个程序都被编制成无限循环的程序,等待特定的输入,执行相应的任务·这种程序模型将系统分成相对简单的,相互合作的模块单处理器多任务系统24单处理器多任务系统主要优点:–将复杂的系统分解为相对独立的多个线程,达到“分而制之”的目的,从而降低系统的复杂性–保证系统的实时性–系统的模块化好,提高系统的可维护性单处理器多任务系统25单处理器多任务系统缺点:–需要采用一些新的软件设计方法–需要增加功能:线程间的协调,同步和通信功能–需要对每一个共享资源互斥–导致线程间的竞争–需要使用RTOS,RTOS要增加系统的开销单处理器多任务系统26实时多任务系统的实现必须有实时多任务操作系统的支持,操作系统主要完成:–任务切换–任务调度–任务间通信、同步、互斥–实时时钟管理–中断管理单处理器多任务系统27–多任务可运行在多个处理器上,由操作系统统一调度和处理。–宏观上看是并发的,微观上看也是并发的。–多处理器系统还不成熟。多处理器系统28多处理器系统紧偶合系统多个微处理器通过高速总线互连,共享存储器和I/O设备,并要求主存划分为若干个能独立访问的存储模块;松偶合系统通过通道或通信线实现计算机之间的互连,每个计算机有自己的存储器和I/O设备,并配置了OS来管理本地资源和本地运行的进程;协处理器系统由两个或多个CPU并发执行某一指令流。29(a)紧耦合CPUCPUMEMORY(b)松耦合CPUCPUMEMORYMEMORY©协处理器耦合CPUCPUMEMORY30多处理器系统的网络拓扑(a)总线(b)星型(c)环型31(d)树型(e)阵列型(f)网状多处理器系统的网络拓扑32嵌入式操作系统嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:及时性可确定性并发性高可信性可固化可配置、可剪裁可扩展性不同的CPU有不同的版本……33嵌入式操作系统近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。34嵌入式操作系统分类从应用领域来分:面向信息家电的嵌入式操作系统面向智能手机嵌入式操作系统,如SymbianOS、PalmOS、Smartphone2003、EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统……….35嵌入式操作系统分类从实时性的角度来看,嵌入式操作系统可分为嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ItronOS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。36IEEE的实时UNIX分委会认为实时操作系统应具备以下的几点:–1.异步的事件响应实时系统为能在系统要求的时间内响应异步的外部事件,要求有异步I/O和中断处理能力。–2.任务切换时间和中断延迟时间确定–3.优先级调度允许用户定义被调度任务优先级。实时操作系统37–4.抢占式调度为保证响应时间,实时系统必须允许高优先级任务一旦准备好运行,就马上抢占低优先级任务的执行。–5.内存锁定内存锁定是一种保证某进程驻留在内存而不需换页的方法。在实时环境中,系统应保证将某进程锁定在内存中,以减少数据访问、指令读取、进程间缓冲区切换等等引起的延迟。将一个进程的地址空间锁定在内存中,就为应用的响应时间满足实时需要提供了保障。一般来说,对时间要求苛刻的进程应锁定在内存中。实时操作系统38–6.连续文件应提供存取盘上数据的优化方法,使得存取数据时查找时间最少。通常要求把数据存储在连续文件上。–7.同步提供同步执行的手段。总之,实时系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应,强调实时性、可靠性、灵活性。实时操作系统39嵌入式实时操作系统:嵌入式和实时性相结合的产物。由于其优良的特性,广泛应用于制造工业、通信、航空航天、军事武器装备等实时性要求高的实时控制系统中。–应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致的。–具有规模小(一般在几十K内)、可固化使用、实时性强(在毫秒或微秒数量级上)的特点。嵌入式操作系统40从嵌入式系统的商业模式来分类,可以分为商用型和开源型。商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用+版税。开源型:开放源码,只有服务费,没有版税。如Embeddedlinux。嵌入式操作系统分类41嵌入式操作系统的体系结构体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。目前操作系统的体系结构可分为:整体结构(即无序模块结构)、层次结构和客户/服务器(微内核)结构。42整体结构概述:操作系统是一个整块结构,内部分为若干模块,每个模块可以是一个子程序。模块之间直接相互调用,不分层次,形成网状调用模式。这类操作系统与具体机器硬件特性紧密相关,一般用低级语言实现。很显然,这种系统结构紧凑,运行效率高,但各部分之间联系复杂,安全性难以保证,很难进行扩充或修改。这一代操作系统始于20世纪60年代初。嵌入式操作系统的体系结构43整体结构RTOS内核硬件抽象层内存中断通信时钟、定时器任务管理I/O管理设备驱动应用程序系统服务接口硬件层调度文件系统数据库系统44层次结构概述:所谓层次结构,就是把系统程序按照功能分成若干基本模块,再根据其作用和相互关联分别划归不同的层次。各模块之间的组织结构和依赖关系清晰明了,这不仅增加了系统的可靠性和可适应性,而且提高了系统的可移植性。这一代操作系统始于60年代末70年代初。嵌入式操作系统的体系结构45层次结构实时多任务应用程序命令解释器文件系统与网络系统存储管理逻辑I/O设备驱动实时多任务内核I/O中断服务46客户/服务器(微内核)结构概述:微内核概念:操作系统的小核心,它将各种操作系统共同需要的核心功能(进程调度、进程间通信、存储管理、处理I/O设备)提炼出来,形成微内核的基本功能。微内核直接与硬件打交道,运行于核心态。操作系统的其他功能由各服务器实现,服务器处于微内核之上,在用户态下工作。由于微内核只有操作系统最基本的功能,因此规模非常小。例如QNX微内核,只占8k内存,只有14条系统调用。嵌入式操作系统的体系结构47微内核由以下两部分组成:(1)在核心态下运行的内核,通常采用层次结构并构成了基本操作系统。(2)在用户态下运行的并以客户/服务器方式活动的进程层,将内核以外操作系统的其他部分都被分成若干个相对独立的进程,每个进程完成一组服务,称为服务器进程,简称服务器。而客户可以是一个用户,一个应用程序。这些外层模块通过消息传递手段与微内核联系;这些模块相互间也通过消息传递方式相互通信。48

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功