【文档说明】嵌入式系统与软件课件3.ppt,共(67)页,1.445 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92660.html
以下为本文档部分文字说明:
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){ac
tion_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其FSM
的2个输入和4个状态矩阵如下:ab01,f03,f113,f02,f222,f10,f130,f23,f0有限状态机系统15有限状态机优点:–简单易用,状态间的关系能够直观看到,便于编程–可以快速的执行–只是通过改变输出功能来改变机器的响应有限状态机缺点:–任何时刻系统只能有一个
状态,无法表示并发性,不能描述异步并发的系统–在系统部件较多时,状态数随之增加,导致复杂性显著增长–对于大的应用系统,难于调试有限状态机系统16•后台是一个一直在运行的系统。•前台是由一些中断处理过程组成的。•当有一前台事件(外部事件)发生时,引起中
断,于是将中断后台运行而进行前台处理,处理完成后又回到后台(通常又称主程序)。前后台系统17运行方式主程序中断1中断2中断1中断2中断118流程初始化处理1事件1处理2事件2NYYNISR1ISR2前台处理后台处理ISR319
需要考虑的是中断的现场保护和恢复,中断嵌套,中断处理过程与主程序的协调(共享资源)问题。系统的性能主要由中断延迟时间(Interruptlatencytime),响应时间(responsetime)和恢复时间(r
ecoverytime)来刻画。前后台系统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、Smartphone2019、EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统……….35嵌入式操作系统分类从实时性的角度来看,嵌入式操
作系统可分为嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ItronOS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、Palm
OS等。36IEEE的实时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客户/服务器(微内核)结构硬件进程服务用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答消息消息消息消息嵌入式操作系统的体系结构49微内核优点:(1)精简
核心的功能,提供了一种简单的高速模块化的体系结构,提高了系统设计及使用的灵活性。同一个微内核可以同时支持一个或多个不同界面的操作系统的运行,从而方便用户软件的继承。(2)可移植性好。所有与具体机器特征
相关的代码,全部隔离在微内核中。如果操作系统要移植到不同的硬件平台上,只需修改微内核中少而集中的代码即可。嵌入式操作系统的体系结构50(3)可伸缩性好。这是现代操作系统的主要性能之一。操作系统应能方便地进行定制,扩充或缩减,以适应硬件的快速更新和应用需求
的不断变化。微内核可以保证系统有序地增长和演变。另外,随着应用领域的扩大,并非所有的用户都需要有相同的系统功能和使用环境。重要的是将这些可变动的部分做成可选构件,以利于系统规模的扩大或缩小。(4)实时性好。微内核可以方便地支持实时处理。嵌入式操
作系统的体系结构51(5)提供多线程机制,支持多处理器的体系结构和分布式系统及计算机网络。(6)系统安全性好。传统的操作系统将安全性功能建立在内核之外,因而它并不是很安全的。而微内核则将安全性作为系统内特性来进行设计。用户级的任务是通过高度安全的
通信通道调用的接口传递信息来访问诸如虚拟内存空间,文件及处理器之类的系统资源对象。嵌入式操作系统的体系结构52微内核性能问题:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间
多很大程度取决于微内核的大小和功能嵌入式操作系统的体系结构53目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。这样移植工作便集中在硬件相关层,与
其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。嵌入式操作系统的体系结构54(1)DeltaCORE的体系结构:层次+模块
结构应用程序任务管理硬件用户扩展处理调度管理硬件抽象层应用编程接口内存管理中断管理时钟/定时器管理I/O管理出错处理同步、通信管理(消息队列,信号量,事件,异步信号)嵌入式操作系统的体系结构55(2)QNX4.25的体系结构:客
户/服务器结构用户模式应用应用应用网络管理器图形管理器设备管理器文件系统管理器网络驱动图形驱动设备驱动文件系统驱动硬件内核模式内核(微内核)嵌入式操作系统的体系结构56嵌入式操作系统一般由内核、嵌入式TCP/IP网络系统、嵌入式文件系统等组成。内核内核是嵌入式操作系统的基
础,也是必备的部分。它提供任务管理、内存管理、通信、同步与互斥机制、中断管理、时间管理及任务扩展等功能。内核还提供特定的应用编程接口,但目前没有统一的标准。嵌入式操作系统组成57嵌入式图形用户界面GUI嵌入式
GUI的特点:轻型、占用资源少高性能高可靠性可配置GUI层次结构模型桌面管理系统显示模型窗口模型用户模型操作系统硬件平台常用的嵌入式GUI有:MicroWindowsMiniGUIQT/EmbeddedOpenGL58嵌入式TCP/IPTCP/IP协议已经广泛地应用于嵌入式系
统中嵌入式TCP/IP网络系统提供符合TCP/IP协议标准的协议栈,提供Socket编程接口。嵌入式网络Socket接口UDP协议TCP协议IP协议ICMP/IGMP协议网络接口层ARP/PPP协议以太网驱动异步串口驱动物理设备应用程序/应用协议59嵌
入式TCP/IP网络系统具有以下的特点:可剪裁:能根据嵌入式系统的功能要求选择所需协议,对完整的TCP/IP协议簇进行剪裁,以满足用户的需要。采用“零拷贝”(ZeroCopy)技术,提高实时性所谓“零拷贝”技术,是指TCP/IP协议栈没有用于各层间数据传递的缓冲区,
协议栈各层间传递的都是数据指针,只有当数据最终要被驱动程序发送出去或是被应用程序取走时,才进行真正的数据搬移。嵌入式TCP/IP60采用静态分配技术在网络初始化时就静态分配通信缓冲区,设置了专门的发送和接收缓冲(其大小一般小于或等于物理网络上的MTU值(包或帧的最大长度),从而确保
了每次发送或接收时处理的数据不会超过MTU值,也就避免了数据处理任务的阻塞等待。嵌入式TCP/IP61无线应用协议WAPWAP体系结构应用层(WAE)事务处理层(WTP)会话层(WSP)传输层(WDP)安全层(WTLS)其它
业务和应用承载网络:GSMCDMAPHSCDPD...62现场总线ICAN系统构成ICAN网络的构成ICAN协议ICAN模块CAN总线接口卡CAN总线网关网桥ICAN工具软件/协议库/OPC服务器CAN总线63无线传感器网络Internet传感器
网络结构模型控制管理中心接收发送器ABCDE传感器节点64通用操作系统的文件系统通常具有以下功能:提供用户对文件操作的命令提供用户共享文件的机制管理文件的存储介质提供文件的存取控制机制,保障文件及文件
系统的安全性提供文件及文件系统的备份和恢复功能提供对文件的加密和解密功能嵌入式文件系统65嵌入式文件系统相比之下较为简单,主要具有文件的存储、检索、更新等功能。它以系统调用和命令方式提供对文件的各种操作,主要有:设置和修改对
文件和目录的存取权限提供建立、修改、改变、删除目录等服务提供创建、打开、读、写、关闭、撤消文件等服务嵌入式文件系统66嵌入式数据库系统用户1用户2用户3用户4用户5外模式A外模式B概念模式存储模式存储模式映像外模式/模式映像数据库RTOSEDBMS外部级概念级内部级67嵌入式系统功耗管理
常用的功耗管理技术:动态功耗管理DMP技术动态电压调整DVP技术存储器功耗管理技术