第1章  嵌入式系统概述

 

1.1  嵌入式系统概述

·嵌入式系统的定义

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

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

·嵌入式系统应用领域

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

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

·消费电子:手机、MP3、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.节能化

5、 人性化

6、 网络化

 

·嵌入式处理器——概述

    早期的嵌入式系统通常使用普通个人计算机(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等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。

  和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。

  嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、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.它已经建立了开放的标准,形成了较完善的软硬件配套开发环境,较好地形成了产业化。


 

[嵌入式]嵌入式系统概述相关推荐

  1. 嵌入式软考备考_3 嵌入式操作系统概述

    嵌入式操作系统概述 工作在嵌入式环境中的操作系统 Embedded Operating System. 嵌入式和一般操作系统区别: 非通用操作系统,用于完成特定功能: 性能实时性能源可靠性要求高: 占 ...

  2. 什么是嵌入式?嵌入式的应用

    IT行业近几年逐渐被人们所认可,不少人转行IT行业,嵌入式成了一大热门方向,而不少同学会问什么是嵌入式呢?嵌入式又有哪些应用呢?今天小编来给大家介绍一下嵌入式. 什么是嵌入式?嵌入式的应用 嵌入式开发 ...

  3. 怎样入门嵌入式嵌入式未来的发展方向

    概述 ​    很多工程师要往嵌入式方向发展,特别是ARM得到应用后,这个趋势更是有增无减,但你真的知道怎样入门嵌入式么?你知道嵌入式未来的发展方向么? 怎样入门嵌入式嵌入式未来的发展方向 在很多学生 ...

  4. 2017070506嵌入式开发系统概述和开发工具的使用

    170705 一.嵌入式概述 在有限的成本下,选用合适的硬件,通过软件达到性能的优化 Linux内核是可裁剪的,可裁剪成适合某个平台某些功能的操作系统 二.Linux安装 1.文件系统.分区和挂载 1 ...

  5. 从单片机到嵌入式开发——(8) μC/OS-II嵌入式实时操作系统概述

    首先是一个对目前写的这些东西的总结.后面我会花大概两篇左右的内容来简单介绍一下STM32的使用.正文部分在后面一点,可以直接往后翻. 感想什么的 截止本篇为止,单片机的基本原理部分已经介绍完毕了.这个 ...

  6. java 教程 嵌入式,嵌入式狗的 JAVA 入门笔记·1

    嵌入式狗的JAVA之路.记录下学习过程,方便以后翻看了解C C++基础,应该学习不会慢~~~~吧~,~ 名词熟悉 JVM: Java Virtual Machine JAVA虚拟机 JAVA工作原理: ...

  7. 《嵌入式 - 嵌入式大杂烩》 处理器架构与指令集

    大家天天都在使用手机,你知道你的手机使用的什么处理器?处理器又是何种架构呢?今天笔者就来谈谈处理器的架构和指令集. 我们知道一台手机最重要的就是处理器,也就是处理器,那么什么是处理器呢? 处理器就是一 ...

  8. 《嵌入式 - 嵌入式大杂烩》详解J-Link RTT打印

    开发环境: J-Link版本:V9.4 J-Link驱动版本:V760h_x86_64 Keil:V5.30 在嵌入式开发过程中,经常需要进行打印调试,通常使用串口进行打印输出,但通常串口资源有限,这 ...

  9. linux rcs启动脚本嵌入式,嵌入式Linux系统启动脚本rcS

    嵌入式系统启动过程中,最重要一环就是启动服务.这些服务都是通过预设置好的脚本启动起来的,控制这些启动脚本的就是rcS启动脚本. rcS文件在/etc/init.d/下面,因为嵌入式系统一般经过剪裁,降 ...

最新文章

  1. 无线信标功能初步测试
  2. android仿ios城市选择,Android 省市区三级联动选择器(仿iOS滚轮实现)
  3. has invalid type class 'numpy.ndarray', must be a string or Tensor
  4. android大疆飞控界面,DJI Android SDK 开发笔记(入门篇)
  5. springboot项目中日志分类
  6. r语言聚类分析_图说层次聚类分析原理和R语言实现
  7. 在React和Vue中支持服务器端呈现
  8. Day_2_Python_str_list_dict的使用
  9. 已知两点经纬度求球面最短距离的公式推导过程(几何法加向量法)
  10. ElasticSearch - 学习
  11. Linux系统安装三菱编程软件,如何安装三菱plc编程软件gx developer
  12. 计算机组成原理ACC中文含义,计算机组成原理答案.ppt
  13. 宋宝华:当Linux内核遭遇鲨鱼—kernelshark
  14. centos7下安装zmap
  15. java读取mp3文件_java读取mp3文件 | 学步园
  16. celeste第二章_『第二章』 蔚蓝的剑
  17. k60正交解码FTM1 FTM2 困惑
  18. 电子邮件签名模板_15个网站下载免费的电子邮件通讯模板
  19. 快速实现抖音的分享登录(android)
  20. 20041220 GETSTRING.CS

热门文章

  1. 感性认识spring的IoC
  2. cocos2d-x3.x 游戏手柄
  3. 最简便的方法搭建Hexo+Github博客,基于Next主题
  4. 【PPT计时器】如何在wps演示PPT中使用定时器、计时器功能?不使用第三方插件,仅仅使用第三方计时器软件
  5. 【skywalking 部署测试】
  6. 计算机的输入输出设备
  7. 什么软件可以搜python题_Python答题神器下载-Python百万答题软件 _5577安卓网
  8. 关于C++的数据模型:LP32、ILP32、LLP64、LP64
  9. 50个明星区块链项目跌破发行价,超10家项目几近归零
  10. 关于Windows无法格式化该卷,因为该卷已脱机的问题解决办法