




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统开发基础第1页,共93页,2023年,2月20日,星期一参考资料:1、黄智伟等嵌入式系统基础教程北京航空航天大学;2、马洪连嵌入式系统设计教程电子工业出版社;3、王田苗嵌入式系统设计与实例开发北京航空航天大学;4、S3C2410数据手册。第2页,共93页,2023年,2月20日,星期一第一章 嵌入式系统基础知识
本章从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式技术的发展趋势等方面进行了介绍,建立起的嵌入式系统整体概念。
第3页,共93页,2023年,2月20日,星期一1.1 嵌入式系统概述
一、嵌入式计算机 二、嵌入式系统的概念 三、嵌入式系统的特点 四、嵌入式系统的分类
第4页,共93页,2023年,2月20日,星期一一、嵌入式计算机在电子计算机发展的初期,计算机一直是“供养”在特殊的机房中的大型、昂贵的专用设备,主要是实现一些特殊的数值计算。直到20世纪70年代微处理器的出现,计算机应用才出现了历史性的变化。这也使计算机摘掉神圣的光环走下了神坛,步入平民化的时代。同时微处理器表现出的智能化水平引起了设备制造、机电控制等专业人士的兴趣,要求将微型机嵌入到一个控制对象的体系中,实现对象体系的智能化控制。第5页,共93页,2023年,2月20日,星期一 嵌入式计算机微处理器的问世极大的促进了控制领域的发展,复杂的控制系统最初只是由简单的设备组成,以微处理器这样的部件作为主要的控制和反馈器件,极大的提高了系统的可控性和智能化。经过发展,到80年代初微处理器及微控制器各自已发展为一个庞大的家族,以Intel公司x86为主流的应用于个人计算机PC的微处理器格局已形成。为了区别于原有使用在PC的通用计算机,把嵌入到对象体系中、实现对象体系智能化控制的微控制器的计算机,称作嵌入式计算机。第6页,共93页,2023年,2月20日,星期一 嵌入式计算机因此,嵌入式计算机是诞生于微处理器发展时代;早期嵌入式计算机是将一个计算机嵌入到一个具体应用的控制对象的体系中去,这些是嵌入式系统发展的起点。这也标志着计算机进入了通用计算机与嵌入式计算机两大分支、并行发展时代,从而导致20世纪末,计算机应用的高速发展并由此引发了计算机分类方式的变化。第7页,共93页,2023年,2月20日,星期一
嵌入式系统的概念随着计算机技术对其它行业的广泛渗透和与其它行业应用技术的相互结合,以应用为中心的分类方法变得似乎更加切合实际发展;按计算机的嵌入式应用和非嵌入式应用将其分为通用计算机和嵌入式计算机。而通用计算机具有一般计算机的基本标准形态,通过装配不同的应用软件,以基本雷同的面目出现并应用在社会的各个方面,其典型产品为PC;第8页,共93页,2023年,2月20日,星期一 嵌入式系统的概念而非通用计算机-嵌入式计算机,则是非通用计算机形态的计算机应用,它是以作为嵌入式系统的核心部件的形式隐藏在各种装置、设备、产品和系统中。嵌入式计算机是计算机技术发展中的一种计算机存在的形式,是从计算机技术的发展中分离出来的。第9页,共93页,2023年,2月20日,星期一从技术角度定义:嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。二、嵌入式系统的概念第10页,共93页,2023年,2月20日,星期一可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序4个部分组成。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。第11页,共93页,2023年,2月20日,星期一三、嵌入式系统的特点它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能。它与通用的计算机系统相比具有以下显著特点:功耗低、体积小、具有专用性嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严格的要求,一般的嵌入式系统具有低功耗、体积小、集成度高、成本低等特点;是专用计算机系统第12页,共93页,2023年,2月20日,星期一 嵌入式系统的特点嵌入式系统运行环境差异很大;嵌入式系统比通用PC系统资源少得多;实时性强,系统内核小;嵌入式系统的目标代码通常是固化在非易失性存储器(ROM,EPROM,EEPROM,FLASH)芯片中;嵌入式系统高效、可靠、稳定工作;第13页,共93页,2023年,2月20日,星期一 嵌入式系统的特点具有较长的生命周期;嵌入式系统使用的操作系统一般是实时操作系统(RTOS),系统有实时约束;嵌入式系统需要专用开发工具和方法进行设计;嵌入式微处理器通常包含专用调试电路;嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统;第14页,共93页,2023年,2月20日,星期一四、嵌入式系统的分类嵌入式系统按表现形式及使用硬件种类分为:系统中使用含程序或算法的处理器的嵌入式系统为芯片级嵌入;系统中使用某个核心模块的嵌入式系统为模块级嵌入;嵌入式系统按软件实时性需求分:
非实时系统(如PDA);
软实时系统(如消费类产品);
硬实时系统(工业实时控制系统)
第15页,共93页,2023年,2月20日,星期一1.2嵌入式系统的应用领域及发展趋势
消费电子嵌入式应用信息家电智能玩具军事电子通信设备移动存贮工控设备智能仪表汽车电子网络设备工业军事国防电子商务网络第16页,共93页,2023年,2月20日,星期一第17页,共93页,2023年,2月20日,星期一第18页,共93页,2023年,2月20日,星期一第19页,共93页,2023年,2月20日,星期一现实中的嵌入式系统第20页,共93页,2023年,2月20日,星期一第21页,共93页,2023年,2月20日,星期一第22页,共93页,2023年,2月20日,星期一第23页,共93页,2023年,2月20日,星期一第24页,共93页,2023年,2月20日,星期一第25页,共93页,2023年,2月20日,星期一第26页,共93页,2023年,2月20日,星期一Technologieschangeourlife/work第27页,共93页,2023年,2月20日,星期一第28页,共93页,2023年,2月20日,星期一第29页,共93页,2023年,2月20日,星期一第30页,共93页,2023年,2月20日,星期一1.2.2嵌入式技术的发展趋势1.嵌入式系统的发展历史从单片机的出现到今天各种嵌入式微处理器、微控制器的广泛应用,嵌入式系统的应用可以追溯到20世纪60年代中期,例如阿波罗飞船的导航控制系统AGC(ApolloGuidanceComputer)。嵌入式系统的发展历程,大致经历了以下4个阶段。(1)无操作系统阶段单片机是最早应用的嵌入式系统,单片机作为各类工业控制和飞机、导弹等武器装备中的微控制器,用来执行一些单线程的程序,完成监测、伺服和设备指示等多种功能,一般没有操作系统的支持,程序设计采用汇编语言。由单片机构成的这种嵌入式系统使用简便、价格低廉,在工业控制领域中得到了非常广泛的应用。第31页,共93页,2023年,2月20日,星期一(2)简单操作系统阶段20世纪80年代,出现了大量具有高可靠性、低功耗的嵌入式CPU(如PowerPC等),芯片上集成有微处理器、I/O接口、串行接口及RAM、ROM等部件,面向I/O设计的微控制器在嵌入式系统设计应用。一些简单的嵌入式操作系统开始出现并得到迅速发展,程序设计人员也开始基于一些简单的“操作系统”开发嵌入式应用软件。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,大大缩短了开发周期,提高了开发效率。(3)实时操作系统阶段20世纪90年代,面对分布控制、柔性制造、数字化通信和信息家电等巨大市场的需求,嵌入式系统飞速发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,实时多任务操作系统(Real-timeOperationSystem,RTOS)逐渐形成。第32页,共93页,2023年,2月20日,星期一系统能够运行在各种不同类型的微处理器上,具备了文件和目录管理、设备管理、多任务、网络、图形用户界面GraphicUserInterface,GUI)等功能,并提供了大量的应用程序接口ApplicationProgrammingInterface,API),从而使应用软件的开发变得更加简单。(4)面向Internet阶段进入21世纪,Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式技术与Internet技术的结合正在推动着嵌入式系统的飞速发展。第33页,共93页,2023年,2月20日,星期一1.2.2嵌入式技术的发展趋势嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。嵌入式应用的开发需要强大的开发工具和操作系统的支持。Linux、WindowsCE、PalmOS等嵌入式操作系统迅速发展。嵌入式操作系统自身结构的设计更加便于移植,具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,能够在短时间内支持更多的微处理器。计算机的新技术、新观念开始逐步移植到嵌入式系统中,嵌入式软件平台得到进一步完善。新的微处理器层出不穷,精简系统内核,优化关键算法,降低功耗和软硬件成本。提供更加友好的多媒体人机交互界面。设备实现小尺寸、微功耗和低成本。连网成为必然趋势。物联网嵌入式软件开发走向标准化第34页,共93页,2023年,2月20日,星期一1.3嵌入式系统的组成结构1.3.1嵌入式系统硬件基本结构介绍1.3.2嵌入式微处理器体系结构1.3.3嵌入式微处理器的结构和类型 1.3.3嵌入式系统软件的层次结构 第35页,共93页,2023年,2月20日,星期一
应用程序实时操作系统(RTOS)输入输出接口处理器/ARM核MMU/CacheSOC/SOPCUSBGPIOIISLCDUART和IrDAADC/DACFPGA/CPLDDSP/浮点运算协处理器DMA电源管理典型的嵌入式系统组成人机交互接口LCD/触摸屏、键盘、鼠标设备驱动程序、HAL、BSP文件系统/图形用户应用程序接口驱动层OS层应用层软件硬件以太网看门狗及复位电路Timer/RTCCANFlashEEPROMSDRAMSRAM内存第36页,共93页,2023年,2月20日,星期一1.3.1嵌入式系统硬件基本结构介绍 嵌入式系统的硬件架构如图下半部分所示,是以嵌入式处理器为中心,配置存储器、I/O设备、通信模块以及电源等必要的辅助接口组成。嵌入式系统是“量身定做”的“专用计算机应用系统”,又不同于普通计算机组成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电路以外,其余的电路都可以根据需要和成本进行“裁剪”、“定制化”(Customize),非常经济、可靠。
第37页,共93页,2023年,2月20日,星期一 嵌入式系统硬件基本结构介绍 嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力,常常外接DSP和DSP协处理器(也可内部集成)完成高性能信号处理。随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术的发展,以微处理器为核心的集成多种功能的SoC系统芯片已成为嵌入式系统的核心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的SoC芯片,这些SoC集成了大量的外围USB、UART、以太网、AD/DA、IIS等功能模块。
第38页,共93页,2023年,2月20日,星期一 嵌入式系统硬件基本结构介绍可编程片上系统SOPC(SystemOnProgrammableChip)结合了SoC和PLD、FPGA各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应用中的完美体现,极大的提高了系统的在线升级、换代能力。以SoC/SOPC为核心,可以用最少的外围部件和连接部件构成一个应用系统,满足系统的功能需求,也是嵌入式系统发展的一个方向因此现代嵌入式设计是以处理器/SoC/SOPC为核心,完成系统设计的,其外围接口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、传感器等)构成硬件系统。对于嵌入式硬件的各个模块将在第三部分作全面介绍。第39页,共93页,2023年,2月20日,星期一1.3.2嵌入式处理器嵌入式微处理器
嵌入式微控制器
嵌入式DSP嵌入式片上系统(SOC)多核处理器第40页,共93页,2023年,2月20日,星期一
嵌入式微处理器嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,早期的嵌入式系统是将微处理器装配在专门设计的电路板上,在电路板上设计了和嵌入式系统相关的功能模块,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:Am186/88、386EX、PowerPC、Motorola68000、ARM、MIPS系列等等。第41页,共93页,2023年,2月20日,星期一
嵌入式微控制器
嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。第42页,共93页,2023年,2月20日,星期一嵌入式DSP
嵌入式DSP处理器有两个发展方向:是嵌入式DSP处理器和嵌入式处理器经过单片化设计,片上增加丰富的外设成为具有高性能DSP功能的SoC;是在通用微处理器、微控制器或SoC中增加DSP协处理器,例如Intel的MCS-296和Siemens的TriCore。第43页,共93页,2023年,2月20日,星期一典型嵌入式处理器介绍MIPS处理器
PowerPC处理器
Sparc处理器
ARM处理器
第44页,共93页,2023年,2月20日,星期一嵌入式SoC20世纪90年代后,嵌入式系统设计从以嵌入式微处理器/DSP为核心的“集成电路”级设计不断转向“集成系统”级设计,提出了SoC的基本概念。目前嵌入式系统已进入单片系统SoC的设计阶段,并开始逐步进入实用化、规范化阶段,集成电路已进入SoC的设计流程。第45页,共93页,2023年,2月20日,星期一嵌入式SoC单片系统设计如果从零开始,这既不现实也无必要。因为除了设计不成熟、未经过时间考验,系统性能和质量得不到保证外,还会因为设计周期太长而失去商业价值。为了加快单片系统设计周期和提高系统的可靠性,目前最有效的一个途径就是通过授权,使用已成熟且经过优化的IP内核模块来进行设计集成和二次开发,利用胶粘逻辑技术GLT(GlueLogicTechnology),把这些IP内核模块嵌入到SoC中。第46页,共93页,2023年,2月20日,星期一嵌入式片上系统IP核(IntellectualPropertyCore,知识产权核)SOC(SystemOnChip,片上系统)是90年代中期出现的一个概念,并成为现代集成电路设计的发展方向。SOC是指在单芯片上集成数字信号处理器、微控制器、存储器、数据转换器、接口电路等电路模块,可以直接实现信号采集、转换、存储、处理等功能。IP核是指具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。
第47页,共93页,2023年,2月20日,星期一IP核分为用硬件描述语言(hardwareDescriptionLanguage,HDL)文本形式提交给用户,经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息的软核(SoftIPCore);完成软核所有的设计外,还完成了门级电路综合和时序仿真等设计环节,一般以门级电路网表的形式提供给用户的固核(FirmIPCore);基于物理描述,并经过工艺验证,具有可保证的性能,提供给用户的形式是电路物理结构掩模版图和全套工艺文件的硬核(HardIPCore)。IP软核以源代码的形式提供的,IP知识产权不易保护。IP硬核易于实现IP保护,缺点是灵活性和可移植性差。目前全球IP核市场处于快速成长的阶段,EDA联盟、RAPID联盟、VCX联盟与VSIA联盟等都在积极推动IP核的开发、应用及推广。其中,EDA联盟主要是以如何提供更好的EDA软件工具为主,VSIA联盟主要针对IP核的定义、开发、授权及测试等建立一个公开的共性规范。ARM、Rambus和MIPS在十大IP供应商排行中居前3位。第48页,共93页,2023年,2月20日,星期一嵌入式SoC当然,并不是所需要的IP内核模块都可以从市场上买得到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。而ARM公司以IP提供者的身份向各大半导体制造商出售知识产权,自己却不介入芯片的生产和销售。ARM芯核的卓越特性,使其成为32位嵌入式应用开发工程师的首选;基于ARM处理器核的SoC芯片的应用开发得到广泛的应用。SoC芯片已经成为提高移动通信、网络、信息家电、高速计算、多媒体应用及军用电子系统性能的核心器件,是嵌入式系统的硬件核心。第49页,共93页,2023年,2月20日,星期一嵌入式SoC举例我们以HMS30C7202为例讲述一个实际的SoC。HMS30C7202是韩国现代公司开发的基于ARM720T内核、主频为70MHz、功能非常强大高集成度的片上系统,它片内外设的资源很多,广泛应用于PDA、智能电器、工业控制、网络设备、音频设备、电子图书、POS等。图是HMS30C7202的功能和系统配置图。其片上外围设备包括UART、USB、PS2和CAN接口,I2S接口通过外部DAC提供高质量的音频输出。电源管理单元的特点是低功耗。第50页,共93页,2023年,2月20日,星期一第51页,共93页,2023年,2月20日,星期一多核处理器双核或多核处理器早已在SOC、多媒体、网络等一些嵌入式处理器中采用。但真正引人注目的是多核技术被引入到最高性能的通用处理器中。将两个或多个CPU核封装在一个芯片内部,可节省大量的晶体管和封装成本,同时还能显著提高处理器的性能。另外,由于多核处理器对外的“界面”是统一的,用户不会在主板、硬件体系方面做大的改变,从兼容性和系统升级成本方面来考虑有诸多的优势。实现两个或多个内核协调工作通常采用对称(Symmetric)多处理技术和非对称多处理(Asymmetric)两种方式。例如IBMPower4处理器采用对称多处理技术,将两颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,由于共享了缓存和系统总线,因此这种做法的优点是能节省运算资源。例如TI公司的OMAP5910双核处理器采用一种非对称多处理的工作方式,即两个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务,比如一个执行加密,而另一个执行TCP/IP协议处理。第52页,共93页,2023年,2月20日,星期一嵌入式外围接口电路和设备接口根据外围设备的功能可分为以下5类
存储器类型通信接口输入输出设备设备扩展接口电源及辅助设备第53页,共93页,2023年,2月20日,星期一设备扩展接口
简单的嵌入式系统如具有简单的记事本、备忘录以及日程计划等功能的PDA,它所需要存储的数据量并不需要很大的内存。由于目前的嵌入式系统功能越来越复杂,需要大容量内存,大的内存使得系统成本和体积加大。目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。
常用的扩展卡还有各种CF卡、SD卡、MemoryStick等。目前高端的嵌入式系统都留有一定的扩展卡接口。
第54页,共93页,2023年,2月20日,星期一1.3.3嵌入式系统软件的层次结构如当设计一个简单的应用程序时,可以不使用操作系统,但是当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。依据系统所提供的程序界面来编写应用程序,可以大大的减少应用程序员的负担。对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面:设备驱动层、实时操作系统(RTOS)、应用程序接口(API)层、实际应用程序层。有些资料将应用程序接口API归属于OS层,如图1-1的上半部分所示的嵌入式系统的软件结构,是按三层划分的。由于硬件电路的可裁减性和嵌入式系统本身的特点,其软件部分也是可裁减的。对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序。现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。本节主要讲述的具有操作系统的嵌入式软件层次。第55页,共93页,2023年,2月20日,星期一1.中间层中间层也称为硬件抽象层(HardwareAbstractLayer,HAL)或板级支持包(BoardSupportPackage,BSP),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。BSP作为上层软件与硬件平台之间的接口,需要为操作系统提供操作和控制具体硬件的方法。不同的操作系统具有各自的软件层次结构,BSP需要为不同的操作系统提供特定的硬件接口形式。BSP使上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。BSP一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。第56页,共93页,2023年,2月20日,星期一(1)嵌入式系统硬件初始化系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化、板级初始化和系统级初始化3个主要环节。①片级初始化是一个纯硬件的初始化过程,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态设置成系统所要求的工作状态。②板级初始化是一个同时包含软硬件两部分在内的初始化过程,完成嵌入式微处理器以外的其他硬件设备的初始化,设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。③系统级初始化主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。第57页,共93页,2023年,2月20日,星期一(2)硬件相关的设备驱动程序
BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。2.系统软件层
系统软件层通常包含有实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。(1)嵌入式操作系统(EmbeddedOperatingSystem,EOS)EOS负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。第58页,共93页,2023年,2月20日,星期一EOS除具备了一般操作系统最基本的任务调度、同步机制、中断处理、文件处理等功能外,还具有如下特点:强实时性;支持开放性和可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口;提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能;嵌入式操作系统的用户接口通过系统的调用命令向用户程序提供服务;嵌入式系统一旦开始运行就不需要用户过多的干预;嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中;具有良好的硬件适应性(可移植性)。(2)文件系统嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。嵌入式文件系统通常支持FAT32、JFFS2、YAFFS等几种标准的文件系统,一些嵌入式文件系统还支持自定义的实时文件系第59页,共93页,2023年,2月20日,星期一介质,配置可同时打开的最大文件数等。同时,嵌入式文件系统可以方便的挂接不同存储设备的驱动程序,支持多种存储设备。嵌入式文件系统以系统调用和命令方式提供文件的各种操作,如设置、修改对文件和目录的存取权限,提供建立、修改、改变和删除目录等服务,提供创建、打开、读写、关闭和撤销文件等服务。(3)图形用户接口(GUI)GUI使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。嵌入式GUI与PC机上的GUI有着明显的不同,嵌入式系统的GUI要求具有轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。第60页,共93页,2023年,2月20日,星期一实现嵌入式系统中的图形界面一般采用下面的几种方法:针对特定的图形设备输出接口,自行开发相应的功能函数;购买针对特定嵌入式系统的图形中间软件包;采用源码开放的嵌入式GUI系统;使用独立软件开发商提供的嵌入式GUI产品。3.应用软件层应用软件层用来实现对被控对象的控制功能,由所开发的应用程序组成,面向被控对象和用户。为方便用户操作,通常需要提供一个友好的人机界面。第61页,共93页,2023年,2月20日,星期一 嵌入式系统软件的层次结构具有操作系统的嵌入式软件层次驱动层程序实时操作系统(RTOS)操作系统的应用程序接口(API)应用程序第62页,共93页,2023年,2月20日,星期一1.4嵌入式操作系统
1.4.1嵌入式操作系统 1.4.2嵌入式实时操作系统 1.4.3典型嵌入式操作系统介绍
第63页,共93页,2023年,2月20日,星期一1.4.1嵌入式操作系统计算机由硬件和软件两部分组成,操作系统OS(OperatingSystem)是配置在计算机硬件上的第一层软件,在计算机系统中占据了特殊重要的地位;操作系统可以解释或理解为补平硬件差异的界面或是说隐藏硬件,让应用程序可以在上面运行。通过由操作系统统一所提供出来的系统界面来写应用程序,无须考虑到不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发第64页,共93页,2023年,2月20日,星期一嵌入式操作系统嵌入式系统一般具有实时特点。所谓实时系统,是指一个优先等级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务。而且在得到CPU的使用权后,它可以一直执行到工作结束或是有更高等级的进程出现为止。1.RTOS是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。RTOS的正确性不仅依赖于系统计算的逻辑结果,还依赖于产生这个结果的时间。第65页,共93页,2023年,2月20日,星期一 嵌入式操作系统嵌入式操作系统相对于一般操作系统而言,仅指操作系统的内核(或者微内核),其他的诸如窗口系统界面或是通讯协议等模块,可以另外选择,目前大多数的嵌入式操作系统必须提供以下管理功能:多任务管理
存储管理
周边资源管理
中断管理
第66页,共93页,2023年,2月20日,星期一2.实时操作系统RTOS应具有的特点(1)约束性
RTOS任务的约束包括时间约束、资源约束、执行顺序约束和性能约束。RTOS的任务具有时间约束性。时间约束是任何RTOS都固有的约束。时间约束性可分为“硬实时”和“软实时”。硬实时是指在航空航天、军事、核工业等一些关键领域中应用的系统,时间要求必须能够得到完全满足,否则将造成不可预计的结果。软实时通常是指在监控系统、信息采集系统等某些应用中,有时间约束要求,但偶尔违反不会造成严重影响。第67页,共93页,2023年,2月20日,星期一资源约束是指多个实时任务共享有限的资源时,必须按照一定的资源访问控制协议进行同步,以避免死锁和高优先级任务被低优先级任务堵塞的时间(即优先级倒置时间)不可预测。执行顺序约束是指各任务的启动和执行必须满足一定的时间和顺序约束。例如,在分布式端到端(end-to-end)实时系统中,同一任务的各子任务之间存在前驱/后继约束关系,需要执行同步协议来管理子任务的启动和控制子任务的执行,使它们满足时间约束和系统可调度性要求。性能约束是指必须满足如可靠性、可用性、可预测性、服务质量(QualityofService,QoS)等性能指标。第68页,共93页,2023年,2月20日,星期一(2)可预测性可预测性是指RTOS完成实时任务所需要的执行时间应是可知的。可预测性是RTOS的一项重要性能要求。可预测性包括硬件时延的可预测性和软件系统的可预测性(包括应用程序的响应时间是可预测的,以及操作系统的可预测性)。在多种任务型RTOS中,不但包括周期任务、偶发任务、非周期任务,还包括非实时任务。多种类型任务的混合,使系统的可调度性、可预测性分析更加困难。第69页,共93页,2023年,2月20日,星期一(3)可靠性大多数RTOS要求有较高的可靠性,要求系统在最坏情况下都能正常工作或避免损失。可靠性是RTOS的重要性能指标。(4)交互性外部环境是RTOS不可缺少的一个组成部分,外部环境往往是被控子系统,两者相互作用构成完整的实时系统。嵌入式计算机系统一般作为控制系统,必须在规定的时间内对被控子系统请求做出反应。被控子系统也必须能够正常工作或准备对任何异常行为采取动作。第70页,共93页,2023年,2月20日,星期一3.RTOS调度给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。而RTOS中调度的目的则是要尽可能地保证每个任务满足它们的时间约束,及时对外部请求做出响应。实时调度技术常用的有以下两种。(1)抢占式调度和非抢占式调度抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。抢占式调度实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用微处理器就必须执行完毕或自愿放弃,其优点是上下文切换少,缺点是微处理器有效资源利用率低,可调度性不好。第71页,共93页,2023年,2月20日,星期一2)静态表驱动策略和优先级驱动策略静态表驱动策略是一种离线调度策略,指在系统运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表。在系统运行时,调度器只需根据这张时刻表启动相应的任务即可。优先级驱动策略指按照任务优先级的高低确定任务的执行顺序。优先级驱动策略又分为静态优先级调度策略和动态优先级调度策略。静态优先级调度是指任务的优先级分配好之后,在任务的运行过程中,优先级不会发生改变。静态优先级调度又称为固定优先级调度。动态优先级调度是指任务的优先级可以随着时间或系统状态的变化而发生变化。第72页,共93页,2023年,2月20日,星期一4.RTOS分类RTOS主要分为强实时(HardReal-Time)系统和弱实时(SoftReal-Time)系统两类。强实时系统应用在航空航天、军事、核工业等领域中,弱实时系统如视频点播系统、信息采集与检索系统等。5.实时任务分类实时任务的分类方法有多种,根据任务的周期划分,可以分为周期任务、偶发任务和非周期任务3类。根据是否允许任务超时,以及超时后对系统造成的影响,任务又分为强实时任务、准实时任务、弱实时任务和弱一强实时任务4类。6.RTOS操作系统和内核RTOS从单用途专用系统向多用途通用操作系统(如实时Linux等)发展。RTOS从只支持强实时及其应用发展到既支持强实时也支持弱实时及其应用方面,如开放实时系统的服务质量(QoS)多媒体应用、复杂分布式实时系统等。第73页,共93页,2023年,2月20日,星期一大多嵌入式系统应用在实时环境中,因此嵌入式操作系统跟实时(Real-Time)操作系统密切联系在一起。
实时操作系统可以根据实际应用环境的要求对内核进行剪裁和重新配置,组成可根据实际的不同应用领域而有所不同。但以下几个重要组成部分是不太变化的:实时内核、网络组件、文件系统和图形接口等。第74页,共93页,2023年,2月20日,星期一应用程序驱动程序、硬件抽象层、板级支持包文件系统/图形用户接口驱动层OS层应用层扩展模块基本模块进程调度内存管理调度文件管理进程调度OS核图形驱动数据库模块应用程序接口(API)硬件(Hardware)网络模块调度图1-4RTOS体系结构图第75页,共93页,2023年,2月20日,星期一典型嵌入式操作系统介绍
嵌入式操作系统的种类繁多,但大体上可分为两种——商用型和免费型。商用型的操作系统主要有VxWorks、WindowsCE、Psos、PalmOS、OS-9、LynxOS、QNX、LYNX等
免费型的操作系统主要有Linux和µC/OS-II嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统
第76页,共93页,2023年,2月20日,星期一 典型嵌入式操作系统介绍
µC/OS-II嵌入式操作系统内核
VxWorks嵌入式实时操作系统
WinCE操作系统
Linux操作系统
第77页,共93页,2023年,2月20日,星期一µC/OS-II嵌入式操作系统内核
µC/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点。µC/OS-II中最多可以支持64个任务,分别对应优先级0~63,其中0为最高优先级。实时内核在任何时候都是运行就绪了的最高优先级的任务,是真正的实时操作系统。µC/OS-II最大程度上使用ANSIC语言开发,现已成功移植到近40多种处理器体系上。第78页,共93页,2023年,2月20日,星期一嵌入式操作系统——VxWorksVxWorks操作系统是美国公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks。第79页,共93页,2023年,2月20日,星期一
WinCE操作系统
MicrosoftWindowsCE是针对有限资源的平台而设计的多线程、完整优先权、多任务的操作系统,但它不是一个硬实时操作系统。高度模块化是WinCE的一个鲜为人知的特性,这一特性有利与它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。WinCE操作系统的基本内核需要至少200K的ROM,它支持
Win32API子集、多种用户界面硬件、多种的串行和网络通讯技术、COM/OLE和其他的进程间通讯的先进方法。Microsoft公司为WindowsCE提供了PlatformBuilder和EmbeddedVisualStudio开发工具。第80页,共93页,2023年,2月20日,星期一
WinCE操作系统WindowsCE嵌入式操作系统最大的特点是能提供与PC机类似的图形界面和主要的应用程序。WindowsCE嵌入式操作系统的界面显示大多数在Windows里出现的标准部件,包括桌面、任务栏、窗口、图标和控件等等。这样只要是对PC机上的Windows比较熟悉的用户,可以很快地使用基于WindowsCE嵌入式操作系统的嵌入式设备。第81页,共93页,2023年,2月20日,星期一第82页,共93页,2023年,2月20日,星期一嵌入式Linux
Linux为嵌入式操作系统提供了一个极有吸引力的选择,它是和UNIX相似、以核心为基础、完全内存保护、多任务多进程的操作系统。它支持广泛的计算机硬件,包括X86\MIPS\ARM\NEC\MOTOROLA等现有的大部分芯片。Linux在台式机上的成功,使大家看到了Linux在嵌入式系统领域中的辉煌应用前景。嵌入式Linux的主要特征:可应用于多种硬件平台。Linux可以随意地配置,不需要任何的许可证或商家的合作它是免费的,源代码可以无偿得到Linux本身内置网络支持高度模块化,使添加部件非常容易标准Linux的另一个特征是虚拟内存的能力第83页,共93页,2023年,2月20日,星期一uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux
2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论