嵌入式软件工程师考试大纲(中级)(2)

2020-03-27 14:06

(点击查看大图)图1-15硬件/软件协同设计的设计流 基于平台的设计是片上系统通常采用的方法。平台允许若干用户将相同的基本平台定制成不同的产品。平台对于基于标准的市场尤其有用,在这种市场中,产品必须支持一些基本功能,而其他功能必须进行定制。

如图1-16所示,基于平台的设计是一个两阶段过程。首先,平台的设计必须建立在系统总体需求(例如,某种标准)和平台应如何定制之上。平台一旦设计完,就可用于设计产品。产品利用平台的功能并添加自己的功能。

图1-16基于平台的设计

平台设计需要几个设计阶段:

应用特征分析将系统需求和软件模型变为基于平台硬件体系结构的更明确的需求。 设计空间搜索评估硬件选项。

体系结构模拟帮助评估和优化体系结构的细节。

必须为平台开发基础软件(硬件抽象层、操作系统端口、通讯、应用库、调试)。 平台的使用比较复杂,因为平台需要用户编程环境。程序员已经习惯了标准平台上丰富的开发环境。那些环境以图形用户界面的方式提供了很多工具—编译器、编辑器、调试器、模拟器。然而丰富的编程环境通常只支持单处理器。多处理器编程更困难,而异构多处理器相比同构多处理器更复杂。平台开发人员必须提供工具使得软件开发人员能够使用平台。有此工具来自CPU组件,其他工具必须从头开发。由于调试访问是依赖于硬件的,因而它尤为重要和困难。进程间通讯也很复杂,但它是应用开发人员的重要工具。

(二)嵌入式系统的硬件构成

了解嵌入式系统的组成结构、嵌入式处理器、存储器、输入输出设备、电源转换与管理、接口技术、扩展装置以及总线结构。熟悉嵌入式微控制器、嵌入式DSP处理器、嵌入式微处理器、嵌入式片上系统的特点和应用场合。

重点和难点:

嵌入式系统的组成结构、嵌入式处理器概念及分类。

嵌入式系统的组成

嵌入式系统由硬件和软件组成,两类不同的嵌入式系统结构模型见图1.1。硬件是整个嵌入式操作系统和应用程序运行的平台,不同的应用通常有不同的硬件环境。嵌入式系统的硬件部分包括处理器/微处理器、存储器、I/O接口及输入输出设备。嵌入式系统的软件由嵌入式操作系统和应用程序组成。嵌入式操作系统完成嵌入式应用的任务调度和控制等核心功能,嵌入式应用程序运行于操作系统之上(对于一些简单的嵌入式应用系统,应用程序可以不需要操作系统的支持,直接运行在底层,见图1.1(a)),利用操作系统提供的机制完成特定功能的嵌入式应用。

由于嵌入式系统的灵活性和多样性,图1.1中各个层次之间缺乏统一的标准,几乎每一个独立的系统都不一样,这样就给上层的软件设计人员开发应用程序带来了极大的困难。

1.2.1 嵌入式系统的硬件组成

嵌入式系统的硬件组成见图1.2。 1. 嵌入式处理器

嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器的体系结构经历了从 CISC(复杂指令集)到RISC(精简指令集)和Compact RISC的转变,位数则由4位、8位、16位、32位逐步发展到64位。现在常用的嵌入式处理器可分为低端的嵌入式微控制器(microcontroller unit,MCU)、中高端的嵌入式微处理器(embedded microprocessor unit,EMPU)、嵌入式DSP处理器(embedded digital signal processor,EDSP)和高度集成的嵌入式片上系统(system on a chip,SoC)。目前几乎每个半导体制造商都生产嵌入式处理器,并且越来越多的公司开始拥有自主的处理器设计部门。……全文

1.2.2 嵌入式系统的软件组成

1. 嵌入式操作系统

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源,能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统的实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。……

嵌入式系统的软件组成

1. 嵌入式操作系统

嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源,能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来,能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统的实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

2. 嵌入式应用软件

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。 3.硬件抽象层HAL

硬件抽象层HAL(hardware abstraction layer)是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。也就是说,可通过程序来控制所有硬件电路,如CPU、I/O、存储器等的操作。这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。

4.板级支持包BSP

板级支持包BSP(board support package)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好地运行于硬件主板。

5.设备驱动程序

计算机系统中安装设备后,只有在安装相应的设备驱动程序之后才能使用,驱动程序为上层软件提供设备的操作接口。上层软件只需调用驱动程序提供的接口,而不用理会设备的具体内部操作。 6.操作系统的应用程序接口函数API

API(application programming interface)是一系列复杂的函数、消息和结构的集合体。嵌入式操作系统下的API和一般操作系统下的API在功能、含义及知识体系上完全一致。 嵌入式应用软件是实现嵌入式系统功能的关键,对嵌入式系统软件和应用软件的要求也和通用计算机有所不同,嵌入式软件主要有以下一些特点。

●软件要求固化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或嵌入式微处理器本身中,而不是存贮于磁盘等载体中。

●软件代码要求高质量、高可靠性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此,要求程序编写和编译工具的质量要高,以减小程序二进制代码长度、提高执行速度。

●系统软件(OS)的高实时性是基本要求。在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此,系统软件的高实时性是基本要求。 ●嵌入式系统软件需要实时多任务操作系统开发平台(RTOS)。为满足实时性应用需求、充分利用硬件资源、增强可靠性和便于开发,实时多任务操作系统成为嵌入式软件必须的系统软件。

●在嵌入式系统的软件开发过程中,采用C语言将是最佳的选择。

嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。

范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

嵌入式处理器

目前世界上具有嵌入式功能特点的处理器已经超过1000种,流行体系结构包括MCU,MPU等30多个系列。鉴于嵌入式系统广阔的发展前景,很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为了未来嵌入式领域的一大趋势,其中从单片机、DSP到FPGA有着各式各样的品种,速度越来越快,性能越来越强,价格也越来越低。目前嵌入式处理器的寻址空间可以从64kB到16MB,处理速度最快可以达到2000 MIPS,封装从8个引脚到144个引脚不等。 嵌入式微处理器与普通台式计算机的微处理器设计在基本原理上是相似的,但是工作稳定性更高,功耗较小,对环境(如温度、适度、电磁场、振动等)的适应能力强,体积更小,且集成的功能较多。在桌面计算机领域,对处理器进行比较时的主要指标就是计算速度,从33MHz主频的386计算机到现在3GHz主频的Pentium 4处理器,速度的提升是用户最主要关心的变化,但在嵌入式领域,情况则完全不同。嵌入式处理器的选择必须根据设计的需求,在性能、功耗、功能、尺寸和封装形式、SoC程度、成本、商业考虑等等诸多因素之中进行折中,择优选择。

编辑本段分类

根据其现状,嵌入式处理器可以分成下面几类:

嵌入式微处理器


嵌入式软件工程师考试大纲(中级)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:散装锅炉安装施工方案 - secret.111

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: