嵌入式系统期末考试总结

嵌入式系统期末考试总结

1   嵌入式系统的定义

什么是嵌入式系统:是将计算机硬件和软件结合起来,构成一个专门的计算装置,完成特定的功能和任务。它工作在一个与外界发生交互并受到时间约束的环境中,在没有人工干预的情况下进行实时控制。由于被嵌入对象的体系结构、应用环境要求不同,因此嵌入式系统可分为有许多种类。

根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。

一般定义:“以应用为中心、以计算机技术为基础、软硬件可裁减,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。”

嵌入式系统的组成

嵌入式系统是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应用软件所组成。如下图所示:

图1  嵌入式系统的组成

1)嵌入式系统硬件系统

嵌入式系统的硬件是以嵌入式处理器为核心,配置必要的外围接口部件。

一般包括有 :嵌入式处理器; 存储器; I/O系统和外设

2)嵌入式系统的软件系统

包括 : 操作系统     应用软件

3)嵌入式系统的开发工具

(1)硬件开发工具包括 :仿真器等  ;其它(示波器等)

(2)软件开发工具包括 : 编译、连接、定位软件,通常使用C语言;调试软件。

2.1  嵌入式系统基本硬件架构

¡  嵌入式系统基本硬件架构主要包括有处理器、外围电路及接口和外部设备三大部分。其中外围电路一般包括有时钟、复位电路、程序存储器、数据存储器和电源模块等部件组成。外部设备一般应配有USB、显示器、键盘和其他等设备及接口电路。硬件架构的核心部件是微处理器。

¡  在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和RAM等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

2.2  嵌入式 系统的软件组成

嵌入式系统的软件包括嵌入式操作系统和相应的各种应用程序。

Ø  嵌入式操作系统

    通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。具有编码体积小,面向应用,可裁剪和移植,实时性强,可靠性高,专用性强等特点。

Ø  相应的各种应用程序

嵌入式系统的开发工具和开发系统

    开发工具一般用于开发主机(如微机),包括语言编译器、连接定位器、调试器等。

嵌入式系统的开发平台一般有4部分组成:硬件平台、操作系统、编程语言和开发工具。

2.3  嵌入式系统的特点

¡  采用32位RISC嵌入式微处理器和实时操作系统组成的嵌入式控制系统,与传统基于单片机的控制系统和基于PC的控制方式相比,具有以下突出优点:

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

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

u 人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面,这方面与PC机相比略要逊色一些;

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

¡  通常是面向特定应用的;

¡  空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余;

¡  产品升级换代和具体产品同步,具有较长的生命周期; 

¡  软件一般都固化在存储器芯片;

¡  不具备自举开发能力 ,必须有一套开发工具和环境才能进行开发

以下为以ARM为主的嵌入式系统的体系架构

嵌入式系统的硬件结构

1.1 冯.诺依曼结构

冯.诺依曼结构计算机系统是由一个中央处理单元(CPU)和一个存储器组成。这个存储器存储全部的数据和指令,并且可以根据所给的地址对其进行读写操作。数据和指令都存在一个存储器中的计算机被称为冯.诺依曼结构计算机。

1.2冯·诺依曼体系的特点

1)数据与指令都存储在存储器中

2)每条指令的执行周期:T= TF+TD+TE+TS

   取指令(Instruction Fetch)TF ;

   令译码(Instruction Decode)TD;

   执行指令(Instruction Execute)TE;

   存储(Storage)TS

3)被大多数计算机所采用。

通常使用的ARM7就是属于冯诺依曼体系。

1.2  哈佛体系结构

哈佛体系结构计算机为数据和程序提供了各自独立的存储器,程序计数器只指向程序存储器而不指向数据存储器。独立的程序存储器和数据存储器为数字处理提供了较高的性能,让两个存储器有不同的端口,可以提供较大的存储器带宽。这样一来,数据和程序不必再竞争同一个端口,这使得数据适时地移动更加容易。目前大部分DSP和ARM9微处理器都是采用这种哈佛体系结构

1.3  嵌入式系统硬件基本结构

不同的应用通常有不同的硬件环境,硬件平台的多样性是嵌入式系统的主要特点。在实际应用中,除了微处理器和基本的外围电路外,其余的电路可根据需要和成本进行裁剪和定制。

1    嵌入式微处理器

随着嵌入式系统不断深入人们生活中的各个领域,嵌入式处理器得到了前所未有的发展。全世界嵌入式处理器品种总量超过1500多种,流行体系结构有50多个系列。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有了自己的处理器设计部门。

嵌入式处理器的基础是通用计算机的中的CPU,是嵌入式系统的核心。在应用中,嵌入式处理器具有体积小、质量轻、成本低、可靠性高等优点。目前比较有影响的嵌入式RISC处理器产品有IBM的PowerPc,MIPS公司的MIPS,SUN公司的Sparc和ARM公司的ARM系列。

ARM的成功在于它极好的性能和极低的功耗,使得它能够与高端的MIPS和Powerpc嵌入式微处理器抗衡。另外,根据市场需求进行功能的扩展,也是ARM取得成功的一个因素。随着更多厂商的支持和加入,可以预见,在将来一段时间内,ARM将主宰32位嵌入式处理区市场。

2    存储器

一个嵌入式系统必须有一定的存储器来存放和执行代码。在决定存储器的层次、宽度和类型等特性时,必须综合考虑价格、性能和功耗等因素。嵌入式存储系统是由高速缓冲区Cache、主存储器和辅助存储器(自选如CF卡、SD卡等)组成。嵌入式系统常使用FlashROM作为程序存储器,因为嵌入式系统和台式PC系统不一样,其程序不会更改。在数据存储中,常数数据可存储在FlashROM中,而其他数据则需要使用RAM。高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝, 减少访问主存储器的所花的访问时间。

图3  高速缓存

Cache位于主存和内核之间,用于提高处理器和主存之间的数据传输速度。Cache改善了系统的总体性能,但同时使得系统的执行时间不得不可预测,并且都市是系统响应也么有什么帮助。为此,在许多小型嵌入式系统中,并不需要使用Cache来优化性能。

主存的容量较大(一般为256KB—256MB,甚至更大),它可根据具体的应用而定,通常是一些独立的芯片。在各级存储器中,辅助存储器的容量最大,但速度最慢。如今辅助存储器的容量能够从600MB到上百GB。

另外,存储器的类型包括:只读存储器ROM、Flash ROM(闪存)、动态随机访问存储器(DRAM)、静态随机访问存储器(SRAM)、同步动态随机访问存储器(SDRAM)、硬盘、软盘和CD-ROM等外存储器。

3    外设及接口

 嵌入式系统与外界交互需要一定形式的外设,片外其它设备通过外设接口与芯片连接。每一个外设通常只有一个单一的功能,可以内置在芯片上。外设种类很多,如下:

(1)输入/输出设备。CRT、LCD和触摸屏等,构成了嵌入式系统中重要的信息输入/输出设备,应用十分广泛。触摸屏可以方便的实现鼠标和键盘的功能。

(2)通信接口。所有计算机通信接口在嵌入式领域中都有着广泛的应用。应用最广泛的设备接口包括RS-232、RS-485、USB、CAN总线、蓝牙、以太网接口和GPIO。

(3)存储扩展接口。目前嵌入式系统的功能越来越复杂,需要大容量的内存。但由于大容量的内存使得系统成本提高,因此,一些高端嵌入式系统都会为日后用户有特别需求时,预留可扩展存储接口。

嵌入式系统的软件结构

对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构包含4个层面:设备驱动层、实时操作系统RTOS、应用程序接口API层、实际应用程序层。

(1)驱动层程序

驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何外部设备都需要有相应驱动层程序的支持,它为上层软件提供了设备的接口。上层软件不用理会设备的具体内部操作,只需调用驱动层程序提供的接口即可。驱动层程序一般包括硬件抽象层HAL、板极支持包BSP和设备驱动程序。

(2)实时操作系统RTOS

实时多任务操作系统主要用来完成嵌入式实时应用的任务调度和控制等核心功能。这些功能是通过内核服务函数形式交给用户调用的,也就是RTOS的系统调用,或者叫做RTOS的API。

实时操作系统可根据实时应用环境的要求对内核进行裁剪和重置设置,根据不同的应用,其组成有所不同,但实时内核、网络组建、文件系统和图形接口等几个重要组成部分是不太变化的。实时操作系统的引入大大提高到了起入室系统开发的效率,减少了系统开发的总工作量,而且提高了嵌入式应用软件的可移植性。RTOS的体系结构如下所示:

图4 RTOS的体系结构图

(3)操作系统的应用程序接口API

API(Application Programming Interface,应用程序接口)是一系列复杂的函数、消息和结构的集合体。嵌入式操作系统下的API和一般操作系统下的API在功能、含义及知识体系上完全一致。可这样理解API:在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能的执行可通过计算机操作系统或硬件预留的标准指令调用,而软件人员在编制应用程序时,就不需要为每种可通过硬件或外设执行的功能重新编制程序,只需按系统或某些硬件事先提供的API调用即可完成功能的执行。因此在操作系统中提供标准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也为操作系统版本的升级带来了方便。在API函数中,提供了大量的常用模块,可大大简化用户应用程序的编写。

(4)应用程序

操作系统是为应用程序提供基础服务的软件。而应用程序是在CPU上执行的一个或多个程序,在执行过程中会使用输入数据并产生输出数据。应用程序的管理包括程序载入和执行,程序对系统资源的共享和分配,并避免分配到的资源被其他程序破坏。

实际的嵌入式系统应用软件建立在系统的主任务(Main Task)基础之上。用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能开发。在用户的应用程序中,也可创建用户自己的任务。任务之间的协调主要依赖于系统的消息队列。

常用的嵌入式操作系统包括:

①Linux操作系统。Linux操作系统类似于UNIX,是一种免费的、源代码完全开放的操作系统。由于Linux操作系统的界面和编程接口与UNIX类似,所以UNIX程序员可以很容易的从UNIX环境转移到Linux环境中来。

②uc/os-II操作系统。uc/os-II操作系统是一个可裁剪、源码开放、结构小巧的实时多任务内核,主要面向中小型嵌入式系统,具有执行率高、占用空间小、可移植性强和可扩展线性等优点。uc/os-II最多可支持64个任务。编译后的uc/os-II具有良好的可扩展性,例如,系统本身不支持文件系统,但是如果需要也可自行加入文件系统的内容。

③Windows CE 操作系统。Windows CE 操作系统是针对有限资源的平台而设计的多线程、完整优先性、多任务的操作系统,但他不是一个硬实时操作系统。Windows CE 操作系统最大特点是能提供与PC类似的图形界面和主要的应用程序。只要是对PC上的Windows 操作系统熟悉的用户,就可很快的使用基于Windows CE 操作系统的嵌入式设备。

2.4 流水线技术

计算机中一条指令的指向可分为若干个阶段,由于每个阶段的操作相对都是独立的。因此可以采用流水线的重叠技术来大大提高系统的性能。在流水线装满以后,几个指令可以并行执行。这样可充分利用现有硬件资源,提高了CPU的运行效率。

以ARM7为例,ARM处理器使用的简单3级流水线分别为:

?     取指级:取指级完成程序存储器中指令的读取,并放入指令流水线中。

?     译码级:对指令进行译码 ,为下一周期准备数据路径需要的控制信号。这一级指令“占有”译码逻辑,而不“占有”数据路径。

?     执行级:指令“占有”数据路径,寄存器被读取,操作数在桶式移位器中被移位,ALU产生相应的运算结果并回写到目的寄存器中,ALU的结果则根据指令需求来更改状态寄存器的条件位。

ARM9 架构采用了5级流水线:

Ø  增加了I-Cache和D-Cache,把存储器的取指与数据存取分开;

Ø  增加了数据写回的专门通路和寄存器;

Ø  把指令的执行过程分割为5阶段:

       取指令;

      指令译码、寄存器读、分支目标计算及执行;

      移位和ALU操作;

      数据Cache访问;

      结果写回到寄存器。

?     取指:指令从存储器中取出,放入指令流水线。

?     译码:指令译码,从寄存器中读取寄存器操作数。在寄存器组中有3个操作数读端口,因此大多数ARM指令能在一个周期内读取其操作数。

?     执行:把一个操作数移位,产生ALU的结果。如果指令是Load或Store,在ALU中计算存储器的地址。

?     缓冲/数据:如果需要,则访问数据存储器。否则,ALU的结果只是简单地缓冲一个时钟周期,以便使所有指令具有同样的流水线流程。

?     回写:将指令产生的结果回写到寄存器,包括任何从存储器读取的数据。

ARM7微处理器系列主要特点

?     ARM7微处理器系列为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。其具有如下特点:

?     具有嵌入式ICE-RT逻辑,调试方便。

?     极低的功耗(100mW左右),适合对功耗要求较高的应用,如便携式产品。

?     能够提供0.9MIPS/MHZ的三级流水线结构。

兼容16位Thumb指令集;对操作系统的支持广泛,包括Win CE、Linux等;指令系统与ARM9、ARM10E系列兼容,便于用户的产品升级换代;主频通常为20~100MHZ。速度为0.9MIPS/MHz 。

ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器内核。主要性能:工艺0.35um(新近0.25um)、电压3.3V(新近1.2v)、时钟0~66MHZ、功耗87mW。

ARM9微处理器系列主要特点

?     ARM9E系列微处理器为综合型处理器,使用单一的处理器内核提供了微处理器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度。具有以下特点:

?     支持DSP指令集,适合于需要高速数字信号处理的场合;

?     5级整数流水线;最高主频可达300MIPS;

?     支持32位ARM指令集和16位Thumb指令集;

?     支持32位的高速AMBA总线接口;

?     支持VFP9浮点处理协处理器

?     全性能的MMU,支持包括Win CE、Linux等操作系统,MPU支持实时操作系统。

?     支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

?     ARM9E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。

ARM10E微处理器系列主要特点

?     ARM10E系列微处理器由于采用了新的体系结构,与同等的ARM9处理器相比较,在同样的时钟频率下,性能提高了近50%,同时又大大减少了芯片的功耗,在相同的工艺下其性能是ARM9的2倍。具有以下特点:

?     支持DSP指令集,适合于需要高速数字信号处理的场合;

?     6级整数流水线;工作频率一般为400MHz左右``;

?     支持32位ARM指令集和16位Thumb指令集;

?     支持32位的高速AMBA总线接口;

?     支持VFP10浮点处理协处理器;

?     内嵌并行读/写操作部件;

?     全性能的MMU,支持包括Win CE、Linux等操作系统,MPU支持实时操作系统。支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

ARM10E系列主要用于下一代无线设备、成像设备、工业控制、存储设备、数字消费品和网用场合。

3 Linux系统部分

6.1 嵌入式linux操作系统的组成与版本最后几页

6.3 嵌入式linux内核的配置及编译最后几页

相关推荐