111
嵌嵌嵌嵌 嵌嵌 IPT 嵌嵌嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌 嵌嵌嵌 2009/02/26 This file is based on << 嵌嵌嵌嵌-— 嵌嵌 32 嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌 2006>> with some of myself understanding as a basic introduction for embedded system

Embedded System Introduction

Embed Size (px)

DESCRIPTION

embedded system introduction

Citation preview

Page 1: Embedded System Introduction

嵌入式系统介绍

IPT 研发中心软件工程处

嵌入式系统与应用软件部

王浩皓 2009/02/26

This file is based on << 嵌入式系统 -— 基于 32 位微处理器与实时操作系统 2006>> with some of myself understanding as a basic introduction for embedded system

Page 2: Embedded System Introduction

2

主要内容

1111

3333

2222

4444

嵌入式系统简介

嵌入式处理器

嵌入式操作系统

嵌入式系统的典型应用

5555 嵌入式系统的基本设计过程

Page 3: Embedded System Introduction

3

什么是嵌入式系统? 通俗定义:嵌入到对象体系中的专用计算机系统 一般定义:以应用为中心、以计算机技术为基础、

软件硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统

广义定义:任何一个非计算机的计算系统 IEEE 定义:嵌入式系统是“用于控制、监视或者

辅助操作的机器、设备或装置”(原文为 devices used to control, monitor, or assist the operation of equipment, machinery or plants )

微软在 2002 年将嵌入式系统定义为完成某一特定功能、或是使用某一特定嵌入式应用软件的计算机或计算装置

Page 4: Embedded System Introduction

4

微机学会定义 嵌入式系统是以嵌入式应用为目的的计算机系统。

可分为系统级、板级、片级 系统级:各种类型的工控机、 PC104 模块 板级:各种类型的带 CPU 的主板及 OEM 产品 片级:各种以单片机、 DSP 、微处理器为核心的产品

嵌入式系统简介

Page 5: Embedded System Introduction

5

嵌入式系统简介 广义上讲,凡是带有微处理器的专用软硬件系统都可称为

嵌入式系统。如各类单片机和 DSP 系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操作系统,管理系统硬件核软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现。

从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的嵌入式系统。

Page 6: Embedded System Introduction

6

嵌入式系统的发展 电子数字计算机诞生于 1946年 ,那时计算机是供养在特

殊的机房中,实现数值计算的大型昂贵设备,没有嵌入式系统。

20世纪 70年代,基于微处理器的微型计算机以其小型、价廉、高可靠性特点,被人们经过电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统 。这样的微机,被称为嵌入式计算机系统

基于单片机的嵌入式系统的独立发展道路, 单片机诞生于20世纪 70年代末,以 8 位微处理器为基础,电子技术应用工程师为主体,实现传统电子系统的智能化。

现代的嵌入式系统,基于 32位高性能的微处理器和专用的嵌入式操作系统,从事网络、通信、多媒体,机器人等应用。将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合,是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

Page 7: Embedded System Introduction

7

嵌入式系统简介 现代计算机技术的两大分支

通用计算机系统(服务器,笔记本, PC) 通用计算机系统的技术要求是高速、海量的数值计算;技术发

展方向是速度的无限提升,存储容量的无限扩大。 嵌入式计算机系统

嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。

关系 通用计算机可直接改造成嵌入式系统,一些嵌入式系统

也可被改造成通用计算机 通用计算机系统可包含一个甚至多个嵌入式系统 通用计算计算机与嵌入式系统可混合或联合组成更大更

复杂的系统,如一些电信设备或航天航空设备

Page 8: Embedded System Introduction

8

嵌入式系统简介 基于 8 位, 16 位, 32 位的嵌入式系统

微处理器飞速发展的结果是嵌入式计算成为一门学科 。在嵌入式系统的早期阶段,所有基本硬件构件相对较小也较简单,如: 8 位的 CPU、 74系列的芯片及晶体管等,其软件子系统是采用一体化的监控程序,不存在操作系统平台。而今天组成嵌入式系统的基本硬件构件已较复杂,如:16 位、 32位 CPU 或特殊功能的微处理器、特定功能的集成芯片 (ASIC)、 FPGA或 CPLD 等,其软件设计的复杂性成倍增长。因此研究嵌入式系统的设计原理及技术,提供系统的设计方法和开发工具是嵌入式计算学科的关键技术。

Page 9: Embedded System Introduction

9

嵌入式系统简介 典型的 8 位微处理系统

MCS-51 系列的单片机是低端嵌入式系统中用得最多的微处理器。

Page 10: Embedded System Introduction

10

嵌入式系统简介 典型的 16 位微处理系统

MCS-96 系列单片机和 16位 DSP 芯片

Page 11: Embedded System Introduction

11

嵌入式系统简介 典型的 32 位微处理系统

ARM 系列是应用较广泛的 32 位微处理器。实际上该系列的 MCU 芯片很多,但大都是已 ARM 微内核为核心的。 32 位的 DSP 应用的也很广泛。

Page 12: Embedded System Introduction

12

特点 功耗限制

嵌入式系统中,尤其是在用电池供电的嵌入式系统中,这是一个主要考虑的因素。大耗电量直接影响到硬件费用,并影响电源寿命以及带来散热问题。

低成本 包含硬件成本和软件成本。硬件成本主要决定于所使用的微处

理器、所需的内存及相应的外围芯片;软件成本通常难于预测,但一个好的设计方法有利于降低软件成本。

多速率 系统同时运行多个实时性任务,系统必须同时控制这些动作,

但这些动作有些速度慢,有些速度快。 环境相关性

嵌入式系统不是独立的,而是与其被嵌入的设备紧密相关联。

嵌入式系统简介

Page 13: Embedded System Introduction

13

嵌入式系统简介 特点

系统内核小 由于嵌入式系统一般是应用于小型电子装置的,系统资源相对

有限,所以内核较之传统的操作系统要小得多。 比如 ENEA公司的 OSE 实时 OS ,内核只有 5K ,而

Windows 的内核则要大得多。 专用性强

嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。

同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。

Page 14: Embedded System Introduction

14

嵌入式系统简介 特点

不可垄断性 PC有WinTel垄断 嵌入式系统工业的基础是以应用为中心的“芯片”

设计和面向应用的软件产品开发。 产品相对稳定性

普通处理器 18月 嵌入式处理器 8 - 10 年

Page 15: Embedded System Introduction

15

1981年Ready System 开发了世界上第 1 个商业嵌入式实时内核( VTRX32 ),包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。

随后,出现了如 Integrated System Incorporation (ISI)的 PSOS、 IMG的VxWorks、QNX 公司的 QNX 等, Palm OS,WinCE ,嵌入式Linux, Lynx, uCOS、Nucleux ,以及国内的 Hopen、Delta OS 等嵌入式操作系统也相继出现。

嵌入式系统简介

Page 16: Embedded System Introduction

16

嵌入式实时系统( Real-Time System )是一个能够在指定或者确定的时间内对外部事件作出响应的系统,其重要的特性是实时响应性 . 嵌入式实时系统对外部事件的响应一般都是通过中断来处理的。

根据实时性,一般可分为强(硬)实时,准实时,弱 (软 )实时。大致参考是强实时 -微秒级, 准实时 - 毫秒级,弱实时 - 秒级。

注意:实时性考量的不是程序执行的快慢,而是最坏情况下的响应时间。实时性和高性能是两个不同的概念。

嵌入式系统简介

Page 17: Embedded System Introduction

17

嵌入式系统简介 实时性

实时性的本质是任务处理所化费时间的可预测性,即任务需要在规定的时限内完成。

任务执行的时间可以根据系统的软硬件的信息而进行确定性的预测。也就是说,如果硬件可以做这件工作,那么基于实时操作系统的软件将可以确定性的做这件工作。

实时系统 实时系统的正确性依赖于运行结果的逻辑正确性和运行结

果产生的时间正确性,即实时系统必须在规定的时间范围内正确地响应外部物理过程的变化。

嵌入式系统≠实时系统 有些嵌入式系统没有实时性要求

Page 18: Embedded System Introduction

18

嵌入式系统简介 硬实时软实时

“ 软”意味着如果没有满足指定的时间约束并不会导致灾难性的后果,而对于硬实时系统来说却是灾难性的

从实践上说,软实时和硬实时之间的区别通常(隐含的和错误的)与系统的时间精度有关:由于这个原因,典型的,软实时任务的调度精度必须大于千分之一秒,而硬实时任务为微秒级。

Page 19: Embedded System Introduction

19

嵌入式系统简介 实时频谱图

Page 20: Embedded System Introduction

20

嵌入式系统简介 市场

2001 年嵌入式系统国际会议年会 Jim Turley的报告中,统计得到 PC 的数量只占 CPU 总耗量的 0.1% 。

据 CCID2003 年的数据显示, 2000 年嵌入式软件市场规模为 70.33亿元, 2001 年为95.43亿元, 2002年 118.56亿元,三年平均增长 38.85% 。

2002 年中国软件市场为 345.0亿元,嵌入式软件约占软件总市场的 34.37%。

Page 21: Embedded System Introduction

21

嵌入式系统简介 市场

2004 年,软件统计数据为: 套装软件共计 478亿元,为具有独立产品形态的软件。

其中包括系统软件 89亿元(操作系统 44.19亿元、数据库管理系统 20.06亿元、支撑软件 25.71亿元)、

中间件软件 6.98亿元、 应用软件 304.53亿元(包括通用应用软件(安全软件、办公

软件、管理软件、游戏软件、教育软件等)与行业应用软件(金融、电信、政府等))、

嵌入式软件( 673.62亿元) 相关软件服务( 937.48亿元):除生产产品化软件之

外的所有的软件研发及相关活动,包括系统集成、软件外包、咨询、数据加工和处理等。

Page 22: Embedded System Introduction

22

嵌入式系统简介

处理器

存储器

输入接口

操作系统( 协议栈 )

操作系统( 协议栈 )

应用程序应用程序

软件子系统

硬件子系统

嵌入式系统组成

输出接口

外围设备

Page 23: Embedded System Introduction

23

嵌入式系统的软 /硬件框架

嵌入式微处理器

SDRAM

ROM

I/O

A/D

D/A

人机交互接口

通用接口

实时操作系统(RTOS)

图形用户接口

BSP/HAL 硬件抽象层/板极支持包

任务管理文件系统

应用程序

嵌入式计算机系统

硬件层

软件层

中间层

功能层

Page 24: Embedded System Introduction

24

嵌入式系统简介 硬件子系统

Page 25: Embedded System Introduction

25

嵌入式系统简介 嵌入式外围设备

在嵌入式硬件系统中,除了嵌入式处理器之外的完成存储、通信、 I/O 、调试等功能的其它部件。

分类 存储器类型:静态易失型存储器 (RAM/SRAM) ,动态

存储器 (DRAM) ,非易失型存储器(ROM、 EPROM、 EEPROM、 FLASH) 。其中, FLASH(闪存 )以可擦写次数多,存储速度快,容量大及价格便宜等有点在嵌入式领域得到广泛的应用。

接口类型:目前存在的所有接口在嵌入式系统中都有其广泛的应用,但是以下几种接口的应用最为广泛,包括RS-232 接口 ( 串口 )、 IrDA(红外 )、 SPI(串行设备接口 )、 I2C 、 USB、 Ethernet 和普通并口。

显示类型: CRT、 LCD 和触摸屏等外围显示设备。

Page 26: Embedded System Introduction

26

嵌入式系统简介 最小硬件系统

Page 27: Embedded System Introduction

27

嵌入式系统简介 嵌入式软件子系统

SCSIDriver

DeviceDrivers

MMUDriver

FlashDriver

CacheDriver

EthernetDriver

SerialDriver

Hardware

Applications

I/O System

File System

RTOS libraries

RTOS Kernel

TCP/IP Stack

Hardware Independent Software

Hardware Abstraction Layer: BSP & Device Driver

Page 28: Embedded System Introduction

28

嵌入式系统与单片机、 PC 相比的优势 采用 32位 RISC 嵌入式微处理器和实时操作系统组成

的嵌入式控制系统,与传统基于单片机的控制系统和基于 PC 的控制方式相比,具有以下突出优点:

性能方面:采用 32位 RISC 结构微处理器,主频从30MHz到 624MHz 以上,处理能力大大超出单片机系统,接近 PC 机的水平,但体积更小,能够真正地“嵌入”到设备中;

实性性方面:嵌入式机控制器内嵌实时操作系统( RTOS ),能够完全保证控制系统的强实时性;

人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面;输入方法多种多样;

系统升级方面:嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口( API )保证了系统能够快速升级和更新。

Page 29: Embedded System Introduction

29

主要内容

1111

3333

2222

4444

嵌入式系统简介

嵌入式处理器

嵌入式操作系统

嵌入式系统的典型应用

5555 嵌入式系统的基本设计过程

Page 30: Embedded System Introduction

30

嵌入式系统的应用领域

嵌入式应用

信息家电

智能玩具

军事电子

通信设备

移动存贮

工控设备

智能仪表

汽车电子

网络设备

消费电子军事国防

电子商务

网络

工业控制

Page 31: Embedded System Introduction

32

嵌入式系统的应用 家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。

Page 32: Embedded System Introduction

33

嵌入式视频服务器

Page 33: Embedded System Introduction

34

现代化家庭

Page 34: Embedded System Introduction

35

嵌入式 Internet 应用

Page 35: Embedded System Introduction

36

嵌入式系统在信息家电中的应用 信息家电 (Information Appliance )

一般可认为,那些低单价、操作简单、可通过因特网发送或获取信息,将逐步分割或替代 PC 的某些功能,并能与其它信息产品交换资料或讯息的产品可统称为信息家电。

Page 36: Embedded System Introduction

37

信息家电的分类及特点 信息家电的分类

网络电视( NetTV ) 网上游戏机( Internet gaming device ) 智能掌上型设备 (Internet smart handheld device) 网络电话( Internet screen Phone ) Consumer NC client 等。

信息家电技术特点 处理器发展趋向低成本、高整合性与低耗能。 整合数字与模拟处理的技术。 较 PC 更强调通讯能力。 利用软件增加产品的差异性 ( 高附加价值的关键 )

Page 37: Embedded System Introduction

38

典型的信息家电产品信息家电

定义 代表性产品

网络电视 具有机顶盒或内建网络连接的电视

Microsoft WebTV

网络可视电话 具有集成网络接入的屏幕电话

InfoGear iPhone

网络游戏机 具有集成网络接入的游戏操纵台

Sega Dreamcast

网络智能手持器件 蜂窝电话、个人数据助理( PDA )和其它集成网络接入的便携式器件

3Com Palm AT&T PocketNet Phone Nokia 9000,9000I,9110,7110

NC委托( clients )

提供网络接入以及能下载应用软件的器件

IBM NetStation

PC- 中间器件 通过 PC 接入网络以下载内容的器件

DIAMON Multimedia Rio Player Nuvomedia Rocket e-BookAudible Mobile Player

Source: IDC, Hambrecht & Quist

Page 38: Embedded System Introduction

39

信息家电与 PC 机

Page 39: Embedded System Introduction

40

信息家电——数字机顶盒

Page 40: Embedded System Introduction

41

汽车电子产品( 18 个嵌入式控制模块)—— CAN总线网络

VOLVO S80汽车的CAN总线网络

嵌入式应用——汽车电子

Page 41: Embedded System Introduction

42

智能玩具与机器人

Page 42: Embedded System Introduction

43

嵌入式技术应用——工业控制 工业方面:机床、冶金、电子、交通、

航空航天等行业技术升级的重要基础

Page 43: Embedded System Introduction

44

阿富汗参加反恐作战的“赫耳墨斯”价值 4 万美元,可携带 2 架摄像机,发挥了很好作用。

军事侦察

Page 44: Embedded System Introduction

45

2002年 11月 28日,以色列一选举投票点,发生枪击事件,造成至少 7 人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体。

反恐防暴

Page 45: Embedded System Introduction

46

微型飞行器 ---“黑寡妇”

空中飞行器

Page 46: Embedded System Introduction

47

基于 Win CE 的移动机器人平台

Page 47: Embedded System Introduction

48

基于 RTLinux 的仿人机器人

高 48 cm重 : 6 kg灵活性: 20 DOF操作系统 : RT-Linux接口形式 : USB 1.0 (12Mbps)响应周期 : 1ms能源: DC24V x 6.2A (150W)制造:富士通

Page 48: Embedded System Introduction

49

基于 VXworks 的火星探路者

Page 49: Embedded System Introduction

50

2004 年“勇气号”再次登陆火星

Page 50: Embedded System Introduction

51

嵌在鞋里!!

The microprocessor embedded in this adidas running shoe calculates the pressure between the runner's foot and the ground five million times per second and continuously changes the cushioning to match an adjustable comfort level. The computer controls a motor that lengthens and shortens a cable attached to a plastic cushioning element.

                                    

                                                                                    

Page 51: Embedded System Introduction

52

主要内容

1111

3333

2222

4444

嵌入式系统简介

嵌入式处理器

嵌入式操作系统

嵌入式系统的典型应用

5555 嵌入式系统的基本设计过程

Page 52: Embedded System Introduction

53

嵌入式处理器简介 中央处理单元 (CPU),数字信号处理器

(DSP),网络处理器 (NP) 微处理器 (MPU), 单片机 (SCM), 微控制器

(MCU), 片上系统 (SoC) 常见 CPU架构: ARM, MIPS,

Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8, 等 .

8 位, 16 位, 32 位, 64 位

Page 53: Embedded System Introduction

54

2007 嵌入式处理器调查

Page 54: Embedded System Introduction

55

嵌入式微处理器

Page 55: Embedded System Introduction

56

目前主要的嵌入式处理器类型有 Am186/188、 386EX、 SC-400、 PowerPC、 68000、MIPS、 ARM/StrongARM 系列等

嵌入式微处理器

Page 56: Embedded System Introduction

57

嵌入式微控制器 又称单片机,这种8位的电子器件目前在嵌入式设

备中仍然有着极其广泛的应用。 单片机芯片内部集成 ROM/EPROM、 RAM 、总线、总线逻辑、定时 /计数器、看门狗、 I/O 、串行口、脉宽调制输出、 A/D、 D/A、 Flash RAM、EEPROM 等各种必要功能和外设。

代表性的通用系列包括 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%的市场份额。

Page 57: Embedded System Introduction

58

嵌入式微控制器 微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。

微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。

Page 58: Embedded System Introduction

59

嵌入式 DSP 处理器 DSP 处理器是专门用于信号处理方面的处理器,

其在系统结构和指令算法方面进行了特殊设计,在数字滤波、 FFT 、谱分析等各种仪器上 DSP获得了大规模的应用。

DSP 处理器对系统结构和指令进行了特殊设计,使其适合于执行 DSP 算法,编译效率较高,指令执行速度也较高。

DSP 的理论算法在 70 年代就已经出现,但是由于专门的 DSP 处理器还未出现,所以这种理论算法只能通过MPU 等由分立元件实现。 1982 年世界上诞生了首枚 DSP 芯片。在语音合成和编码解码器中得到了广泛应用。 DSP 的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。

Page 59: Embedded System Introduction

60

嵌入式 DSP 处理器 有代表性的产品是 Texas Instruments 的 TMS320 系列和

Motorola的 DSP56000 系列。 TMS320 系列处理器包括用于控制的 C2000 系列,移动通

信的 C5000 系列,以及性能更高的 C6000和 C8000 系列。 Motorola公司的 DSP56000 已经发展成为

DSP56000, DSP56100, DSP56200和 DSP56300 等几个不同系列的处理器。

PHILIPS公司今年来也推出了基于可重置嵌入式 DSP 结构低成本、低功耗技术上制造的 DSP 处理器,特点是具备双Harvard 结构和双乘 /累加器单元,应用目标是大批量消费类电子产品。

Page 60: Embedded System Introduction

61

SoC就是 System on Chip, SoC 是一种基于IP( Intellectual Property )核嵌入式系统设计技术。

它结合了许多功能区块,将功能做在一个芯片上, ARM RISC、MIPS RISC、 DSP 或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口( USB )、 TCP/IP 通信单元、 GPRS 通信接口、 GSM 通信接口、 IEEE1394 、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。

SOC 可以分为通用和专用两类。 通用系列包括 Infineon(Siemens)的 TriCore,Motorola的M-Core,

Echelon和Motorola 联合研制的 Neuron 芯片等。 专用 SOC 一般专用于某个或某类系统中。有代表性的产品是

Philips的 Smart XA

嵌入式片上系统 (SoC)

Page 61: Embedded System Introduction

62

SOC 体系结构

ASIC CoreMemory

Embedded ProcessorCore

AnalogFunctions

Com

mun

icat

ion

SensorInterface

Page 62: Embedded System Introduction

63

知识产权

Page 63: Embedded System Introduction

64

主要内容

1111

3333

2222

4444

嵌入式系统简介

嵌入式处理器

嵌入式操作系统

嵌入式系统典型应用

5555 嵌入式系统的基本设计过程

Page 64: Embedded System Introduction

65

操作系统的发展 计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。

Page 65: Embedded System Introduction

66

嵌入式操作系统结构 操作系统分类

微内核( micro-kernel ) 单晶内核( monolithic kernel ) 混合内核( hybrid kernel )

Page 66: Embedded System Introduction

67

嵌入式操作系统 实时操作系统的特点

IEEE 的实时 UNIX 分委会认为实时操作系统应具备以下的几点 :

异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步

Page 67: Embedded System Introduction

68

嵌入式操作系统 实时操作系统的特点

总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性 , 与实时应用软件相结合成为有机的整体起着核心作用 , 由它来管理和协调各项工作 , 为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统一般实时操作系统和嵌入式实时操作系统嵌入式实时操作系统。

Page 68: Embedded System Introduction

69

嵌入式操作系统 实时操作系统的特点

一般实时操作系统一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。

嵌入式实时操作系统嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小 ( 一般在几 K~几十 K 内 ) 、可固化使用实时性强 ( 在毫秒或微秒数量级上 ) 的特点 。

Page 69: Embedded System Introduction

70

嵌入式操作系统 基本概念

对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成。

——前后台系统

Page 70: Embedded System Introduction

71

基本概念

中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。

循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。

ISR

ISR

ISRISR

后台 前台

中断服务程序 时间

——前后台系统

嵌入式操作系统

Page 71: Embedded System Introduction

72

嵌入式操作系统 基本概念

操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。

—— 操作系统

硬件硬件驱动操作系统用户程序

Page 72: Embedded System Introduction

73

嵌入式操作系统 基本概念

实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于 RTOS之上的各个任务, RTOS根据各个任务的要求,进行资源 ( 包括存储器、外设等 ) 管理、消息管理、任务调度、异常处理等工作。在 RTOS支持的系统中, 每个任务均有一个优先级, RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。

—— 实时操作系统( RTOS )

Page 73: Embedded System Introduction

74

嵌入式操作系统 基本概念

代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。

——代码的临界区

Page 74: Embedded System Introduction

75

嵌入式操作系统 基本概念

程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。

——资源

Page 75: Embedded System Introduction

76

任务 A

共享资源任务 B

任务 C信号量

嵌入式操作系统 基本概念

可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。

——共享资源

访问共享资源之前申请信号量

其它任务访问受阻而不能使用共享资源

得到允许后,才能使用共享资源

Page 76: Embedded System Introduction

77

嵌入式操作系统 基本概念

任务( Task) 是个混淆的通用名词,兼指进程和线程。进程( Process )普通的解释就是,进程是程序的

一次执行线程( Thread ),线程可以理解为进程中的执行的

一段程序片段。

—— 任务,进程,线程

Page 77: Embedded System Introduction

78

嵌入式操作系统 基本概念

当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即 CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU 的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。 CPU 的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于 CPU 有多少寄存器要入栈。

—— 任务切换

Page 78: Embedded System Introduction

79

嵌入式操作系统 基本概念

多任务系统中,内核负责管理各个任务,或者说为每个任务分配 CPU 时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如 2%~ 5%的 CPU运行时间、 RAM和 ROM 等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。

—— 内核

Page 79: Embedded System Introduction

80

嵌入式操作系统 基本概念

调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指 CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握 CPU 的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。

——调度

Page 80: Embedded System Introduction

81

嵌入式操作系统 基本概念

任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。

—— 任务优先级

Page 81: Embedded System Introduction

82

嵌入式操作系统 基本概念

非占先式内核要求每个任务自我放弃 CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个 CPU 。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃 CPU的使用权时,那个高优先级的任务才能获得 CPU 的使用权。

—— 非占先式内核

Page 82: Embedded System Introduction

83

嵌入式操作系统 基本概念

当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到 CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的 CPU 使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了 CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。

——占先式内核

Page 83: Embedded System Introduction

84

嵌入式操作系统 基本概念

•优先级• 抢占式 vs. 非抢占式• 静态 vs. 动态

•时间片 • 静态 vs. 动态

•混合 (优先级和时间片)

——进程线程调度总结

Page 84: Embedded System Introduction

85

嵌入式操作系统 基本概念

中断是一种硬件机制,用于通知 CPU 有个异步事件发生了。中断一旦被识别, CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序( ISR )。中断服务子程序做事件处理,处理完成后,程序回到:

1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。

—— 中断

Page 85: Embedded System Introduction

86

前后台系统

嵌入式操作系统 基本概念

—— 中断

ISR 任务

ISR

非占先操作系统

任务A

任务B

任务C

ISR

占先操作系统

任务A

任务B

任务C

Page 86: Embedded System Introduction

87

嵌入式操作系统 基本概念

时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在 10ms到 200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。

—— 时钟节拍

Page 87: Embedded System Introduction

88

使用嵌入式操作系统的优缺点 优点

使程序的设计和扩展变得容易,大大提高了开发效率。

充分发挥 32位 CPU 多任务的潜力,实现多任务设计,能够充分利用硬件资源和实现资源共享。

实时性和健壮性能够得到更好的保证。 缺点

嵌入式操作系统增加 ROM/RAM 等额外开销, 5 ~ 10%的 CPU额外负荷。

Page 88: Embedded System Introduction

89

嵌入式操作系统分类 按收费模式划分

商用型 Vxworks, Nucleux , PlamOS, Symbian, WinCE, QNX,

pSOS,VRTX,Lynx OS, Hopen, Delta OS, ThreadX 免费型

Linux,μCLinux,μC/OS-Ⅱ,eCos,uITRON 按实时性划分

硬实时 Vxworks,QNX,ThreadX

软实时 WinCE,RTLinux

无实时 Embedded Linux, WinXP Embedded

Page 89: Embedded System Introduction

90

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

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

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

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

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

嵌入式 Linux 及应用

Page 90: Embedded System Introduction

91

µcLinux

Page 91: Embedded System Introduction

92

Windows Embedded Windows CE :一种针对小容量、移动式、智能

化、 32 位、连接设备的模块化实时嵌入式操作系统(缩减的 Win95 )。

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

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

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

Page 92: Embedded System Introduction

93

VxWorks VxWorks 操作系统是美国WindRiver公司于

1983 年设计开发的一种嵌入式实时操作系统( RTOS ),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。

VxWorks 所具有的显著特点是: - 可靠性、实时性和可裁减性。 - 它支持多种处理器,如 x86、 i960、 Sun Sparc、Motorola MC68xxx、MIPS 、 POWER PC 等等。

以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器( 1997年 7 月 4 日登陆火星表面)。

Page 93: Embedded System Introduction

94

Symbian OS Symbian 由诺基亚、西门子、索尼爱立信等几家

大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。 Symbian 操作系统的前身是 EPOC 。

针对 PDA 及智能手机的,能够提供良好的软实时的操作系统,目前占有 60%的智能手机市场

与之竞争的有 Windows Mobile、 PalmOS 以及 Linux

主要版本 Series 60/90/80/40 UIQ

Page 94: Embedded System Introduction

95

Palm OS Palm OS 是著名的网络设备制造商 3COM旗下的 Palm

Computing掌上电脑公司的产品。 Palm OS 是一套专门为掌上电脑编写的操作系统,充分考

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

Palm OS在 PDA市场上占有很大的市场份额, Palm OS的市场份额占到将近 90% ,最近下降 70%,目前主要与WIN CE进行激烈竞争。

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

Page 95: Embedded System Introduction

96

QNX 加拿大 QNX公司的产品。

QNX 是在 X86 体系上面开发出来的,这和别的 RTOS 不一样,别的好多 RTOS 都是从 68K的 CPU 上面开发成熟,然后再移植到 X86 体系上面来的。

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

QNX Neutrino is the base of Cisco IOS XR.

Page 96: Embedded System Introduction

97

C/OS 及 C/OS-II C/OS—Micro Controller O S C/OS 简介

美国人 Jean Labrosse 1992 年完成,已应用于数百种产品中。

应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等

1998 年 C/OS-II ,目前的版本 C/OS -II V2.72 2000 年,得到美国航空管理局( FAA )的认证,可以

用于飞行器中 是一个源码公开、可移植、可裁减、占用资源少、抢先

式的实时多任务操作系统。其绝大部分源码采用 ANSI C 写的,移植性好。高校教学可免费使用。

网站www.ucos-II.com(www.micrium.com)

Page 97: Embedded System Introduction

98

OSE OSE 主要是由瑞典的 ENEA Data AB下属的

ENEA OSE Systems AB 负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。

OSE 的客户深入到电信、数据、工控、航空邓领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信、诺基亚、西门子等公司确立了良好的关系。

目前手机市场占有率为 15%左右,期望在未来3G手机市场占有率达到 50%。

Page 98: Embedded System Introduction

99

Nucleus PLUS

Nucleus 主要应用 :网络设备,例如,路由器,机顶盒等

Page 99: Embedded System Introduction

100

主要内容

1111

3333

2222

4444

嵌入式系统简介

嵌入式处理器

嵌入式操作系统

嵌入式系统的典型应用

5555 嵌入式系统的基本设计过程

Page 100: Embedded System Introduction

101

嵌入式系统设计的主要步骤 以自顶向下的角度来看,系

统设计从系统需求分析开始;第二步是规格说明,在这一步我们对需设计的系统功能进行更细致地描述,这些描述并不涉及系统的组成;第三步是系统结构设计,在这一阶段以大的构件为单位设计系统内部详细构造,明确软、硬件功能的划分;第四步是构件设计,它包括系统程序模块设计、专用硬件芯片选择及硬件电路设计;第五步是系统集成,在完成了所有构件设计的基础上进行系统集成,构造出所需的完整系统。

需求分析

规格说明

体系结构设计

构件设计

系统调试与集成

Page 101: Embedded System Introduction

102

需求分析与规格说明 在设计之前,我们必须清楚要设计什么。在设计的最初阶

段,我们应从客户那里收集系统功能的非形式描述,在此称其为需求;对需求进行提炼,以得到系统的规格说明,规格说明中应包含我们进行系统体系结构设计所需的足够信息。

在此把需求和规格说明区分开是必要的,因为嵌入式系统的用户不是专业人员,他们对系统的描述是建立在他们想象的、系统应具备的功能基础上,对系统可能有些不切实际的期望,表达要求时使用自己的话而不是专业术语。因而,必须将用户的描述转化为系统设计者的描述,从用户的需求中整理形成正式的规格说明。

Page 102: Embedded System Introduction

103

用户需求的格式 用户需求通常

包括功能部分和非功能部分。非功能部分需求主要指:性能、价格、尺寸和重量、功耗等。右边表是一个在系统设计的初始阶段使用的需求说明表格样本,该表格用简练、清晰的语句描述系统的基本需求。

项目 说明

名称

目的

输入

输出

功能

性能

生产成本

功耗

尺寸和重量

Page 103: Embedded System Introduction

104

GPS 移动地图系统 : 示例项目 说明

名称 GPS移动地图

目的 为司机等用户提供图形状的移动地图

输入 一个电源开关、两个操作按钮、 GPS信号输入

输出 LCD显示器,分辨率为 400×600

功能 可接 5 种 GPS接收器;三种用户可选的地图比例;总是显示当前经纬度

性能 0.25秒内即可更新一次屏幕,常温下工作

生产成本 1500元(人民币)

功耗 四节电池供电应连续工作 8 小时,功耗约100mW

尺寸和重量

尺寸不大于 20cm×30cm,重量不大于0.25公斤

GPS移动地图是一种手持设备,该设备为用户(如汽车驾驶员)显示他当前所处位置周围的地图;显示的地图内容应随用户以及该设备所处位置的改变而改变。该设备从 GPS 上得到其位置信息,移动地图的显示看起来应类似纸张上的地图。针对用户的初步要求,我们编写出如右表所示的系统需求表。

Page 104: Embedded System Introduction

105

描述规格说明的工具 规格说明应更精确地反映用户的需求,它是设

计者在设计时必须明确遵循的要求。规格说明应小心编写,描述应足够清晰,不能有歧义,以便别人可以通过它来验证设计是否达到要求。规格说明中通常只描述系统应做什么,而不描述系统该怎么做。

描述规格说明的工具可采用统一建模语言( UML )。 UML语言是一种面向对象的建模语言,它是软件工程课程中详细讲解的内容,本书附录A 中简要地介绍了它的概念和图形工具。

Page 105: Embedded System Introduction

106

体系结构设计 系统结构设计的目的

是描述系统如何实现系统的功能,它是系统整体结构的一个计划。右图以框图的形式描述了 GPS移动地图的体系结构,图中展示了移动地图的主要操作和其间的数据流。框图仍很抽象,还没有规定软件完成什么,专用硬件完成什么,等等。但该图还是清楚地描述了许多功能,如需搜索地形图数据库、需显示地图、需接收 GPS 信号等。

GPS接 收器 信号

搜 索引擎

显 示控制

显示器

数 据库

用 户接口

Page 106: Embedded System Introduction

107

系统硬件体系结构

显示器显示控制器( 含显缓 )

存储器

GPS 信号接收器

CPU

I/O 接口

Page 107: Embedded System Introduction

108

系统软件体系结构

GPS 接口程序

数据库查询

输入 /输出控制程序

显示控制

定时器

Page 108: Embedded System Introduction

109

构件设计 体系结构设计中告诉我们需要什么样的构件,而构件设

计中就是设计或选择符合体系结构和规格说明中所需求的构件。构件通常既包括硬件,如 FPGA 、电路板等,也包括软件模块。

一些硬件构件是现成的。现成的硬件构件即有标准构件,也有专用构件,例如 CPU 芯片,存储器芯片等就是标准构件,而在移动地图中 GPS 接收器就是专用构件。同样地,软件构件也可利用标准软件模块,如地图数据库及数据库标准访问例程及函数。

更多的情况下,我们需要自己设计一些构件,即使采用标准的集成电路,也必须设计连接它们的印刷电路板,同时,需做大量的定制编程。当然,建立嵌入式软件模块时,必须确保系统实时性良好,并且在允许的范围内不占用更多的存储空间。在移动地图这个例子中,电能消耗特别重要,设计时应尽量减少存储器读 /写,因为存储器访问是主要的功耗来源,存储器的访问必须精心安排,以避免多次读取相同的数据。

Page 109: Embedded System Introduction

110

系统调试与集成 只有建立构件后,才能将它们合并得到一个可以

运行的系统。当然在系统集成阶段并不是仅仅把所有的构件连接在一起就行,通常都会发现以前设计上的错误。在系统集成时按阶段构架系统,并每次只对一部分模块排错,能够更容易地发现并定位错误。我们必须确保在体系结构和各构件设计阶段尽可能按阶段集成系统,并相对独立地测试系统功能。系统集成时要准确定位出现的错误是非常困难的,在这一阶段,设计者的专业知识和经验将起很大的作用。

Page 110: Embedded System Introduction

111

教学硬件平台— ARM

UP- NetARM2410- S

Page 111: Embedded System Introduction

112

教学软件平台- Linux 近 200种操作系

统, WinCE、 Linux、 Vxworks、 QNX、 Nucleus、……

适于学习的源代码开放的操作系统:Linux 、 C/OS

Linux:层次结构且内核完全开放、网络功能强大、完整开发工具、广泛的硬件支持、遵循通用国际标准,便于程序的移植

C/OS :源代码公开、实时内核、易懂、易学、易用