第1章    嵌入式系统基础
Download
1 / 76

第1章 嵌入式系统基础 - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

第1章 嵌入式系统基础. 主要内容. 1. 嵌入式系统概念. 2. 嵌入式处理器. 3. 嵌入式操作系统. 4. 实时操作系统的内核. 5. 嵌入式技术发展现状及趋势. 1.1.1 嵌入式系统的定义. 一般定义 以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。是将应用程序、操作系统和计算机硬件集成在一起的系统(技术角度) 嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。(系统角度)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 第1章 嵌入式系统基础' - thomas-kirby


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

主要内容

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处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、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(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。

  • ARM处理器有3大特点:

    • 小体积、低功耗、低成本而高性能;

    • 16/32位双指令集;

    • 全球众多的合作伙伴。

ARM处理器分ARM7、ARM9、ARM9E、ARM10、ARM11和SecurCore系列。


MIPS(Microprocessor without Interlocked Pipeline Stages)技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。

MIPS的定位很广。在高端市场它有64位的20Kc系列,在低端市场有SmartMIPS。


PowerPC体系结构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有微控制器和内核。其应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。

基于PowerPC架构的处理器有IBM 公司开发的PowerPC 405 GP,它是一个集成10/100Mbps以太网控制器、串行和并行端口、内存控制器以及其它外设的高性能嵌入式处理器。


Apple机以前使用的就是Motorola 68000(68K),比Intel公司的8088还要早。但现在,Apple、Motorola公司已放弃68K而专注于ARM了。


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.顺序执行系统

即系统内只有一个运行程序,它独占CPU时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。DOS操作系统就属于这种系统。

2.分时操作系统

系统内同时可有多道程序运行。所谓同时,只是从宏观上说;实际上系统把CPU的时间按顺序分成若干时间片,每个时间片内执行不同的程序。这类系统支持多用户,当今广泛用于商业、金融领域。UNIX操作系统就属于这种系统。

3.实时操作系统

系统内同时有多道程序运行,每道程序各有不同的优先级,操作系统按事件触发使程序运行。当多个事件发生时,系统按优先级高低确定哪道程序在此时此刻占有CPU,以保证优先级高的事件先运行,从而实现实时信息及时被采集。


嵌入式操作系统的分类

  • 从应用的角度来看,嵌入式操作系统可以分为:

    • 面向低端信息家电IA(Internet Appliance,如智能电话、家庭网关等)的嵌入式操作系统;

    • 面向高端信息家电(如数字电视等)的嵌入式操作系统;

    • 面向个人通信终端(如手机、PDA、Pocket PC等)的嵌入式操作系统;

    • 面向通信设备的嵌入式操作系统;

    • 面向汽车电子的嵌入式操作系统;

    • 面向工业控制的嵌入式操作系统。

  • 从实时性的角度来看,嵌入式操作系统可以分为:

    • 具有强实时特点的嵌入式操作系统;

    • 具有弱实时特点的嵌入式操作系统;

    • 没有实时特点的嵌入式操作系统。


任务、进程和线程

  • 任务:任务是指一个程序分段,这个分段被操作系统当作一个基本工作单元来调度。任务是在系统运行前已设计好的。

  • 进程:进程是指任务的一次运行过程,它是动态过程。有些操作系统把任务和进程等同看待,认为任务是一个动态过程,即执行任务体的动态过程。

  • 线程:20世纪80年代中期,人们提出了比进程更小的能独立运行和调度的基本单位——线程,并以此来提高程序并发执行的程度。近些年,线程的概念已被广泛应用。


多用户及多任务

  • 多用户的含义是,允许多个用户通过各自的终端使用同一台主机,共享同一个操作系统及各种系统资源。

  • 每个用户的应用程序可以设计成不同的任务,这些任务可以并发执行。

    用户及多任务系统可以提高系统的吞吐量,更有效地利用系统资源。



中断与中断优先级

中断是计算机中软件系统与硬件系统共同提供的功能。它包括中断源、中断优先级、中断处理程序及中断任务等相关概念。实时操作系统充分利用中断来改变CPU执行程序的顺序,达到实时处理目的。

系统中所有中断控制器一共可以连接几个外部信号,则称系统有几个中断源。

操作系统对每个中断级指定了优先级,称之为中断优先级。在多个中断源同时发出申请时,CPU按优先级的高低顺序处理。这种总是保证优先级最高的任务占用CPU的方式,称为按优先级抢占式调度。


同步与异步

实时系统中常用同步或异步来说明事件发生的时序或任务执行的顺序关系。

由于事件1停止而引起事件2发生,或者必须有事件2发生,事件3才可能发生,如此类推,这一系列与时间相关的事件称为同步事件。由同步事件驱动的任务称为同步任务。使任务同步的目的是使相关任务在执行顺序上协调,不至于发生时间相关的差错,以保证任务互斥地访问系统的内存、外设等共享资源。

异步事件是指随机发生的事件。异步事件发生的因素很复杂,往往与工业现场有关,难以预测其发生的时间,因此异步事件又称随机事件。由异步事件驱动的任务称为异步任务。中断任务都是异步任务,优先级高于同步任务。


资源与临界资源

程序运行时可使用的软、硬件环境统称为资源。主要包括CPU的可利用时间、系统可提供的中断源、内存空间与数据、通用外部设备等等。

没有指派给具体任务的资源属于系统所有,是共享资源。

如果系统中出现2个以上任务可能同时访问的共享资源,则称为临界资源。系统中的公共数据区、打印机等都是临界资源。

系统内任务应采取互斥的方式访问共享资源。在实时多任务系统中,当异步任务被激活时,容易出现资源的临界状态。实时多任务操作系统中应保证任何时刻临界资源内只有一个任务在访问。资源临界问题解决不好,执行任务交不出资源的控制权,将引起系统死锁。


容错与安全

容错是指这样一种性能或措施,当系统内某些软、硬件出现故障时,系统仍能正常运转,完成预定的任务或某些重要的不允许间断的任务。容错能力包括系统自诊断、自恢复、自动切换等多方面能力,由软、硬件共同采取措施才能实现。容错是实时系统提高可靠性的手段。

安全性控制是操作系统对自身文件和用户文件的存取合法性的控制。在实时操作系统中安全性极为重要,必须保证系统工作的高度可靠和安全,防止对应用系统有意或无意的破坏。通常采用一些软件控制方法来保证系统的安全性,如标记检查、多级口令设置、加密等等。


1.3.2 实时操作系统

实时操作系统(RTOS)是具有实时性且能支持实时控制系统工作的操作系统。

  • RTOS与通用计算机OS的区别:

    • 实时性。响应速度快,只有几微秒;执行时间确定、可预测;

    • 代码尺寸小。10~100KB,节省内存空间,降低成本;

    • 应用程序开发较难;

    • 需要专用开发工具:仿真器、编译器和调试器等。


实时操作系统的研究是从20世纪60年代开始的。从系统结构上看,实时操作系统经历了以下3个发展阶段。

(1)早期的实时操作系统

不能称为真正的实时操作系统。它只是一个小而简单、具有一定专用性的软件,其功能较弱,可以认为是一种实时监控程序。它一般为用户提供对系统的初始管理以及简单的实时时钟管理。

(2)专用实时操作系统

在国外称为Real-Time Operating System Developed in House。它是早期用户为满足自身开发需要而研制的,一般只能用于特定的硬件环境,且缺乏严格的评测,移植性也不太好。

(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操作系统是美国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写的,移植性好。高校教学可免费使用。


  • μC/OS-II的系统结构



  • Windows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化实时嵌入式操作系统(缩减的Win95)。

  • 针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统,

  • 由于其Windows背景,界面比较统一认可。可以使用大多数Windows开发工具(如VB,VC等),大多数Windows应用程序经过移植后就可以运行在WinCE平台上。

  • 操作系统的基本内核需要至少200K的ROM。


  • Linux是开放源码和免费使用的,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。

  • 嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。主要有RTLinux和CLinux

  • Linux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。

  • Linux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。

  • 近几年Linux在嵌入式领域异军突起,过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。



  • Palm OS是著名的网络设备制造商3COM旗下的Palm Computing掌上电脑公司的产品。

  • Palm OS是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以Palm操作系统本身所占的内存很小,基于Palm操作系统编写的应用程序所占的空间也很小,通常只有几十KB,因此基于Palm操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。

  • Palm OS在PDA市场上占有很大的市场份额,目前主要与WIN CE进行激烈竞争。

  • 代表性的产品有Palm m505、Palm m500、Palm III等。


  • 加拿大QNX公司的产品。

  • 其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。QNX内核非常小巧(QNX4.x大约为12KB),而且运行速度极快。

  • QNX是一个实时的、可扩充的操作系统,它部分遵循POSIX相关标准,由于QNX具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、GPS设备的实时操作系统使用。


  • Delta OS是电子科技大学嵌入式实时教研室和科银公司联合研制开发的全中文的嵌入式操作系统。

  • 提供强实时和嵌入式多任务的内核,任务响应时间快速、确定,不随任务负载大小改变。

  • 绝大部分的代码由C语言编写,具有很好的移植性。

  • 适用于内存要求较大、可靠性要求较高的嵌入式系统。

  • 主要包括嵌入式实时内核DeltaCORE、嵌入式TCP/IP组件DeltaNET、嵌入式文件系统DeltaFILE以及嵌入式图形用户界面DeltaGUI等。

  • 提供一整套的嵌入式开发套件LamdaTOOL和一整套嵌入式开发应用解决方案,已成功应用于通信、网络、信息家电等多个应用领域。


  • Hopen OS是凯思集团自主研制开发的实时操作系统。

  • 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。

  • 其核心Hopen Kernel的规模一般为10KB左右,占用空间小。

  • 具有实时、多任务、多线程的系统特征。


  • pSOS是ISI(Integrated Systems Inc.)公司研发的产品,是世界上最早的实时系统之一,也是最早进入中国市场的实时操作系统。

  • pSOS是一个模块化、高性能、完全可扩展的实时操作系统。

  • 专为嵌入式微处理器设计,提供了一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。

  • 包含单处理器支持模块(pSOS+)、多处理器支持模块(pSOS+m)、文件管理器模块(pHILE)、TCP/IP通信包(pNA)、流式通信模块(OpEN)、图形界面、Java,HTTP等。


主要内容

1

嵌入式系统概念

2

嵌入式处理器

3

嵌入式操作系统

4

实时操作系统的内核

5

嵌入式技术发展现状及趋势


1.4 实时操作系统的内核

  • 在实时操作系统中最关键的部分是实时多任务内核。它主要实现的功能包括:

    • 任务管理

    • 任务间通信与同步

    • 存储器管理

    • 定时器管理

    • 中断管理


1.4.1 任务管理

实时操作系统中的任务与操作系统中的进程相似。它是具有独立功能的无限循环的程序段的一次运行活动。

任务

  • 运行态(Executing):获得CPU控制权。

  • 就绪态(Ready):进入任务等待队列,通过调度转为运行状态。

  • 挂起态(Suspended):任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行态。

  • 休眠态(Dormant):任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。

任务的状态


1.4.1 任务管理

实时内核的任务管理实现在应用程序中建立任务,删除任务,挂起任务,恢复任务,以及对任务的响应、切换和调度等功能。

任务管理

  • 基于优先级的调度算法

    • 非抢占式调度

    • 抢占式调度

  • 同一优先级的时间片轮转调度算法

  • 单调速率调度算法

常用的任务调度算法


  • 实时系统为每个任务赋予一个优先级。实时系统允许多个任务共享一个优先级,通过同一优先级的时间片轮转调度算法,完成任务间的调度。

  • 优先级调度原则是让高优先级的任务在得到资源运行的事件上比低优先级任务更有优先权。

  • 实时操作系统都采用基于优先级的任务调度算法。

  • 按照任务在运行过程中是否能被抢占,可以分为抢占式调度和非抢占式调度两种。


非抢占式(Non-preemptive)调度算法也称作合作型多任务(Cooperative Multitasking)。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态,但中断服务以后控制权还是回到原来被中断的任务,直到该任务主动放弃CPU的使用权时,高优先级的任务才能获得CPU的使用权。


抢占式(preemptive)调度算法确保最高优先级的任务一旦就绪,总能得到CPU的控制权。


  • 实例简要说明:

  • 任务1:优先级较高。要使用资源S,使用完毕程序结束。

  • 任务2:优先级中等。不使用资源S。

  • 任务3:优先级最低。要使用资源S,使用完毕程序结束。

  • S:具有互斥机制保护的同一共享资源。

  • 3个任务的就绪顺序为:任务3首先进入就绪状态。在任务3运行过程中,任务1和任务2都进入就绪状态。其中任务1比任务2先进入就绪状态。

优先级

反转问题


  • 解决优先级反转问题的方法:

    • 优先级继承(Priority Inheritance)

    • 优先级封顶(Priority Ceiling)

优先级

反转问题

优先级继承

  • 设C为正占用着某项共享资源的进程P以及所有正在等待占用此项资源的进程的集合。

  • 找出这个集合中的优先级最高者P_h,其优先级为p’。

  • 把进程P的优先级设置成p’。


使用优先级继承后任务的运行流程

优先级继承通过提高任务3的优先级达到与任务1相同的优先级,来避免优先级反转问题的出现。


优先级封顶

  • 设C为所有可能竞争使用某项共享资源的进程的集合。事先为这个集合规定一个优先级上限p’,使得这个集合中所有进程的优先级都小于p’。注意p’并不一定是整个系统中的最高优先级。

  • 在创建保护该项资源的信号量或互斥量时,将p’作为一个参数。

  • 每当有进程通过这个信号量或互斥量取得对共享资源的独占使用权时,就将此进程的优先级暂时提高到p’,一直到释放该项资源的时候才恢复其原有的优先级。



优先级继承和优先级封顶的比较

  • 两种算法都改变了任务3的优先级,但改变优先级的时间和改变的范围有所不同。

  • 优先级继承只在占有资源的低优先级任务阻塞了高优先级的任务运行时,才动态更改低优先级的任务到高优先级。这种算法对应用中任务的流程影响比较小。

  • 优先级封顶则不管任务是否阻塞了高优先级任务的运行,只要任务访问该资源,都会提升任务的优先级到可访问这个资源的所有任务的最高优先级。

  • 这两种算法各有优缺点,实际选择时要看具体的应用情况。


  • 针对多个任务允许共用一个优先级的内核。

  • 如果系统中优先级最高的任务有两个或两个以上,调度器依照就绪的先后次序调度第一个任务 。

  • 当其执行一段特定的时间片后,无论任务完成与否,处理器都会结束该任务的运行,转入下一个就绪的同优先级任务。

  • 若有更高优先级的任务就绪,则应用基于优先级的可抢占调度算法调度更高优先级的任务。

  • 未运行完的任务释放处理器的控制权后,放到就绪队列的末尾,等待下一个时间片来竞争处理器。


单调速率调度算法RMS (Rate Monotonic Scheduling)主要用于分配任务的优先级。它是根据任务执行的频率确定优先级的。任务的执行频率越高,其优先级越高;反之,优先级越低。


1.4.2 任务间的通信和同步

  • 任务间的通信有两种方式:

  • 共享数据结构

    • 开/关中断

    • 设置测试标志

    • 禁止任务切换

    • 信号量

  • 消息机制

    • 消息邮箱

    • 消息队列

任务间的通信


1.4.2 任务间的通信和同步

任务间的同步

任务同步中也常常使用信号量。这里的信号量不再作为一种互斥机制,而是代表某个特定事件是否发生。任务的同步有单向同步和多向同步两种。

(1)单向同步

标志事件是否发生的信号量初始化为0。一个任务在等待某个事件时,查看该事件的信号量是否为非0。另一个任务或中断处理程序在进行操作时,当该事件发生后,将该信号量置为1。

(2)双向同步

两个任务之间可以通过两个信号量进行双向同步。双向同步有两个初始化为0的信号量,每个信号量进行一个方向的任务同步,两信号量的同步方向是相反的。


1.4.3 存储器管理

存储器管理提供对内存资源的合理分配和存储保护功能。

在大多数嵌入式实时系统中,不采用虚拟存储机制来实现对内存空间的直接管理,并且用分区与块的结合来避免内存碎片的出现。内核把内存分成多个空间大小不等的分区,每个内存分区又分为许多大小相同的块,各分区的块的大小不同。对于应用程序的动态申请内存的要求,内存管理模块将比较每个分区中块的大小,从大于且最接近用户申请空间块大小的分区中选出一个未使用的块分配给用户使用。


1.4.4 定时器和中断管理

实时内核要求用户提供定时中断以完成延时与超时控制等功能。实时系统中时钟是必不可少的硬件设备,它用来产生周期性的时钟节拍信号。

实时内核的设计中,在实时时钟的基础上由用户自定义时钟节拍(Tick)的大小,一个Tick值是用户应用系统的最小时间单位。

通过时钟中断服务程序,实时时钟可以完成软定时器和时间片轮转的时间计数功能。

实时内核的中断管理与一般操作系统内核的中断管理大体相同。中断管理负责中断的初始化、现场的保存和恢复、中断栈的嵌套管理等。


主要内容

1

嵌入式系统概念

2

嵌入式处理器

3

嵌入式操作系统

4

实时操作系统的内核

5

嵌入式技术发展现状及趋势


1.5 嵌入式技术发展现状及趋势

  • 嵌入式系统正处在一个飞速发展和激烈竞争的时代。

  • 在国外,嵌入式系统硬件,特别是嵌入式CPU的处理能力提升较快。

  • 国内的个人数字助理(PDA)市场火爆

  • 嵌入式操作系统市场竞争激烈,Linux成为嵌入式操作系统的新宠。

发展现状

发展趋势

  • 小型化(PDA)——人们携带方便;

  • 经济性——要让更多的人能买得起;

  • 可靠性(汽车)——能在苛刻的环境条件下运行;

  • 高速度(飞机)——能够迅速完成数据计算或传输;

  • 智能性(知识推理、模糊查询、识别、感知运动)

    ——使人们用起来更习惯,对人们更有使用价值。