




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统11.1嵌入式系统概述嵌入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同,形成了独立的单芯片的技术发展道路,形成两大分支的独立发展通用计算机按高速、海量的技术发展嵌入式计算机系统则为满足对象按照嵌入式、智能化控制的要求发展经过几十年的发展,已经在很大程度上改变了人们的生活、工作和娱乐方式,而且这些改变还在加速具有无数的种类,每类都具有自己独特的个性MP3、数码相机与打印机就有很大的不同汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶1.1嵌入式系统概述21.1嵌入式系统现实中的嵌入式系统无处不在即使不可见,嵌入式系统也无处不在。嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹制导系统也是嵌入式系统,高档汽车中有多达几十个嵌入式系统日常生活中,人们使用各种嵌入式系统但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲…)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统1.1嵌入式系统现实中的嵌入式系统31.1嵌入式系统现实中的嵌入式系统1.1嵌入式系统现实中的嵌入式系统41.1嵌入式系统嵌入式系统示例——汽车控制系统1.1嵌入式系统嵌入式系统示例——汽车控制系统5马达控制器车灯1.1嵌入式系统嵌入式系统示例——汽车控制系统尾灯控制系统后车门控制系统前车门控制系统座椅控制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统马达1.1嵌入式系统嵌入式系统示例——汽车控制系统尾灯控制61.1嵌入式系统嵌入式系统的概念嵌入式系统源于微型计算机,是嵌入到对象体系中、实现嵌入式对象智能化的计算机由于微型计算机无法满足绝大多数对象体系嵌入式要求的体积、价位、可靠性,嵌入式系统迅速走上了独立发展的单片机道路首先是计算机芯片化,成为单片微型计算机(SCMP)其后是满足对象体系的控制要求,单片机不断从SCMP向微控制器(MCU)和片上系统(SoC)发展无论怎么发展变化,都改变不了以下技术本质内含计算机嵌入到对象体系中满足对象智能化控制要求1.1嵌入式系统嵌入式系统的概念71.1嵌入式系统嵌入式系统的定义目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义:从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统本教材的定义:嵌入到对象体系中的专用计算机系统1.1嵌入式系统嵌入式系统的定义81.1嵌入式系统嵌入式系统的特点嵌入性:嵌入产品内部内含计算机:嵌有微处理器或微计算机专用性:按要求的软、硬件剪裁嵌入式系统的相关技术多学科:计算机、电子技术、微电子、集成电路等嵌入式系统的前沿技术基于集成开发环境的应用开发应用系统的用户SoC设计操作系统的普遍应用普遍的网络接入先进的电源技术多处理器SoC技术1.1嵌入式系统嵌入式系统的特点91.1嵌入式系统嵌入式系统的未来早在1990年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备。近些年来,嵌入式工业经历了巨大的变革:产品市场窗口现在预计翻番的周期狂热到6~9个月全球重新定义市场的机会和膨胀的应用空间互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术基于电子的产品更复杂化互联嵌入式系统产生新的依赖网络基础设施的应用微处理器的处理能力按莫尔定律(Moore’sLaw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番1.1嵌入式系统嵌入式系统的未来101嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统111.2嵌入式处理器简介早期的嵌入式系统通常使用普通个人计算机(PC)中的通用处理器。近年来,随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器。这些嵌入式处理器可以大致分为以下几类:注重嵌入式处理器的尺寸、能耗和价格——应用于PDA等不注重计算的设备注重嵌入式处理器的性能——应用于路由器等计算密集型的设备注重嵌入式处理器的性能、尺寸、能耗和价格——应用于蜂窝电话等设备1.2嵌入式处理器简介121.2嵌入式处理器分类嵌入式处理器可以分为以下几大类: 嵌入式微处理器EmbeddedMicro-ProcessorUint,EMPU 微控制器Micro-ControllerUint,MCU DSP处理器DigitalSignalProcessorUint,DSP片上系统(SOC)SystemonChip,SoC1.2嵌入式处理器分类131.2嵌入式处理器分类——嵌入式微处理器嵌入式微处理器的基础是通用计算机中的CPU将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强单板计算机和工控计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,又降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等1.2嵌入式处理器分类——嵌入式微处理器141.2嵌入式处理器分类——嵌入式微处理器CPUROMRAM外设1外设2单板计算机1.2嵌入式处理器分类——嵌入式微处理器CPUROMRAM151.2嵌入式处理器分类——嵌入式微控制器又称单片机是将整个计算机系统集成到一块芯片中。以某一种微处理器内核为核心,内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、PWM、A/D、D/A、Flash、EEPROM等必要功能和外设。为适应不同应用,一个系列的具有多种衍生品,衍生品处理器内核一样,不同的是存储器、外设的配置及封装。可以最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本微控制器和嵌入式微处理器相比,最大特点是单片化,体积大大减小,功耗和成本下降、可靠性提高。是目前嵌入式系统工业的主流。片上外设资源一般比较丰富,适合于控制,因此称微控制器数量最多品种和数量最多,有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70%的市场份额1.2嵌入式处理器分类——嵌入式微控制器161.2嵌入式处理器分类——嵌入式微控制器复位部件看门狗部件晶振部件I/O部件中断部件ROM部件SRAM部件定时器部件CPU核1.2嵌入式处理器分类——嵌入式微控制器复位看门狗晶振I/171.2嵌入式处理器分类——嵌入式DSP处理器特殊设计对系统结构和指令进行了特殊设计,适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面,DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器TI、Motorola有代表性的产品是TexasInstruments的TMS320系列、Motorola的DSP56000系列。TMS320包括用于控制的C2000系列、移动通信的C5000系列、性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000、56100、56200、56300等几个不同系列。PHILIPS公司近年也推出了基于可重置嵌入式DSP结构、低成本、低功耗技术上制造的R.E.A.LDSP处理器,特点是具备双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品1.2嵌入式处理器分类——嵌入式DSP处理器181.2嵌入式处理器分类——嵌入式DSP处理器1.2嵌入式处理器分类——嵌入式DSP处理器191.2嵌入式处理器分类——嵌入式片上系统(SOC)EDA/VLSI随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利通用/专用SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面1.2嵌入式处理器分类——嵌入式片上系统(SOC)201嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统211.3嵌入式操作系统概述监控程序计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机操作系统随着计算机技术发展,计算机系统硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(OperatingSystem)发展到现在,广泛使用的有三种操作系统:多道批处理操作系统分时操作系统实时操作系统1.3嵌入式操作系统概述221.3嵌入式操作系统概述监控程序操作系统实时操作系统分时操作系统多道批处理操作系统时间先后
适用于多个用户共享系统资源适用于计算中心等较大的计算机系统适用于嵌入式设备和有实时性要求的系统中1.3嵌入式操作系统概述监操实时操作系统分时操作系统多道批231.3嵌入式操作系统概述监控程序操作系统实时操作系统分时操作系统多道批处理操作系统时间先后
适用于多个用户共享系统资源适用于计算中心等较大的计算机系统适用于嵌入式设备和有实时性要求的系统中实时操作系统是我们介绍的重点1.3嵌入式操作系统概述监操实时操作系统分时操作系统多道批241.3嵌入式操作系统实时操作系统的特点IEEE实时UNIX分会认为实时操作系统应具备:异步的事件响应(在要求的时间内响应异步的外部事件,有异步IO和中断处理能力。受内存访问、盘访问、总线速度的限制)切换时间和中断延迟时间确定优先级中断和调度抢占式调度(高优先级任务一旦准备好马上抢占低优先级任务的执行)内存锁定(将程序或部分程序锁定在内存的能力)连续文件(提供存取盘上数据的优化方法)
同步(提供同步和协调共享数据使用和时间执行的手段)1.3嵌入式操作系统实时操作系统的特点251.3嵌入式操作系统实时操作系统的特点总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统嵌入式实时操作系统1.3嵌入式操作系统实时操作系统的特点261.3嵌入式操作系统实时操作系统的特点一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致嵌入式实时操作系统具有规模小(一般在几K~几十K内)、可固化使用、实时性强(在毫秒或微秒数量级上)的特点1.3嵌入式操作系统实时操作系统的特点271.3嵌入式操作系统基本概念——前后台系统对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成1.3嵌入式操作系统基本概念——前后台系统281.3嵌入式操作系统基本概念——前后台系统
中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。ISRISRISRISR后台前台中断服务程序时间1.3嵌入式操作系统基本概念——前后台系统中断服务291.3嵌入式操作系统基本概念——操作系统操作系统是计算机中最基本的程序。负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;提供用户接口,使用户获得良好的工作环境;为用户扩展新的系统功能提供软件平台硬件硬件驱动操作系统用户程序1.3嵌入式操作系统基本概念——操作系统硬件硬件驱动操作系301.3嵌入式操作系统基本概念——实时操作系统(RTOS)RTOS是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求RTIOS下,可以分别编写各个任务,不必同时将所有任务运行的各种可能记在心中,减少工作量,减少出错,保证高可靠性实时多任务操作系统,以分时方式运行多个任务,任务之间的切换以优先级为根据只有优先服务方式的RTOS才是真正的实时操作系统时间分片方式和协作方式的RTOS并不是真正的“实时”1.3嵌入式操作系统基本概念——实时操作系统(RTOS)311.3嵌入式操作系统基本概念——代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。为保证临界区代码的执行,进入临界区之前要关中断,执行完成后要立即开中断资源程序运行时可使用的软、硬件环境。可以是IO设备、也可以是一个变量、一个结构、一个数组共享资源可以被一个以上任务使用的资源。为防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫互斥1.3嵌入式操作系统基本概念——321.3嵌入式操作系统基本概念——任务也称为线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。实时应用程序的设计过程,包括如何把问题分割成多个任务,赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间任务切换当多任务内核决定运行另外的任务时,保存正在运行任务的当前状态(CPU寄存器中的全部内容),保存在任务的当前状态保存区(任务自己的栈),入栈工作完成后,把下一任务的当前状态从任务的栈中重新装入CPU寄存器,开始下一任务的执行。任务切换增加了应用程序的额外负荷。CPU寄存器越多,额外负荷越重。任务切换所需时间取决于CPU有多少寄存器要入栈1.3嵌入式操作系统基本概念——331.3嵌入式操作系统基本概念——内核内核负责管理各个任务,为每个任务分配CPU时间,负责任务间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。内核提供必不可少的系统服务,如信号量、消息队列、延时等调度是内核的主要职责之一。决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核1.3嵌入式操作系统基本概念——341.3嵌入式操作系统基本概念——非占先式内核非占先式内核要求每个任务自我放弃CPU的所有权。非占先式调度法也称合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权占先式内核系统响应时间很重要时,要使用占先式内核。绝大多数商业实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU控制权。一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺(被挂起),那个高优先级的任务立刻得到CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行1.3嵌入式操作系统基本概念——351.3嵌入式操作系统基本概念——任务优先级任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态中断中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序(中断服务子程序ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1.在前后台系统中,程序回到后台程序 2.对非占先式内核而言,程序回到被中断了的任务 3.对占先式内核而言,让进入就绪态的优先级最高的任务开始运行1.3嵌入式操作系统基本概念——361.3嵌入式操作系统基本概念——中断前后台系统ISR任务ISR非占先操作系统任务A任务B任务CISR占先操作系统任务A任务B任务C1.3嵌入式操作系统基本概念——中断前后台系统ISR任务I371.3嵌入式操作系统基本概念——时钟节拍时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据时钟节拍率越快,系统的额外开销就越大1.3嵌入式操作系统基本概念——时钟节拍381.3嵌入式操作系统使用实时操作系统的必要性嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用使用实时操作系统主要有以下几个因素:嵌入式实时操作系统提高了系统的可靠性提高了开发效率,缩短了开发周期嵌入式实时操作系统充分发挥了32位CPU的多任务潜力 运行速度快 为运行多用户、多任务而设计 为提高可靠性、稳定性而设计,更易不崩溃1.3嵌入式操作系统使用实时操作系统的必要性391.3嵌入式操作系统实时操作系统的优缺点优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用缺点:使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用1.3嵌入式操作系统实时操作系统的优缺点401.3嵌入式操作系统常见的嵌入式操作系统——uClinux微(μ)控制(C)领域Linux系统是一个完全符合通用公共许可证(GNU/GPL)公约的操作系统,完全开放代码。现由Lineo公司维护uClinux从Linux
2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。专门针对没有内存管理单元(MMU)的CPU,且为嵌入式系统做了许多小型化的工作。适于没有虚拟内存或MMU处理器,如ARM7TDMI。通常用于具有很少内存或Flash的嵌入式系统它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等
1.3嵌入式操作系统常见的嵌入式操作系统——uClinux411.3嵌入式操作系统常见的嵌入式操作系统——WinCEWindowsCE是微软开发的一个开放的、可升级的32位嵌入式操作系统,基于掌上型电脑类的电子设备操作系统,精简的Windows95图形用户界面相当出色。模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点继承传统Windows图形界面,WinCE平台上可以使用Windows95/98编程工具(如VisualBasic、VisualC++等),使绝大多数的应用软件只需简单的修改和移植就可以在WindowsCE平台上继续使用1.3嵌入式操作系统常见的嵌入式操作系统——WinCE继承421.3嵌入式操作系统常见的嵌入式操作系统——VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在1997年4月登陆火星表面的火星探测器上也使用到了VxWorks良好的持续发展能力、高性能内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地1.3嵌入式操作系统常见的嵌入式操作系统——VxWorks431.3嵌入式操作系统常见的嵌入式操作系统——uC/OS-ⅡμC/OS-II通过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,μC/OS-II已经被应用到数以百计的产品中。μC/OS-II占用很少的系统资源,并且在高校教学使用是不需要申请许可证。但将它的目标代码嵌入到产品中,应当购买目标代码销售许可证μC/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统其绝大部分源码是用ANSIC写的,使其可以方便的移植并支持大多数类型的处理器1.3嵌入式操作系统常见的嵌入式操作系统——uC/OS-Ⅱ441.3嵌入式操作系统uC/OS-Ⅱ的特点提供V2.52的所有源代码可移植(portable),使用汇编语言编写的代码已压缩到最低限度可固化(ROMmable)可剪裁(scalable),通过条件编译即可可剥夺(preemptive),完全可剥夺型实时内核多任务,最多可管理64个(其中8个留给系统)可确定性,绝大多数函数的调用和服务时间具有确定性任务栈,每个任务都有自己独立的栈系统服务,多种系统服务,如信号量、互斥信号量、事件标志、消息邮箱、消息队列、块大小固定的内存申请与释放、时间管理函数中断管理,中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被中断唤醒,高优先级任务在中断嵌套全部退出后立即执行,中断嵌套数最多可达255层稳定性与可靠性,是基于uC/OS的升级版本,与之内核一样1.3嵌入式操作系统uC/OS-Ⅱ的特点45请继续下一章的学习……请继续下一章的学习……461嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统471.1嵌入式系统概述嵌入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同,形成了独立的单芯片的技术发展道路,形成两大分支的独立发展通用计算机按高速、海量的技术发展嵌入式计算机系统则为满足对象按照嵌入式、智能化控制的要求发展经过几十年的发展,已经在很大程度上改变了人们的生活、工作和娱乐方式,而且这些改变还在加速具有无数的种类,每类都具有自己独特的个性MP3、数码相机与打印机就有很大的不同汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶1.1嵌入式系统概述481.1嵌入式系统现实中的嵌入式系统无处不在即使不可见,嵌入式系统也无处不在。嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹制导系统也是嵌入式系统,高档汽车中有多达几十个嵌入式系统日常生活中,人们使用各种嵌入式系统但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲…)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统1.1嵌入式系统现实中的嵌入式系统491.1嵌入式系统现实中的嵌入式系统1.1嵌入式系统现实中的嵌入式系统501.1嵌入式系统嵌入式系统示例——汽车控制系统1.1嵌入式系统嵌入式系统示例——汽车控制系统51马达控制器车灯1.1嵌入式系统嵌入式系统示例——汽车控制系统尾灯控制系统后车门控制系统前车门控制系统座椅控制系统发动器控制系统所有的控制系统都是一个完整的嵌入式系统马达1.1嵌入式系统嵌入式系统示例——汽车控制系统尾灯控制521.1嵌入式系统嵌入式系统的概念嵌入式系统源于微型计算机,是嵌入到对象体系中、实现嵌入式对象智能化的计算机由于微型计算机无法满足绝大多数对象体系嵌入式要求的体积、价位、可靠性,嵌入式系统迅速走上了独立发展的单片机道路首先是计算机芯片化,成为单片微型计算机(SCMP)其后是满足对象体系的控制要求,单片机不断从SCMP向微控制器(MCU)和片上系统(SoC)发展无论怎么发展变化,都改变不了以下技术本质内含计算机嵌入到对象体系中满足对象智能化控制要求1.1嵌入式系统嵌入式系统的概念531.1嵌入式系统嵌入式系统的定义目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义:从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统本教材的定义:嵌入到对象体系中的专用计算机系统1.1嵌入式系统嵌入式系统的定义541.1嵌入式系统嵌入式系统的特点嵌入性:嵌入产品内部内含计算机:嵌有微处理器或微计算机专用性:按要求的软、硬件剪裁嵌入式系统的相关技术多学科:计算机、电子技术、微电子、集成电路等嵌入式系统的前沿技术基于集成开发环境的应用开发应用系统的用户SoC设计操作系统的普遍应用普遍的网络接入先进的电源技术多处理器SoC技术1.1嵌入式系统嵌入式系统的特点551.1嵌入式系统嵌入式系统的未来早在1990年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备。近些年来,嵌入式工业经历了巨大的变革:产品市场窗口现在预计翻番的周期狂热到6~9个月全球重新定义市场的机会和膨胀的应用空间互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术基于电子的产品更复杂化互联嵌入式系统产生新的依赖网络基础设施的应用微处理器的处理能力按莫尔定律(Moore’sLaw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番1.1嵌入式系统嵌入式系统的未来561嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统571.2嵌入式处理器简介早期的嵌入式系统通常使用普通个人计算机(PC)中的通用处理器。近年来,随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器。这些嵌入式处理器可以大致分为以下几类:注重嵌入式处理器的尺寸、能耗和价格——应用于PDA等不注重计算的设备注重嵌入式处理器的性能——应用于路由器等计算密集型的设备注重嵌入式处理器的性能、尺寸、能耗和价格——应用于蜂窝电话等设备1.2嵌入式处理器简介581.2嵌入式处理器分类嵌入式处理器可以分为以下几大类: 嵌入式微处理器EmbeddedMicro-ProcessorUint,EMPU 微控制器Micro-ControllerUint,MCU DSP处理器DigitalSignalProcessorUint,DSP片上系统(SOC)SystemonChip,SoC1.2嵌入式处理器分类591.2嵌入式处理器分类——嵌入式微处理器嵌入式微处理器的基础是通用计算机中的CPU将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强单板计算机和工控计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,又降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等1.2嵌入式处理器分类——嵌入式微处理器601.2嵌入式处理器分类——嵌入式微处理器CPUROMRAM外设1外设2单板计算机1.2嵌入式处理器分类——嵌入式微处理器CPUROMRAM611.2嵌入式处理器分类——嵌入式微控制器又称单片机是将整个计算机系统集成到一块芯片中。以某一种微处理器内核为核心,内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、PWM、A/D、D/A、Flash、EEPROM等必要功能和外设。为适应不同应用,一个系列的具有多种衍生品,衍生品处理器内核一样,不同的是存储器、外设的配置及封装。可以最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本微控制器和嵌入式微处理器相比,最大特点是单片化,体积大大减小,功耗和成本下降、可靠性提高。是目前嵌入式系统工业的主流。片上外设资源一般比较丰富,适合于控制,因此称微控制器数量最多品种和数量最多,有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70%的市场份额1.2嵌入式处理器分类——嵌入式微控制器621.2嵌入式处理器分类——嵌入式微控制器复位部件看门狗部件晶振部件I/O部件中断部件ROM部件SRAM部件定时器部件CPU核1.2嵌入式处理器分类——嵌入式微控制器复位看门狗晶振I/631.2嵌入式处理器分类——嵌入式DSP处理器特殊设计对系统结构和指令进行了特殊设计,适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面,DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器TI、Motorola有代表性的产品是TexasInstruments的TMS320系列、Motorola的DSP56000系列。TMS320包括用于控制的C2000系列、移动通信的C5000系列、性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000、56100、56200、56300等几个不同系列。PHILIPS公司近年也推出了基于可重置嵌入式DSP结构、低成本、低功耗技术上制造的R.E.A.LDSP处理器,特点是具备双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品1.2嵌入式处理器分类——嵌入式DSP处理器641.2嵌入式处理器分类——嵌入式DSP处理器1.2嵌入式处理器分类——嵌入式DSP处理器651.2嵌入式处理器分类——嵌入式片上系统(SOC)EDA/VLSI随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利通用/专用SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面1.2嵌入式处理器分类——嵌入式片上系统(SOC)661嵌入式系统概述 1.1嵌入式系统 1.2嵌入式处理器 1.3嵌入式操作系统1嵌入式系统概述 1.1嵌入式系统671.3嵌入式操作系统概述监控程序计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机操作系统随着计算机技术发展,计算机系统硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(OperatingSystem)发展到现在,广泛使用的有三种操作系统:多道批处理操作系统分时操作系统实时操作系统1.3嵌入式操作系统概述681.3嵌入式操作系统概述监控程序操作系统实时操作系统分时操作系统多道批处理操作系统时间先后
适用于多个用户共享系统资源适用于计算中心等较大的计算机系统适用于嵌入式设备和有实时性要求的系统中1.3嵌入式操作系统概述监操实时操作系统分时操作系统多道批691.3嵌入式操作系统概述监控程序操作系统实时操作系统分时操作系统多道批处理操作系统时间先后
适用于多个用户共享系统资源适用于计算中心等较大的计算机系统适用于嵌入式设备和有实时性要求的系统中实时操作系统是我们介绍的重点1.3嵌入式操作系统概述监操实时操作系统分时操作系统多道批701.3嵌入式操作系统实时操作系统的特点IEEE实时UNIX分会认为实时操作系统应具备:异步的事件响应(在要求的时间内响应异步的外部事件,有异步IO和中断处理能力。受内存访问、盘访问、总线速度的限制)切换时间和中断延迟时间确定优先级中断和调度抢占式调度(高优先级任务一旦准备好马上抢占低优先级任务的执行)内存锁定(将程序或部分程序锁定在内存的能力)连续文件(提供存取盘上数据的优化方法)
同步(提供同步和协调共享数据使用和时间执行的手段)1.3嵌入式操作系统实时操作系统的特点711.3嵌入式操作系统实时操作系统的特点总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统嵌入式实时操作系统1.3嵌入式操作系统实时操作系统的特点721.3嵌入式操作系统实时操作系统的特点一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致嵌入式实时操作系统具有规模小(一般在几K~几十K内)、可固化使用、实时性强(在毫秒或微秒数量级上)的特点1.3嵌入式操作系统实时操作系统的特点731.3嵌入式操作系统基本概念——前后台系统对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成1.3嵌入式操作系统基本概念——前后台系统741.3嵌入式操作系统基本概念——前后台系统
中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。ISRISRISRISR后台前台中断服务程序时间1.3嵌入式操作系统基本概念——前后台系统中断服务751.3嵌入式操作系统基本概念——操作系统操作系统是计算机中最基本的程序。负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;提供用户接口,使用户获得良好的工作环境;为用户扩展新的系统功能提供软件平台硬件硬件驱动操作系统用户程序1.3嵌入式操作系统基本概念——操作系统硬件硬件驱动操作系761.3嵌入式操作系统基本概念——实时操作系统(RTOS)RTOS是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求RTIOS下,可以分别编写各个任务,不必同时将所有任务运行的各种可能记在心中,减少工作量,减少出错,保证高可靠性实时多任务操作系统,以分时方式运行多个任务,任务之间的切换以优先级为根据只有优先服务方式的RTOS才是真正的实时操作系统时间分片方式和协作方式的RTOS并不是真正的“实时”1.3嵌入式操作系统基本概念——实时操作系统(RTOS)771.3嵌入式操作系统基本概念——代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。为保证临界区代码的执行,进入临界区之前要关中断,执行完成后要立即开中断资源程序运行时可使用的软、硬件环境。可以是IO设备、也可以是一个变量、一个结构、一个数组共享资源可以被一个以上任务使用的资源。为防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫互斥1.3嵌入式操作系统基本概念——781.3嵌入式操作系统基本概念——任务也称为线程,是一个简单的程序,该程序可以认为CPU完全属于该程序本身。实时应用程序的设计过程,包括如何把问题分割成多个任务,赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间任务切换当多任务内核决定运行另外的任务时,保存正在运行任务的当前状态(CPU寄存器中的全部内容),保存在任务的当前状态保存区(任务自己的栈),入栈工作完成后,把下一任务的当前状态从任务的栈中重新装入CPU寄存器,开始下一任务的执行。任务切换增加了应用程序的额外负荷。CPU寄存器越多,额外负荷越重。任务切换所需时间取决于CPU有多少寄存器要入栈1.3嵌入式操作系统基本概念——791.3嵌入式操作系统基本概念——内核内核负责管理各个任务,为每个任务分配CPU时间,负责任务间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如2%~5%的CPU运行时间、RAM和ROM等。内核提供必不可少的系统服务,如信号量、消息队列、延时等调度是内核的主要职责之一。决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核1.3嵌入式操作系统基本概念——801.3嵌入式操作系统基本概念——非占先式内核非占先式内核要求每个任务自我放弃CPU的所有权。非占先式调度法也称合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权占先式内核系统响应时间很重要时,要使用占先式内核。绝大多数商业实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU控制权。一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺(被挂起),那个高优先级的任务立刻得到CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行1.3嵌入式操作系统基本概念——811.3嵌入式操作系统基本概念——任务优先级任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态中断中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序(中断服务子程序ISR)。中断服务子程序做事件处理,处理完成后,程序回到: 1.在前后台系统中,程序回到后台程序 2.对非占先式内核而言,程序回到被中断了的任务 3.对占先式内核而言,让进入就绪态的优先级最高的任务开始运行1.3嵌入式操作系统基本概念——821.3嵌入式操作系统基本概念——中断前后台系统ISR任务ISR非占先操作系统任务A任务B任务CISR占先操作系统任务A任务B任务C1.3嵌入式操作系统基本概念——中断前后台系统ISR任务I831.3嵌入式操作系统基本概念——时钟节拍时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据时钟节拍率越快,系统的额外开销就越大1.3嵌入式操作系统基本概念——时钟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一级建造师《民航机场工程管理与实务》考前通关必练题库(含答案)
- 财务知识分享
- 专业英语 Unit 26教案学习资料
- (高清版)DB510100∕T 165-2015 蜡梅观赏苗木嫁接培育技术规程及质量分级
- 20252月淘宝直播间虚拟礼物分成运营结算协议
- 城市管理规范执法培训
- 幼儿园毕业横幅标语
- 《室内设计手绘快速表现》课件 第1-3章 概述、单体家具手绘表现、空间手绘表现
- 别墅包工建设合同范例
- 企业转让协议书范例
- GB/T 19851.15-2007中小学体育器材和场地第15部分:足球门
- GB/T 10095.1-2001渐开线圆柱齿轮精度第1部分:轮齿同侧齿面偏差的定义和允许值
- 全国戒毒医疗机构名单
- ICU 呼吸机相关性肺炎预防措施执行核查表
- 汽车吊检测保养记录
- LOTO上锁挂牌培训资料课件
- 市政工程安全台账表
- DB63-T 1800-2020盐湖卤水矿堤坝工程施工技术规范
- 航天模型的设计、制作与比赛课件
- 公路工程施工现场安全检查手册
- 高考倒计时60天课件
评论
0/150
提交评论