第一章-嵌入式系统概述

第一章           嵌入式系统概述算法

1.       嵌入式系统的定义浏览器

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

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

2.       嵌入式系统应用领域函数

交通管理、工控设备、智能仪器、汽车电子、环境监测、电子商务、医疗仪器、移动计算、网络设备、通讯设备、军事电子、机器人、智能玩具、信息家电等等。工具

主要设备:性能

1)      网络设备:交换机、路由器、MODEM等。开发工具

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

3)      办公设备:打印机、传真机、扫描仪等。操作系统

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

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

 

3.       嵌入式系统的组成

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

硬件层

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

中间层

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

软件层

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

4.       嵌入式系统的特色

1)        系统内核小

2)        专用性强

3)        系统精简

4)        高实时性OS

5.       嵌入式系统的发展

1)        系统工程化

2)        开源化

3)        功能多样化

4)        节能化

5)        人性化

6)        网络化

6.       嵌入式处理器

嵌入式处理器能够分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器和嵌入式片上系统

嵌入式微处理器的基础是通用计算机中的CPU。具备体积小、重量轻、成本低、可靠性高的优势,可是在电路板上必须包括ROM、RAM、总线接口、各类外设等器件,从而下降了系统的可靠性,技术保密性也较差。

嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制器通常以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各类必要功能和外设。和嵌入式微处理器相比,微控制器的最大特色是单片化,体积大大减少,从而使功耗和成本降低、可靠性提升。

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

SoC能够分为通用和专用两类。

7.       嵌入式操做系统

计算机系统由硬件和软件组成,在发展初期没有操做系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也越来越丰富,监控程序已不能适应计算机应用的要求。因而在六十年代中期监控程序又进一步发展造成了操做系统(Operating System)。

发展到如今,普遍使用的有三种操做系统即多道批处理操做系统、分时操做系统以及实时操做系统

8.       嵌入式实时操做系统

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

与通用操做系统相比较,实时操做系统并非指它是一种速度很快的操做系统,而是指操做系统必须在限定的时间内,对过程调用产生正确的响应。实时操做系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具备较为突出的特色。

9.       实时操做系统的特色

1)        系统内核小

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

2)        专用性强

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

3)        系统精简

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

4)        高实时性

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

5)        多任务的操做系统

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

6)        须要开发工具和环境

10.   使用实时操做系统主要因素

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

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

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

11.   嵌入式实时操做系统的优缺点

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

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

12.   常见的嵌入式操做系统

1)        嵌入式Linux

2)        Android

3)        Win CE

4)        VxWorks

5)        OSE

6)        Nucleus

7)        eCos

8)        μC/OS-II

9)        uITRON

10)    uITRON

13.   嵌入式系统工程设计

1)        应用需求:

不了解需求而作成的产品每每是失败的。需求通常由用户提出,须要肯定设计任务和目标,并制定说明规格文档,做为下一步设计的指导和验收标准。这个问题的解决每每要与用户反复交流,以明确系统功能需求,性能需求,环境、可靠性、成本、功耗、资源等需求。

2)        须要多少硬件

硬件做为嵌入式系统的基本组成,硬件的设计对于项目的开发也是相当重要的,硬件方面须要考虑的问题有: CPU的选择,相应的外围芯片的选择。系统的主要I/O分配;系统的电源要求;硬件的尺寸要求、外壳设计等。

3)        如何知足实时性

因为嵌入式系统是嵌入到对象体系中的专用计算机应用系统,实现对象体系的智能化控制,所以,都存在着对象体系对控制过程的时间要求,以及嵌入式系统可否知足这一要求的实时性问题。解决实时性须要从硬件和软件等多方面入手。

4)        如何知足低功耗

    对于便携式设备,低功耗是很是重要的问题,主要的解决办法有:尽可能采用低电压的器件;下降处理器的时钟频率;分区/分时供电技术;编译低功耗优化技术;软件设计采用中断驱动技术;延时程序设计;软件算法优化等。

5)        如何保证系统可升级?

当设备出现了系统漏洞或者用户不知足现有功能而提出更多需求时,就要对系统升级或者维护系统功能,其主要方法有SD卡离线升级和在线升级两种。

6)        如何调试

调试是嵌入式系统开发过程当中必不可少的重要环节。调试的方法也是多种多样,有:ROM仿真器;ICE在线仿真器;JTAG调试器;软件仿真等。

7)        如何选择合适的开发环境

嵌入式系统开发环境是以开发嵌入式系统为目的的工程开发环境。包括办公环境、软件支持、硬件设备支持。软件支持是指集成开发环境与软件模拟器等。硬件支持是指仿真器、目标板、示波器、烧录器等。