[嵌入式]嵌入式系统概述

第1章  嵌入式系统概述linux

 

1.1  嵌入式系统概述算法

·嵌入式系统的定义编程

     嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。浏览器

     这个定义主要包含两个信息,一是嵌入式系统是专用计算机系统,所以必需要有处理器,具有计算机系统的基本特征。二是嵌入式系统的功能是有严格要求并按照指定的应用而设计的。安全

·嵌入式系统应用领域网络

根据嵌入式系统的应用领域有交通管理、工控设备、智能仪器、汽车电子、环境监测、电子商务、医疗仪器、移动计算、网络设备、通讯设备、军事电子、机器人、智能玩具、信息家电等等。主要的产品:分布式

·网络设备:交换机、路由器、MODEM等。模块化

·消费电子:手机、MP三、PDA 、可视电话、电视机顶盒、数字电视、数码照相机、数码摄像机、信息家电等。函数

·办公设备:打印机、传真机、扫描仪等。工具

·汽车电子:ABS防死锁刹车系统、车载GPS等。

·工业控制:各类自动控制设备。

 

·现实中的嵌入式系统


·嵌入式系统的组成

嵌入式系统通常由硬件层、中间层和软件层组成。

·硬件层

硬件层包括嵌入式微处理器、存储器、通用设备接口和I/O接口。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操做系统和应用程序均可以固化在ROM中。

·中间层

硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体状况,根据BSP 层提供的接口便可进行开发。该层通常包含相关底层硬件的初始化、数据的输入/输出操做和硬件设备的配置功能。

·软件层

系统软件层由实时多任务操做系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

 

·嵌入式系统特色

1.系统内核小

2.专用性强

3.系统精简

4.高实时性OS

·嵌入式系统发展

1.系统工程化

2.开源化

3.功能多样化

4.节能化

五、 人性化

六、 网络化

 

·嵌入式处理器——概述

    早期的嵌入式系统一般使用普通我的计算机(PC)中的通用处理器。近年来,随着大量先进的微处理器制造技术的发展,愈来愈多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器。

   世界上具备嵌入式功能特色的处理器已经超过1000种,流行体系结构包括MCU、MPU等30多个系列。鉴于嵌入式系统广阔的发展前景,不少半导体制造商都大规模生产嵌入式处理器,其中从单片机、DSP到FPGA有着各式各样的品种,速度愈来愈快,性能愈来愈强,价格也愈来愈低。根据其现状,嵌入式处理器能够分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和嵌入式片上系统。

1.2  嵌入式处理器

·分类

嵌入式处理器能够分为如下几大类:

·嵌入式微处理器;

·嵌入式微控制器;

·嵌入式DSP处理器;

·嵌入式片上系统(SOC)。

 

·嵌入式处理器——嵌入式微处理器

    嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样能够大幅度减少系统体积和功耗。为了知足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是同样的,但在工做温度、抗电磁干扰、可靠性等方面通常都作了各类加强。

    和工业控制计算机相比,嵌入式微处理器具备体积小、重量轻、成本低、可靠性高的优势,可是在电路板上必须包括ROM、RAM、总线接口、各类外设等器件,从而下降了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。

 


·嵌入式处理器——嵌入式微控制器

嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制器通常以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各类必要功能和外设。为适应不一样的应用需求,通常一个系列的单片机具备多种衍生产品,每种衍生产品的处理器内核都是同样的,不一样的是存储器和外设的配置及封装。这样可使单片机最大限度地和应用需求相匹配,功能很少很多,从而减小功耗和成本。

  和嵌入式微处理器相比,微控制器的最大特色是单片化,体积大大减少,从而使功耗和成本降低、可靠性提升。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源通常比较丰富,适合于控制,所以称微控制器。

  嵌入式微控制器目前的品种和数量最多,比较有表明性的通用系列包括805一、P51XA、MCS-25一、MCS-96/196/29六、C166/16七、MC68HC05/11/12/1六、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70%的市场份额。

 

·嵌入式处理器——嵌入式DSP处理器

  DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。

  嵌入式DSP处理器比较有表明性的产品是Texas Instruments的TMS320系列和Motorola的DSP56000 系列。TMS320系列处理器包括用于控制的 C2000系列,移动通讯的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不一样系列的处理器。另外PHILIPS公司近年也推出了基于可重置嵌入式DSP结构低成本、低功耗技术上制造的R. E. A. L DSP处理器,特色是具有双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品。

 

·嵌入式处理器——嵌入式片上系统(SOC)

随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip(SOC)。各类通用处理器内核将做为SOC设计公司的标准库,和许多其它嵌入式系统外设同样,成为 VLSI设计中一种标准的器件,用标准的 VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真经过后就能够将设计图交给半导体工厂制做样品。这样除个别没法集成的器件之外,整个嵌入式系统大部分都可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减少体积和功耗、提升可靠性很是有利。

        SoC能够分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC通常专用于某个或某类系统中,不为通常用户所知。一个有表明性的产品是Philips的Smart XA,它将XA单片机内核和支持超过2048 位复杂RSA算法的CCU单元制做在一块硅片上,造成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面。

 

1.3  嵌入式操做系统

·概述

    计算机系统由硬件和软件组成,在发展初期没有操做系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也越来越丰富,监控程序已不能适应计算机应用的要求。因而在六十年代中期监控程序又进一步发展造成了操做系统(Operating System)。发展到如今,普遍使用的有三种操做系统即多道批处理操做系统、分时操做系统以及实时操做系统。

·嵌入式实时操做系统

    实时操做系统(Real-Time Operating System,RTOS)并非指它是一种速度很快的操做系统,而是指操做系统必须在限定的时间内,对过程调用产生正确的响应。正由于如此,实时操做系统对于时间调度和稳定度上有很是严格的要求,不允许发生太大的偏差。

    嵌入式实时操做系统(Real Time Embedded Operating System)是一种实时的、支持嵌入式系统应用的操做系统软件,它一般包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通讯协议、图形界面、标准化浏览器等。

    与通用操做系统相比较,实时操做系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具备较为突出的特色。

嵌入式实时操做系统特色

1.系统内核小

   因为嵌入式系统通常是应用于小型电子装置的,系统资源相对有限,因此内核较之传统的操做系统要小得多。

2.专用性强

   嵌入式系统嵌入式系统的个性化很强,其中嵌入式操做系统的调度机制和硬件的结合很是紧密,通常要针对硬件进行系统的移植,即便在同一品牌、同一系列的产品中也须要根据系统硬件的变化和增减不断进行修改。同时针对不一样的任务,每每须要对系统进行较大更改。

3.系统精简

   嵌入式系统通常没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制成本,同时也利于实现系统安全。

4.高实时性

   高实时性的系统软件(OS)是嵌入式系统的基本要求。并且软件要求固态存储,以提升速度;软件代码要求高质量和高可靠性。

5.多任务的操做系统

   嵌入式软件开发要想走向标准化,就必须使用多任务的操做系统。合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,保证程序执行的实时性、可靠性,并减小开发时间。

6.须要开发工具和环境

·使用实时操做系统的必要性

嵌入式实时操做系统在目前的嵌入式应用中用得愈来愈普遍,尤为在功能复杂、系统庞大的应用中显得越来越重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操做系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操做系统主要有如下几个因素:

·嵌入式实时操做系统提升了系统的可靠性。

·提升了开发效率,缩短了开发周期。

·嵌入式实时操做系统充分发挥了32位CPU的多任务潜力。

 

·实时操做系统的优缺点

优势:在嵌入式实时操做系统环境下开发实时应用程序使程序的设计和扩展变得容易,不须要大的改动就能够增长新的功能。经过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;并且对实时性要求苛刻的事件都获得了快速、可靠的处理。经过有效的系统服务,嵌入式实时操做系统使得系统资源获得更好的利用。

 

缺点:可是,使用嵌入式实时操做系统还须要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。

 

·常见的嵌入式操做系统——嵌入式Linux

    uClinux是一个彻底符合GNU/GPL公约的操做系统,彻底开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,而且为嵌入式系统作了许多小型化的工做。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它一般用于具备不多内存或Flash的嵌入式系统。它保留了Linux的大部分优势:稳定、良好的移植性、优秀的网络功能、完备的对各类文件系统的支持、以及标准丰富的API等。


·常见的嵌入式操做系统——Android

 Android系统是Google在2007年11月5日公布的基于Linux平台的开源智能手机操做系统名称,该平台由操做系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是运行于Linux kernel之上,但并非GNU/Linux。Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Management),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。Android的主要特色有:良好的平台开放性、能够实现个性化应用设定和与Google应用的无缝结合。

 

·常见的嵌入式操做系统——Win CE

Windows CE是微软开发的一个开放的、可升级的32位嵌入式操做系统,是基于掌上型电脑类的电子设备操做,它是精简的Windows 95。Windows CE的图形用户界面至关出色。Win CE具备模块化、结构化和基于Win32应用程序接口以及与处理器无关等特色。Win CE不只继承了传统的Windows图形界面,而且在Win CE平台上可使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使绝大多数的应用软件只需简单的修改和移植就能够在Windows CE平台上继续使用。  


·常见的嵌入式操做系统——VxWorks

VxWorks操做系统是美国 WIND RIVER公司于1983年设计开发的一种嵌入式实时操做系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操做系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被普遍地应用在通讯、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、弹道制导、飞机导航等,甚至在1997年4月登录火星表面的火星探测器上也使用到了VxWorks。

·常见的嵌入式操做系统——OSE

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

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

·常见的嵌入式操做系统——Nucleus

Nucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操做系统内核,其95%的代码是用ANSIC写成的,所以很是便于移植并可以支持大多数类型的处理器。

Nucleus PLUS采用了软件组件的方法。每一个组件具备单一而明确的目的,一般由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是经过这些接口完成的。因为采用了软件组件的方法,使Nucleus PLUS的各个组件很是易于替换和复用。

·常见的嵌入式操做系统——eCos

eCos是RedHat公司开发的源代码开放的嵌入式RTOS产品,是一个可配置、可移植的嵌入式实时操做系统,设计的运行环境为RedHat的GNUPro和GNU开发环境。eCOS的全部部分都开放源代码,能够按照须要自由修改和添加。eCOS的关键技术是操做系统可配置性,容许用户组和本身的实时组件和函数以及实现方式,特别容许eCOS的开发则定制本身的面向应用的操做系统,使eCos能有更普遍的应用范围。

·常见的嵌入式操做系统——μC/OS-II

μC/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操做系统。其绝大部分源码是用ANSI C写的,使其能够方便的移植并支持大多数类型的处理器。μC/OS-II经过了联邦航空局(FAA)商用航行器认证。自1992年问世以来,μC/OS-II已经被应用到数以百计的产品中。μC/OS-II占用不多的系统资源,而且在高校教学使用是不须要申请许可证。

·常见的嵌入式操做系统——uITRON

TRON是指“实时操做系统内核(The Real-time Operating system Nucleux)”,它是在1984年由东京大学的Sakamura博士提出的,目的是为了创建一个理想的计算机体系结构。经过工业界和大学院校的合做,TRON方案正被逐步用到全新概念的计算机体系结构中。

uITRON是TRON的一个子方案,它具备标准的实时内核,适用于任何小规模的嵌入式系统,日本国内现有不少基于该内核的产品,其中消费电器较多。目前已成为日本事实上的工业标准。

·常见的嵌入式操做系统——uITRON

TRON明确的设计目标使其甚至比Linux更适合于作嵌入式应用,内核小,启动速度快,即时性能好,也很适合汉字系统的开发。另外,TRON的成功还来源于以下两个重要的条件:

1.它是免费的

2.它已经创建了开放的标准,造成了较完善的软硬件配套开发环境,较好地造成了产业化。