720 likes | 850 Views
第1章 嵌入式系统基础. 主要内容. 1. 嵌入式系统概念. 2. 嵌入式处理器. 3. 嵌入式操作系统. 4. 实时操作系统的内核. 5. 嵌入式技术发展现状及趋势. 1.1.1 嵌入式系统的定义. 一般定义 以应用为中心、以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统 (技术角度) 嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度)
E N D
主要内容 1 嵌入式系统概念 2 嵌入式处理器 3 嵌入式操作系统 4 实时操作系统的内核 5 嵌入式技术发展现状及趋势
1.1.1 嵌入式系统的定义 • 一般定义 • 以应用为中心、以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度) • 嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度) • 术语嵌入式反映了这些系统通常是更大系统(被称之为嵌入的系统)的一个完整子系统。嵌入式的系统可以包含多个嵌入式系统。 • 广义定义 • 任何一个非计算机的计算系统
IEE定义 • 嵌入式系统是“用于控制、监视或者辅助操作的机器、设备或装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 • 通常执行特定功能 • 嵌入式系统的核心----嵌入式微处理器 • 严格的时序和稳定性要求 • 全自动操作循环
1.1.2 嵌入式系统的组成 嵌入式系统通常由嵌入式处理器、外围设备、嵌入式操作系统和应用软件等几大部分组成。 嵌入式系统硬件组成 嵌入式系统组成
嵌入式处理器 嵌入式处理器是嵌入式系统的核心部件。嵌入式处理器与通用处理器的最大不同点在于嵌入式处理器大多工作在为特定用户群设计的系统中。它通常把通用计算机中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,并具有高效率、高可靠性等特征。 大的硬件厂商会推出自己的嵌入式处理器,因而现今市面上有1000多种嵌入式处理器芯片,其中使用最为广泛的有ARM,MIPS,PowerPC,MC68000等。
外围设备 外外围设备是指在一个嵌入式系统中,除了嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其他部件。 • 根据外围设备的功能可分为以下3类: • 存储器:静态易失型存储器(RAM,SRAM)、动态存储器(DRAM)和非易失型存储器(Flash)。其中,Flash以可擦写次数多、存储速度快、容量大及价格低等优点在嵌入式领域得到了广泛的应用。 • 接口:应用最为广泛的包括并口、RS-232串口、IrDA红外接口、SPI串行外围设备接口、I2C(Inter IC)总线接口、USB通用串行总线接口、Ethernet网口等。 • 人机交互:LCD、键盘和触摸屏等人机交互设备。
嵌入式操作系统 嵌入式操作系统是用来管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等的软件模块集合。 嵌入式操作系统常常有实时要求,所以嵌入式操作系统往往又是“实时操作系统”。
应用软件 嵌入式系统的应用软件是针对特定的实际专业领域的,基于相应的嵌入式硬件平台,并能完成用户预期任务的计算机软件。 嵌入式软件的特点如下: (1)软件要求固态化存储。 (2)软件代码要求高质量、高可靠性。 (3)系统软件的高实时性是基本要求。 (4)多任务实时操作系统成为嵌入式应用软件的必需。
1.1.3 嵌入式系统的特点 • 软硬件一体化,集计算机技术、微电子技术、行业技术为一体; • 需要操作系统支持,代码小、执行速度快; • 专用紧凑,用途固定,成本敏感; • 可靠性要求高; • 多样性,应用广泛、种类繁多。
1.1.4 嵌入式系统的应用 军事国防 消费电子 军事电子 工业控制 信息家电 工控设备 智能玩具 嵌入式应用 智能仪表 通信设备 汽车电子 移动存贮 网络设备 电子商务
1.1.5 实时系统 实时系统(Real Time System)是指产生系统输出的时间对系统至关重要的系统。从输入到输出的滞后时间必须足够小到一个可以接受的时限内。 概念 特性 • 实时系统通常具备以下重要的特性: • 1.实时性 • 2.并行性 • 3.多路性 • 4.独立性 • 5.可预测性 • 6.可靠性
衡量实时性的指标 • 实时系统中主要通过3个指标来衡量系统的实时性,即: • 响应时间(Response Time):指计算机从识别一个外部事件到做出响应的时间。 • 生存时间(Survival Time):指数据的有效等待时间,在这段时间里数据是有效的。 • 吞吐量(Throughput):指在一段给定时间内,系统可以处理事件的总数。吞吐量通常比平均响应时间的倒数小一点。
实时系统的分类 • 根据响应时间可分为3种类型: • 1.强实时系统 • 2.弱实时系统 • 3.一般实时系统 • 根据确定性可分为2种类型: • 1.硬实时系统 • 2.软实时系统
主要内容 1 嵌入式系统概念 2 嵌入式处理器 3 嵌入式操作系统 4 实时操作系统的内核 5 嵌入式技术发展现状及趋势
一、 嵌入式处理器分类 • 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) • 微控制器(Microcontroller Unit, MCU) • DSP处理器(Digital Signal Processor, DSP) • 片上系统(System On Chip,SOC)
嵌入式微处理器 嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,配上必要的扩展外围电路,如存储器的扩展电路、I/O的扩展电路和一些专用的接口电路等,这样就可以最低的功耗和资源满足嵌入式应用的特殊要求。嵌入式微处理器虽然在功能上与标准微处理器基本相同,但一般在工作温度、抗电磁干扰、可靠性等方面都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点。 目前主要的嵌入式处理器类型有ARM 、MIPS、Am186/88、386EX、PowerPC、68000系列等。
微控制器 • 又称单片机,这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。 • 单片机芯片内部集成Flash、RAM、总线逻辑、定时器/计数器、WatchDog、I/O,串行口、脉宽调制输出、A/D,D/A等各种必要的功能模块和外围部件。 • 代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。 • 另外还有许多半通用系列如:支持USB接口的MCU 8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。
DSP处理器 • DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。 • DSP处理器有两个发展来源,一是DSP处理系统经过单片化、电磁兼容(EMC)改造以及增加片上外设,成为DSP处理器;二是在通用单片机或SoC中增加DSP协处理器。 • DSP处理器比较有代表性的产品是TI公司的TMS320系列、ADI公司的ADSP21XX系列和Motorola公司的DSP56000系列。
片上系统 • SoC就是System on Chip,SoC是一种基于IP(Intellectual Property)核嵌入式系统设计技术。指的是在单个芯片上集成一个完整的系统 • 它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。 • 嵌入式片上系统设计的关键是IP核的设计。IP核分为硬核、软核和固核,是嵌入式技术的重要支持技术。
二、典型的嵌入式处理器 1.ARM处理器 2.MIPS处理器 3.PowerPC处理器 4.MC68K/Coldfire处理器 5.x86处理器
ARM处理器 ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。 • ARM处理器有3大特点: • 小体积、低功耗、低成本而高性能; • 16/32位双指令集; • 全球众多的合作伙伴。 ARM处理器分ARM7、ARM9、ARM9E、ARM10、ARM11和SecurCore系列。
MIPS处理器 MIPS(Microprocessor without Interlocked Pipeline Stages)技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。 MIPS的定位很广。在高端市场它有64位的20Kc系列,在低端市场有SmartMIPS。
PowerPC处理器 PowerPC体系结构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有微控制器和内核。其应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。 基于PowerPC架构的处理器有IBM 公司开发的PowerPC 405 GP,它是一个集成10/100Mbps以太网控制器、串行和并行端口、内存控制器以及其它外设的高性能嵌入式处理器。
MC68K/Coldfire处理器 Apple机以前使用的就是Motorola 68000(68K),比Intel公司的8088还要早。但现在,Apple、Motorola公司已放弃68K而专注于ARM了。
x86处理器 x86系列处理器是最常用的,它起源于Intel架构的8080,发展到现在Pentium 4、Athlon和AMD的64位处理器Hammer。486DX是当时和ARM、68K、MIPS、SuperH齐名的五大嵌入式处理器之一。现有基于x86的STPC高度集成系统。
主要内容 1 嵌入式系统概念 2 嵌入式处理器 3 嵌入式操作系统 4 实时操作系统的内核 5 嵌入式技术发展现状及趋势
1.3.1 操作系统的概念和分类 操作系统的概念 操作系统OS(Operation System)是一组计算机程序的集合,用来有效地控制和管理计算机的硬件和软件资源,即合理地对资源进行调度,并为用户提供方便的应用接口。它为应用支持软件提供运行环境,即对程序开发者提供功能强、使用方便的开发环境。
操作系统的功能 • 处理器管理 • 存储器管理 • 设备管理 • 文件管理 • 用户接口
计算机操作系统的分类 按程序运行调度的方法分类: 1.顺序执行系统 2.分时操作系统 3.实时操作系统
嵌入式操作系统的基本概念 任务、进程和线程 • 任务: 任务是指一个程序分段,这个分段被操作系统当作一个基本工作单元来调度。任务是在系统运行前已设计好的。 • 进程: 进程是指任务的一次运行过程,它是动态过程。有些操作系统把任务和进程等同看待,认为任务是一个动态过程,即执行任务体的动态过程。 • 线程: 20世纪80年代中期,人们提出了比进程更小的能独立运行和调度的基本单位——线程,并以此来提高程序并发执行的程度。近些年,线程的概念已被广泛应用。
嵌入式操作系统的基本概念 多用户及多任务 • 多用户的含义是,允许多个用户通过各自的终端使用同一台主机,共享同一个操作系统及各种系统资源。 • 每个用户的应用程序可以设计成不同的任务,这些任务可以并发执行。 多用户及多任务系统可以提高系统的吞吐量,更有效地利用系统资源。
嵌入式操作系统的基本概念 任务的事件驱动 实时任务总是由于某事件或时间条件满足而激活
嵌入式操作系统的基本概念 中断与中断优先级 中断 是计算机中软件系统与硬件系统共同提供的功能。它包括中断源、中断优先级、中断处理程序及中断任务等相关概念。实时操作系统充分利用中断来改变CPU执行程序的顺序,达到实时处理目的。 中断优先级 操作系统对每个中断级指定了优先级,称之为中断优先级。在多个中断源同时发出申请时,CPU按优先级的高低顺序处理。这种总是保证优先级最高的任务占用CPU的方式,称为按优先级抢占式调度。
嵌入式操作系统的基本概念 同步与异步 实时系统中常用同步或异步来说明事件发生的时序或任务执行的顺序关系。 由于事件1停止而引起事件2发生,或者必须有事件2发生,事件3才可能发生,如此类推,这一系列与时间相关的事件称为同步事件。由同步事件驱动的任务称为同步任务。使任务同步的目的是使相关任务在执行顺序上协调,不至于发生时间相关的差错,以保证任务互斥地访问系统的内存、外设等共享资源。 异步事件是指随机发生的事件。异步事件发生的因素很复杂,往往与工业现场有关,难以预测其发生的时间,因此异步事件又称随机事件。由异步事件驱动的任务称为异步任务。中断任务都是异步任务,优先级高于同步任务。
嵌入式操作系统的基本概念 资源与临界资源 资源 程序运行时可使用的软、硬件环境统称为资源。主要包括CPU的可利用时间、系统可提供的中断源、内存空间与数据、通用外部设备等等。 临界资源 如果系统中出现2个以上任务可能同时访问的共享资源,则称为临界资源。系统中的公共数据区、打印机等都是临界资源。 系统内任务应采取互斥的方式访问共享资源。以保证任何时刻临界资源内只有一个任务在访问。 资源临界问题解决不好,执行任务交不出资源的控制权,将引起系统死锁。
嵌入式操作系统的基本概念 容错与安全 容错 容错是指这样一种性能或措施,当系统内某些软、硬件出现故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。 容错能力包括系统自诊断、自恢复、自动切换等多方面能力,由软、硬件共同采取措施才能实现。 安全 安全性控制是操作系统对自身文件和用户文件的存取合法性的控制。 通常采用一些软件控制方法来保证系统的安全性,如标记检查、多级口令设置、加密等等。
1.3.2 实时操作系统 实时操作系统(RTOS)是具有实时性且能支持实时控制系统工作的操作系统。 • RRTOS与通用计算机OS的区别: • 实时性。响应速度快,只有几微秒;执行时间确定、可预测; • 代码尺寸小。10~100KB,节省内存空间,降低成本; • 应用程序开发较难; • 需要专用开发工具:仿真器、编译器和调试器等。
实时操作系统的发展 研究从20世纪60年代开始的,经历3个发展阶段: (1)早期的实时操作系统 不能称为真正的实时操作系统。它只是一个小而简单、具有一定专用性的软件,其功能较弱,可以认为是一种实时监控程序。它一般为用户提供对系统的初始管理以及简单的实时时钟管理。 (2)专用实时操作系统 它是早期用户为满足自身开发需要而研制的,一般只能用于特定的硬件环境,且缺乏严格的评测,移植性也不太好。 (3)通用实时操作系统 大多采用软组件结构,以“标准组件”构成通用的实时操作系统。一方面,在实时操作系统内核的最底层将不同的硬件特性屏蔽掉;另一方面,对不同的应用环境提供了标准的、可剪裁的系统服务软组件。
实时操作系统的组成 根据面向实际应用领域的不同,实时操作系统的组成也有所不同。但一般都包括以下几个重要组成部分: (1) 实时内核 实时内核一般都是多任务的。它主要实现任务管理、定时器管理、存储器管理、任务间通信与同步、中断管理等功能。 (2) 网络组件 网络组件实现了链路层的ARP/RARP协议、PPP及SLIP协议,网络层的IP协议,传输层的TCP和UDP协议。网络组件为应用层提供服务,它本身是可裁减的。 (3) 文件系统 对于比较复杂的文件操作应用来说,文件系统是必不可少的。它也是可裁减的。 (4) 图形用户界面 图形用户界面(GUI)为用户提供文字和图形以及中英文的显示和输入。它同样是可裁减的。
实时操作系统的特点 (1)支持异步事件的响应 实时操作系统为了对外部事件在规定的时间内进行响应,要求具有中断和异步处理的能力。 (2)中断和调度任务的优先级机制 为区分用户的中断以及调度任务的轻重缓急,需要有中断和调度任务的优先级机制。 (3)支持抢占式调度 为保证高优先级的中断或任务的响应时间,实时操作系统必须提供一旦高优先级的中断或任务准备好,就能马上抢占低优先级任务的CPU使用权的机制。 (4)确定的任务切换时间和中断延迟时间 确定的任务切换时间和中断延迟时间是实时操作系统区别于普通操作系统的一个重要标志,是衡量实时操作系统实时性的重要标准。 (5)支持同步 提供同步和协调共享数据的使用。
1.3.3 常见的嵌入式操作系统 μC/OS 嵌入式Linux μC/OS-Ⅱ VxWorks QNX pSOS Hopen OS Windows CE Delta OS PalmOS
VxWorks • VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。 • VxWorks所具有的显著特点是: - 可靠性、实时性和可裁减性。 - 它支持多种处理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS 、POWER PC等等。 • 以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器(1997年7月4日登陆火星表面)。
μC/OS和μC/OS-Ⅱ • C/OS—Micro Controller O S • C/OS简介 • 美国人Jean Labrosse 1992年完成,已应用于数百种产品中。 • 应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 • 1998年C/OS-II,目前的版本C/OS -II V2.72 • 2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中 • 是一个源码公开、可移植、可裁减、占用资源少、抢先式的实时多任务操作系统。其绝大部分源码采用ANSI C写的,移植性好。高校教学可免费使用。
Windows CE • Windows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统(缩减的Win95)。 • 针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统, • 由于其Windows背景,界面比较统一认可。可以使用大多数Windows开发工具(如VB,VC等),大多数Windows应用程序经过移植后就可以运行在WinCE平台上。 • 操作系统的基本内核需要至少200K的ROM。
嵌入式Linux • Linux是开放源码和免费使用的,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。 • 嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。主要有RTLinux和CLinux • Linux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。 • Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。
PalmOS • Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品。 • Palm OS是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存很小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,因此基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。 • Palm OS在PDA市场上占有很大的市场份额,目前主要与WIN CE进行激烈竞争。 • 代表性的产品有Palm m505、Palm m500、Palm III等。
QNX • 加拿大QNX公司的产品。 • 其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。QNX内核非常小巧(QNX4.x大约为12KB),而且运行速度极快。 • QNX是一个实时的、可扩充的操作系统,它部分遵循POSIX相关标准,由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、GPS设备的实时操作系统使用。
Delta OS • Delta OS是电子科技大学嵌入式实时教研室和科银公司联合研制开发的全中文的嵌入式操作系统。 • 提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变。 • 绝大部分的代码由C语言编写,具有很好的移植性。 • 适用于内存要求较大、可靠性要求较高的嵌入式系统。 • 主要包括嵌入式实时内核DeltaCORE、嵌入式TCP/IP组件DeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形用户界面DeltaGUI等。 • 已成功应用于通信、网络、信息家电等多个应用领域。
Hopen OS • Hopen OS是凯思集团自主研制开发的实时操作系统。 • 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。 • 其核心Hopen Kernel的规模一般为10KB左右,占用空间小。 • 具有实时、多任务、多线程的系统特征。