嵌入式系统与软件课件3.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式系统与软件课件3.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 软件 课件
- 资源描述:
-
1、1l嵌入式软件和通用计算机的软件一样,一般分为系嵌入式软件和通用计算机的软件一样,一般分为系统软件、支撑软件和应用软件三大类。统软件、支撑软件和应用软件三大类。l系统软件:系统软件:控制、管理计算机系统的资源。控制、管理计算机系统的资源。l如:嵌入式操作系统、嵌入式中间件(如:嵌入式操作系统、嵌入式中间件(CORBACORBA、JavaJava)等等l支撑软件:支撑软件:辅助软件开发的工具。辅助软件开发的工具。l如:系统分析设计工具、仿真开发工具、交叉开发工如:系统分析设计工具、仿真开发工具、交叉开发工具、测试工具、配置管理工具、维护工具等。具、测试工具、配置管理工具、维护工具等。l应用软件:
2、应用软件:是面向应用领域。是面向应用领域。l如:手机软件、路由器软件、交换机软件、飞控软件如:手机软件、路由器软件、交换机软件、飞控软件等等2l从从运行平台运行平台来分,嵌入式软件可以分为来分,嵌入式软件可以分为l运行在开发平台上的软件:设计、开发、测运行在开发平台上的软件:设计、开发、测试工具等试工具等l运行在嵌入式系统上的软件:嵌入式操作系运行在嵌入式系统上的软件:嵌入式操作系统、应用程序、驱动程序。统、应用程序、驱动程序。3l按嵌入式系统软件复杂程度来分类按嵌入式系统软件复杂程度来分类 循环轮询系统循环轮询系统有限状态机系统有限状态机系统前后台系统前后台系统单处理器多任务系统单处理器多任
3、务系统多处理器多任务系统多处理器多任务系统4l最简单的软件结构:循环轮询;最简单的软件结构:循环轮询;l程序依次检查系统的每一个输入条件,程序依次检查系统的每一个输入条件,一旦条件成绩就进行相应的处理;一旦条件成绩就进行相应的处理;l适合于慢速和非常快速的简单系统。适合于慢速和非常快速的简单系统。5查询点查询点1查询点查询点2查询点查询点3查询点查询点4查询点查询点5查询点查询点6处理段处理段1处理段处理段6处理段5处理段处理段4处理段处理段2处理段处理段316初始化处理1事件1处理2事件2NYYN7Initialize();While (TRUE)process();Initialize()
4、;While(TRUE)if(condition1)action_1();if(condition2)action_2();/*etc.*/8l循环轮询系统优点:循环轮询系统优点:对于简单的系统而言,便于编程和理解对于简单的系统而言,便于编程和理解没有中断机制,程序运行良好,不会出现没有中断机制,程序运行良好,不会出现随机问题随机问题l循环轮询系统缺点:循环轮询系统缺点:有限的应用领域(由于不可确定性)有限的应用领域(由于不可确定性)对于大量的对于大量的I/OI/O服务的应用,不容易实现服务的应用,不容易实现大的程序不便于调试大的程序不便于调试l因此,它适合于慢速和非常快速的简单系统。因此,它
5、适合于慢速和非常快速的简单系统。9 有限状态机是实时系统设计中一种重要的、有限状态机是实时系统设计中一种重要的、易于建立的、应用比较广泛的、以描述控制特性易于建立的、应用比较广泛的、以描述控制特性为主的为主的建模方法建模方法,它可以应用于从系统分析到设,它可以应用于从系统分析到设计的所有阶段。计的所有阶段。10l有限状态机组成有限状态机组成 一个有限的状态集合一个有限的状态集合Q Q 一个有限的输入集合一个有限的输入集合I I 一个变迁函数一个变迁函数集合集合:Q QIQ IQ l有限状态机通常用有限状态机通常用“状态转移图状态转移图”和和“状态转移表状态转移表”的方式来表示的方式来表示11l
6、状态转移图中的节点代表状态,状态转移图中的节点代表状态,l若在输入下状态由若在输入下状态由q1q1转变为状态转变为状态q2q2,则有一条标有输入的弧线从状态则有一条标有输入的弧线从状态q1q1指指向向q2q2。l此时,其变迁函数此时,其变迁函数(q1,i)=q2(q1,i)=q2。q1q2i/12l有限状态机举例有限状态机举例state0state3state2state1a/f0b/f0b/f1a/f2b/f1b/f2a/f113其其FSM的的2个个输输入入和和4个个状状态态矩矩阵阵如如下下:a b 0 1,f0 3,f1 1 3,f0 2,f2 2 2,f1 0,f1 3 0,f2 3,f
7、0 14l有限状态机优点:有限状态机优点:简单易用,状态间的关系能够直观看到,便于编程简单易用,状态间的关系能够直观看到,便于编程可以快速的执行可以快速的执行 只是通过改变输出功能来改变机器的响应只是通过改变输出功能来改变机器的响应l有限状态机缺点:有限状态机缺点:任何时刻系统只能有一个状态,无法表示并发性,任何时刻系统只能有一个状态,无法表示并发性,不能描述异步并发的系统不能描述异步并发的系统 在系统部件较多时,状态数随之增加,导致复杂性在系统部件较多时,状态数随之增加,导致复杂性显著增长显著增长 对于大的应用系统,难于调试对于大的应用系统,难于调试15后台后台是一个一直在运行的系统。是一个
8、一直在运行的系统。前台前台是由一些中断处理过程组成的。是由一些中断处理过程组成的。当有一前台事件当有一前台事件(外部事件外部事件)发生时,引发生时,引起中断起中断,于是将中断后台运行而进行前于是将中断后台运行而进行前台处理台处理,处理完成后又回到后台处理完成后又回到后台(通常又通常又称主程序称主程序)。16主程序中断1中断2中断1中断2中断11718l需要考虑的是中断的现场保护和恢复,需要考虑的是中断的现场保护和恢复,中断嵌套,中断处理过程与主程序的协中断嵌套,中断处理过程与主程序的协调调(共享资源共享资源)问题。问题。l系统的性能主要由中断延迟时间系统的性能主要由中断延迟时间(Interru
9、pt latency time),(Interrupt latency time),响应时间响应时间(response time)(response time)和恢复时间和恢复时间(recovery(recovery time)time)来刻画。来刻画。19对于一个复杂的嵌入式实时系统来说对于一个复杂的嵌入式实时系统来说,当采用中断处理程序加一个后台主程序这种当采用中断处理程序加一个后台主程序这种软件结构难以实时的、准确的、可靠的完成软件结构难以实时的、准确的、可靠的完成时时存在一些互不相关的过程需要在一个计算机存在一些互不相关的过程需要在一个计算机中同时处理时中同时处理时,就需要采用实时多任
10、务系统。就需要采用实时多任务系统。2021并发多任务:后台前台 ISRsTasks22l单处理器多任务系统主要特点:单处理器多任务系统主要特点:多个顺序执行的程序并行运行(任务)多个顺序执行的程序并行运行(任务)宏观上看,所有任务同时运行,每个任务运行在自宏观上看,所有任务同时运行,每个任务运行在自己独立的己独立的CPUCPU上上实际上,不同的任务是共享同一个实际上,不同的任务是共享同一个CPUCPU和其它硬件。和其它硬件。因此,需要因此,需要RTOSRTOS来对这些共享的设备和数据进行管来对这些共享的设备和数据进行管理理每个程序都被编制成无限循环的程序,等待特定的每个程序都被编制成无限循环的
11、程序,等待特定的输入,执行相应的任务输入,执行相应的任务这种程序模型将系统分成相对简单的,相互合作的这种程序模型将系统分成相对简单的,相互合作的模块模块23l单处理器多任务系统主要优点:单处理器多任务系统主要优点:将复杂的系统分解为相对独立的多个线程,将复杂的系统分解为相对独立的多个线程,达到达到“分而制之分而制之”的目的,从而降低系统的的目的,从而降低系统的复杂性复杂性保证系统的实时性保证系统的实时性系统的模块化好,提高系统的可维护性系统的模块化好,提高系统的可维护性24l单处理器多任务系统缺点:单处理器多任务系统缺点:需要采用一些新的软件设计方法需要采用一些新的软件设计方法需要增加功能:线
12、程间的协调,同步和通信需要增加功能:线程间的协调,同步和通信功能功能需要对每一个共享资源互斥需要对每一个共享资源互斥导致线程间的竞争导致线程间的竞争需要使用需要使用RTOSRTOS,RTOSRTOS要增加系统的开销要增加系统的开销25l实时多任务系统的实现必须有实时多任务实时多任务系统的实现必须有实时多任务操作系统的支持,操作系统主要完成:操作系统的支持,操作系统主要完成:任务切换任务切换任务调度任务调度任务间通信、同步、互斥任务间通信、同步、互斥实时时钟管理实时时钟管理中断管理中断管理26多任务可运行在多个处理器上,由操作系多任务可运行在多个处理器上,由操作系统统一调度和处理。统统一调度和处
13、理。宏观上看是并发的,微观上看也是并发的。宏观上看是并发的,微观上看也是并发的。多处理器系统还不成熟。多处理器系统还不成熟。27多处理器多处理器l紧偶合系统紧偶合系统l多个微处理器通过高速总线互连,共享存储器多个微处理器通过高速总线互连,共享存储器和和I/O设备,并要求主存划分为若干个能独立设备,并要求主存划分为若干个能独立访问的存储模块;访问的存储模块;l松偶合系统松偶合系统l通过通道或通信线实现计算机之间的互连,每通过通道或通信线实现计算机之间的互连,每个计算机有自己的存储器和个计算机有自己的存储器和I/O设备,并配置设备,并配置了了OS来管理本地资源和本地运行的进程;来管理本地资源和本地
14、运行的进程;l协处理器系统协处理器系统l由两个或多个由两个或多个CPU并发执行某一指令流。并发执行某一指令流。2829多处理器系统的网络拓扑多处理器系统的网络拓扑30多处理器系统的网络拓扑多处理器系统的网络拓扑31l嵌入式操作系统可以统称为应用在嵌入式系统的嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:有嵌入式软件的特点,主要有:及时性及时性可确定性可确定性并发性并发性高可信性高可信性可固化可固化 可配置、可剪裁可配置、可剪裁 可扩展性可扩展性 不同的不同的CPUCPU有不同的版本有不同
15、的版本 32l近十年来,嵌入式操作系统得到飞速的发展近十年来,嵌入式操作系统得到飞速的发展l从支持从支持8 8位微处理器到位微处理器到1616位、位、3232位甚至位甚至6464位微处理器;位微处理器;l从支持单一品种的微处理器芯片到支持多品种微处理器从支持单一品种的微处理器芯片到支持多品种微处理器芯片;芯片;l从只有内核到除了内核外还提供其他功能模块,如文件从只有内核到除了内核外还提供其他功能模块,如文件系统,系统,TCP/IPTCP/IP网络系统,窗口图形系统等网络系统,窗口图形系统等l随着嵌入式系统应用领域的扩展,目前嵌入式操随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细
16、分,出现了针对不同领域作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的产品,这些产品按领域的要求和标准提供特定的功能。的功能。33l从应用领域来分:从应用领域来分:l面向信息家电的嵌入式操作系统面向信息家电的嵌入式操作系统l面向智能手机嵌入式操作系统,如面向智能手机嵌入式操作系统,如SymbianOSSymbianOS、PalmOSPalmOS、Smartphone2019Smartphone2019、Embedded LinuxEmbedded Linux等等l面向汽车电子的嵌入式操作系统面向汽车电子的嵌入式操作系统 l面向工业控制的嵌入式操作系统面向工
17、业控制的嵌入式操作系统 .34l从实时性的角度来看,嵌入式操作系统可分为从实时性的角度来看,嵌入式操作系统可分为l嵌入式实时操作系统:嵌入式实时操作系统:具有强实时特点,如具有强实时特点,如VxWorksVxWorks、QNXQNX、NuclearNuclear、OSEOSE、DeltaOSDeltaOS、各种各种ItronOSItronOS等。等。l非实时嵌入式操作系统:非实时嵌入式操作系统:一般只具有弱实时一般只具有弱实时特点,如特点,如WinCEWinCE、版本众多的嵌入式版本众多的嵌入式LinuxLinux、PalmOSPalmOS等。等。35lIEEEIEEE的实时的实时UNIXUN
18、IX分委会认为实时操作系统应具备分委会认为实时操作系统应具备以下的几点以下的几点:1.1.异步的事件响应异步的事件响应 实时系统为能在系统要求的时间内响应异实时系统为能在系统要求的时间内响应异步的外部事件,要求有异步步的外部事件,要求有异步I/OI/O和中断处理能和中断处理能力。力。2.2.任务切换时间和中断延迟时间确定任务切换时间和中断延迟时间确定3.3.优先级调度优先级调度 允许用户定义被调度任务优先级。允许用户定义被调度任务优先级。364.4.抢占式调度抢占式调度 为保证响应时间,实时系统必须允许高优先级任务为保证响应时间,实时系统必须允许高优先级任务一旦准备好运行,就马上抢占低优先级任
19、务的执行。一旦准备好运行,就马上抢占低优先级任务的执行。5.5.内存锁定内存锁定 内存锁定是一种保证某进程驻留在内存而不需换页内存锁定是一种保证某进程驻留在内存而不需换页的方法。在实时环境中,系统应保证将某进程锁定在的方法。在实时环境中,系统应保证将某进程锁定在内存中,以减少数据访问、指令读取、进程间缓冲区内存中,以减少数据访问、指令读取、进程间缓冲区切换等等引起的延迟。将一个进程的地址空间锁定在切换等等引起的延迟。将一个进程的地址空间锁定在内存中,就为应用的响应时间满足实时需要提供了保内存中,就为应用的响应时间满足实时需要提供了保障。一般来说,对时间要求苛刻的进程应锁定在内存障。一般来说,对
20、时间要求苛刻的进程应锁定在内存中。中。376.6.连续文件连续文件 应提供存取盘上数据的优化方法,使得应提供存取盘上数据的优化方法,使得存取数据时查找时间最少。通常要求把数存取数据时查找时间最少。通常要求把数据存储在连续文件上。据存储在连续文件上。7.7.同步同步 提供同步执行的手段。提供同步执行的手段。总之,总之,实时系统是事件驱动实时系统是事件驱动的,能对来自外的,能对来自外界的作用和信号在限定的时间范围内作出响应,界的作用和信号在限定的时间范围内作出响应,强调实时性、可靠性、灵活性。强调实时性、可靠性、灵活性。38 嵌入式实时操作系统:嵌入式实时操作系统:嵌入式和实时性嵌入式和实时性相结
展开阅读全文