版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统说课
1、嵌入式软件系统的体系结构
和软件运行流程嵌入式软件系统的体系结构硬件应用层驱动层操作系统层中间件层板级初始化FLASH驱动RTC/定时器驱动串口驱动以太网驱动LCD
驱动键盘驱动其他驱动内核TCP/IP网络系统文件系统嵌入式GUI电源管理嵌入式CORBA嵌入式JAVA嵌入式DCOM面向应用领域的中间件应用任务1应用任务2……应用任务n与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由应用决定。嵌入式软件运行流程上电复位系统升级引导/升级系统系统初始化应用初始化多任务应用板级初始化远程升级本地升级基于多任务操作系统的嵌入式软件的主要运行流程该运行流程主要分为5个阶段嵌入式软件运行流程上电复位、板级初始化阶段嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(BlockStorageSpace表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。返回嵌入式软件运行流程系统引导/升级阶段根据需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。嵌入式软件运行流程系统引导阶段系统引导有几种情况:将系统软件从NORFlash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。嵌入式软件运行流程系统升级阶段进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级。远程升级一般支持TFTP、FTP、HTTP等方式。本地升级可通过Console口使用超级终端或特定的升级软件进行。返回嵌入式软件运行流程系统初始化阶段
在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。返回嵌入式软件运行流程应用初始化阶段 在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。多任务应用运行阶段 各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算法进行任务的调度,各应用任务分别完成特定的功能。
2、嵌入式操作系统的概述和作用
嵌入式操作系统概述
嵌入式操作系统可以统称为应用在嵌入式系统的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:可固化可配置、可剪裁独立的板级支持包,可修改不同的CPU有不同的版本应用的开发需要有集成的交叉开发工具桌面WindowsWindows3.x:2-5MBWindows98:400MBWindowsXP:1.5GB越来越大…不能定制WindowsCE最小:200KB网络部分大约800KBGWES,ShellandApps大约4MB
InternetExplorer大约3MB与桌面版本比较:
镜像大小CE:CompactEdition(精简版);ConsumerElectronics(消费性电子产品)桌面版WindowsOnlyrunsonx86architectureWindowsCEARM/XscaleMIPSPowerPCSHx86与桌面版本比较:
硬件平台桌面WindowsASCII/UNICODE丰富的API强有力的硬件平台WindowsCE只支持UNICODE部分Win32API,MFC等有限的硬件资源与桌面版比较:
编程接口概述近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片;从只有内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等。随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。VxWorks、WindowsCE、uCLinux、RTLinux、QURTLinux、DeltaOS、PalmOS、pSOS、uCOS、QNX概述计算机系统包括硬件系统和软件系统。操作系统属于系统软件部分,也是系统软件的核心部分。操作系统将计算机系统中所有软硬件资源有机地管理起来为用户服务。计算机系统层次结构软件:指令硬件:芯片等操作系统的作用用户和硬件系统之间的接口系统资源的管理者(多用户共享资源)实现对计算机资源的抽象操作系统是指能合理而且有效地管理计算机所有硬件资源和软件资源的系统软件。
3、嵌入式操作系统的分类和实时操作系统
操作系统的分类与发展
操作系统发展过程中出现多种类别,以下主要了解批处理操作系统、分时操作系统、实时操作系统等1.单道批处理系统用户一次可以提交多个作业,但负责调度作业的监督程序每次只向内存调入一个作业,系统一次也只处理一个作业,处理完一个作业后,再调入下一个作业进行处理,直到这批作业全部完成。如DOS操作系统(AUTOEXEC.BAT)2.多道批处理系统在内存同时保存多个作业,CPU以交替的方式处理各个作业。
CPU保持忙碌状态,提高了CPU的利用率。内存中可以同时保持多个程序并发执行。
CPU运行某个程序的同时,I/O设备可以处理其它程序的输入输出任务,提高了I/O设备的利用率。多道批处理:无交互;作业排队,依次处理,周期较长,无法确定执行时间;3.分时系统
内存中保持多个用户的多个作业,系统内部的操作系统负责协调多个用户分享CPU。采用“时间片轮转”方式分配CPU,所有用户轮流独立使用一个时间片(TimeSlice,一般取100毫秒或更小)时间的CPU。协调多路终端用户同时使用计算机系统,各个用户共享系统的资源。用户与计算机以交互方式工作并在可以接受的时间内将得到响应。分时系统具有多路性、独立性、交互性和及时性特点。Windows,unix,既可以打印,又可以做其他事情。4.实时操作系统
与其它系统的本质区别在于必须“实时”响应请求,并在确定的时间内完成处理。分时操作系统:系统内同时可以有多个程序运行,把CPU的时间分按顺序分成若干片,每个时间片内执行不同的程序,如UNIX、Windows;实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。实时系统与分时系统比较:1)实时控制系统的控制对象所要求的开始截止时间或完成截止时间为毫秒、甚至低于100微秒,而分时系统的响应时间只需在用户的接受范围之内。2)实时系统的交互能力要求不高,只限于一些特定专用服务,而分时系统的用户可以向系统提交数据处理、共享资源等多种服务请求。3)实时系统一般应用在一些特殊的、专用的方面,较之分时系统要求更高的安全性和可靠性。实时操作系统强实时系统,其系统响应时间在毫秒或微秒级。一般实时系统,其系统响应时间在秒的数量级上,其实时性的要求比强实时系统要差一些。弱实时系统,其系统响应时间约为数十秒或更长。这种系统的响应时间可能随系统负载的轻重而变化。实时操作系统根据确定性的强弱,可将嵌入式系统分为硬实时、软实时系统:硬实时:系统对系统响应时间有严格的要求,如果系统响应时间不能满足,就要引起系统崩溃或致命的错误。软实时:系统对系统响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。嵌入式操作系统的演变
在嵌入式系统的发展过程中,从操作系统的角度来看,大致经历了以下几个阶段:无操作系统阶段简单操作系统阶段实时操作系统阶段嵌入式操作系统的演变无操作系统阶段嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上"系统"的概念。嵌入式操作系统的演变无操作系统阶段这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求的信息家电等场合的需要。嵌入式操作系统的演变简单操作系统阶段20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的"操作系统"开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。嵌入式操作系统的演变简单操作系统阶段这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如PowerPC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。嵌入式操作系统的演变实时操作系统阶段20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。嵌入式操作系统的演变实时操作系统阶段这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。实时操作系统
早期嵌入式系统几乎用于控制,或多或少都有实时的要求。
嵌入式操作系统=实时操作系统近年
1、手持式计算机和掌上电脑,非实时系统。
2、CPU速度提高,一些原先认为是“实时”的,现在比较普遍,以前需要在“实时操作系统”上实现的,现在常规的操作系统上也能实现。
嵌入式操作系统<>实时操作系统
嵌入式操作系统使用实时操作系统的必要性
嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素:嵌入式实时操作系统提高了系统的可靠性。提高了开发效率,缩短了开发周期。嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。
嵌入式操作系统实时操作系统的优缺点
优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。缺点:但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。嵌入式操作系统的演变*PercentoftotalsoftwaresuppliedbyRTOSvendorinatypicalembeddeddevice10%*Kernel30%*KernelNetworkingFileSystem75%*KernelNetworkingFileSystemMultiprocessingMemoryManagementNetworkingUtilityWindowsAPIApplicationApplicationApplicationApplication90%*KernelNetworkingFileSystemMultiprocessingFaultToleranceDistributedObjectsAdvancedNetworkingAdvancedInterconnectJavaBrowser/GUI
4、嵌入式操作系统的体系结构
和组成嵌入式操作系统分类从应用领域来分面向信息家电的嵌入式操作系统面向智能手机的嵌入式操作系统,如SymbianOS、MSMobileOS、PalmOS、EmbeddedLinux等面向汽车电子的嵌入式操作系统面向工业控制的嵌入式操作系统
……….从实时性的角度来分嵌入式实时操作系统:具有强实时特点,如VxWorks、QNX、Nuclear、OSE、DeltaOS、各种ITRONOS等。非实时嵌入式操作系统:一般只具有弱实时特点,如WinCE、版本众多的嵌入式Linux、PalmOS等。从嵌入式系统的商业模式来分类商用型:功能稳定、可靠,有完善的技术支持和售后服务,开发费用+版税。开源型:开放源码,只收服务费,没有版税。如Embeddedlinux,RTEMS,eCOS。嵌入式操作系统体系结构体系结构是操作系统的基础,它定义了硬件与软件的界限、内核与操作系统其它组件(文件、网络、GUI等)的组织关系、系统与应用的接口。体系结构是确保系统的性能、可靠性、灵活性、可移植性、可扩展性的关键,就好比房子的梁架,只有梁架搭牢固了才提得上房子的质量,再做一些锦上添花的工作才有意义。嵌入式操作系统体系结构目前嵌入式操作系统主要采用分层和模块化相结合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层、硬件抽象层和硬件相关层,每层再划分功能模块。这样移植工作便集中在硬件相关层,与其余两层无关,功能的伸缩则集中在模块上,从而确保其具有良好的可移植性和可伸缩性。而采用微内核结构,则可利用其可伸缩的特点适应硬件的发展,便于扩展。
嵌入式操作系统体系结构应用程序任务管理硬件用户扩展处理调度管理硬件抽象层应用编程接口内存管理中断管理时钟/定时器管理I/O管理出错处理同步、通信管理(消息队列,信号量,事件,异步信号))DeltaCORE的体系结构:层次+模块结构分层次模块化嵌入式操作系统体系结构硬件进程服务用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答客户/服务器结构(微内核结构)嵌入式操作系统体系结构微内核结构的优点(强内核)提供一致的接口可扩展性:扩展对新的软件/硬件支持灵活性:可伸缩可移植性分布式系统支持适用于面向对象操作系统环境性能问题:通过微内核构造和发送信息、接受应答并解码所花费的时间比进行一次系统调用的时间多很大程度取决于微内核的大小和功能嵌入式操作系统的组成…………嵌入式内核内核是嵌入式操作系统的基础,也是必备的部分。内核还提供特定的应用编程接口,但目前没有统一的标准。
任务管理内存管理通信同步与互斥机制中断管理时间管理任务扩展…………嵌入式内核任务管理内核的核心部分,具有任务调度、创建任务、删除任务、挂起任务、解挂任务、设置任务优先级等功能。通用计算机的操作系统追求的是最大的吞吐率,为了达到最佳整体性能,其调度原则是公平,采用Round-Robin或可变优先级调度算法,调度时机主要以时间片为主驱动。而嵌入式操作系统多采用基于静态优先级的可抢占的调度,任务优先级是在运行前通过某种策略静态分配好的,一旦有优先级更高的任务就绪就马上进行调度。嵌入式内核内存管理嵌入式操作系统的内存管理比较简单。通常不采用虚拟存储管理,而采用静态内存分配和动态内存分配(固定大小内存分配和可变大小内存分配)相结合的管理方式。(所有程序中访问的地址都是实际的物理地址)有些内核利用MMU机制提供内存保护功能。允许多个进程安全地共享主内存区域。通用操作系统广泛使用了虚拟内存的技术,为用户提供一个功能强大的虚存管理机制。嵌入式内核通信、同步和互斥机制这些机制提供任务间、任务与中断处理程序间的通信、同步和互斥功能。一般包括信号量、消息、事件、管道、异步信号和共享内存等功能。与通用操作系统不同的是,嵌入式操作系统需要解决在这些机制的使用中出现的优先级反转问题。嵌入式内核中断管理,一般具有以下功能:安装中断服务程序中断发生时,对中断现场进行保存,并且转到相应的服务程序上执行中断退出前,对中断现场进行恢复中断栈切换中断退出时的任务调度
嵌入式内核时间管理一般具有以下功能:维持日历时间;任务有限等待的计时;软定时器的定时管理;维持系统时间片轮转调度。大多数嵌入式系统有两种时钟源:实时时钟(realtimeclock,RTC)定时器/计数器嵌入式内核实时时钟:一般靠电池供电,即使系统断电,也可以维持日期和时间。实时时钟独立于操作系统,所以也被称为硬件时钟,为整个系统提供一个计时标准。定时器/计数器:实时内核需要一个定时器作为系统时钟(或称OS时钟),并由实时内核控制系统时钟工作。一般来说,实时时钟是系统时钟的时间基准,实时内核通过读取实时时钟来初始化系统时钟,此后二者保持同步运行,共同维系系统时间。嵌入式内核任务扩展功能任务扩展功能就是在内核中设置一些Hook的调用点,在这些调用点上内核调用应用设置的、应用自己编写的扩展处理程序,以扩展内核的有关功能。Hook调用点有任务创建、任务切换、任务删除、出错处理等。返回5、常见嵌入式操作系统常见嵌入式操作系统µC/OS-II是一个抢占式实时多任务内核。它是用ANSI的C语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。至今,从8位到64位,µC/OS-II已经在40多种不同架构的微处理器上使用。使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。常见的嵌入式操作系统——µC/OS-II常见嵌入式操作系统µC/OS-II全部以源代码的方式提供,大约有5500行。CPU相关的部分使用的是针对Intel80x86微处理器的代码。µC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。
uClinux是一个完全符合GNU/GPL(通用公共许可证)公约的操作系统,完全开放代码。uClinux从Linux
2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。常见嵌入式操作系统常见的嵌入式操作系统——uLinux常见嵌入式操作系统常见的嵌入式操作系统
WindowsCE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows95。WindowsCE的图形用户界面相当出色。WinCE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。WinCE不仅继承了传统的Windows图形界面,并且在WinCE平台上可以使用Windows95/98上的编程工具(如VisualBasic、VisualC++等)、使绝大多数的应用软件只需简单的修改和移植就可以在WindowsCE平台上继续使用。
——WinCE常见嵌入式操作系统常见的嵌入式操作系统——VxWorksVxWorks操作系统是美国公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks。常见嵌入式操作系统常见的嵌入式操作系统——VxWorks特点:收费高可靠性实时性强可裁减性常见嵌入式操作系统常见的嵌入式操作系统
OSE主要是由ENEADataAB下属的ENEAOSESystemsAB负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。
OSE的客户深入到电信,数据,工控,航空等领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信,诺基亚,西门子等知名公司确定了良好的关系。特点:高处理能力、广泛的应用、适合开发复杂的分布式系统。——OSE常见嵌入式操作系统常见的嵌入式操作系统
NucleusPLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。
NucleusPLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使NucleusPLUS的各个组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022-2023学年贵州省六盘水市钟山区四年级(上)期末数学试卷
- Unit-4-My-home-Part-A-教案设计-小学英语四年级上册-人教PEP版
- 2025年产品营销协议(2篇)
- 2025年个人果园承包合同(4篇)
- 2025年产品供应与销售代合同(三篇)
- 2025年买房书面合同协议范文(2篇)
- 2025年个人租房的合同常用版(4篇)
- 2025年产品委托销售合同经典版(三篇)
- 2025年个人工程合作协议范文(2篇)
- 农业项目股权投资居间合同
- 2025年初中语文:春晚观后感三篇
- Unit 7 第3课时 Section A (Grammar Focus -4c)(导学案)-【上好课】2022-2023学年八年级英语下册同步备课系列(人教新目标Go For It!)
- 2025年上半年长沙市公安局招考警务辅助人员(500名)易考易错模拟试题(共500题)试卷后附参考答案
- 《教育强国建设规划纲要(2024-2035年)》解读讲座
- 2025河北邯郸世纪建设投资集团招聘专业技术人才30人高频重点提升(共500题)附带答案详解
- 慈溪高一期末数学试卷
- 预算绩效评价管理机构入围投标文件(技术方案)
- 重大事故隐患判定标准与相关事故案例培训课件
- 2024年度节后复工建筑施工安全培训交底
- 变更户主情况登记表
- 民族主义与民粹主义
评论
0/150
提交评论