嵌入式系统介绍_第1页
嵌入式系统介绍_第2页
嵌入式系统介绍_第3页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统介绍一 什么是嵌入式系统嵌入式系统一般指非 PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为 中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用 计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系 统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的 “器件”。嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA移动计算设备、电视机顶盒、手机上网、数字电视、多媒

2、体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自 动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。嵌入式系统的硬件部分,包括处理器 / ,微处理器、存储器及外设器件和 I/O 端口、图形控制器 等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROMEEPRO或闪存(Flash Memory)作为存储介质。软件部分包括操作系统软件 (要求实时和多任 务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬 件的交互作用。二 嵌入式处理器嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器

3、一般具备 4个特点: (1)对实时和多任务 有很强的支持能力, 能完成多任务并且有较短的中断响应时间, 从而使内部的代码和实时操作系统的 执行时间减少到最低限度; (2) 具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已 模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也 有利于软件诊断; (3) 可扩展的处理器结构, 以能迅速地扩展出满足应用的高性能的嵌入式微处理器; (4) 嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供 电的嵌入式系统更是如此,功耗只能为mW甚至卩W级。据不完全统计, 目前全世界嵌入式

4、处理器的品种总量已经超过1000种,流行的体系结构有 30 多个系列。其中 8051 体系占多半,生产这种单片机的半导体厂家有 20多个,共 350多种衍生产品,仅 Philips 就有近 100 种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的 处理器设计部门。嵌入式处理器的寻址空间一般从64kB到16MB处理速度为0.12000MIPS,常用封装 8144 个引脚。根据现状,嵌入式计算机可分成下面几类。(1) 嵌入式微处理器 (Embedded Microprocessor Unit, EMPU)嵌入式微处理器采用“增强型”通用微处理器。 由于嵌入式系统通常应用于环境

5、比较恶劣的环境 中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。 但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实际嵌入式应用要求,将 嵌入式微处理器装配在专门设计的主板上, 只保留和嵌入式应用有关的主板功能, 这样可以大幅度减 小系统的体积和功耗。和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成 本低、可靠性高的优点,但在其电路板上必须包括ROM RAM总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。由嵌入式微处理器及其存储器、总线、外设等安装在一块电 路主板上构成一个通常所说的单板机系统。

6、嵌入式处理器目前主要有 Am186/88、 386EX、 SC-400、 Power PC 68000、MIPS ARM系列等。(2) 嵌入式微控制器 (Microcontroller Unit, MCU)嵌入式微控制器又称单片机, 它将整个计算机系统集成到一块芯片中。 嵌入式微控制器一般以某 种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM/EPROMRAM总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输岀、 A/D、D/A、Flash RAM EEPROI等各种必 要功能部件和外设。 为适应不同的应用需求, 对功能的设置和外设的配置进行必要的修改和裁减定制,

7、 使得一个系列的单片机具有多种衍生产品, 每种衍生产品的处理器内核都相同, 不同的是存储器和外 设的配置及功能的设置。 这样可以使单片机最大限度地和应用需求相匹配, 从而减少整个系统的功耗 和成本。和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本 大幅度下降、 可靠性提高。 由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器 中最多的, 而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。 微控制器的片上外设资源一 般比较丰富,适合于控制,因此称为微控制器。通常,嵌入式微处理器可分为通用和半通用两类,比 较有代表性的通用系列包括 8051、P51

8、XA MCS-251 MCS-96/196/296、C166/167、68300等。而比较 有代表性的半通用系列,如支持 USB接口的MCUBXC930/931、C540 C541;支持I2C、CAN总线、LCD 等的众多专用MCU和兼容系列。目前MCU勺占嵌入式系统市场份额的 70%(3) 嵌入式 DSP处理器(Embedded Digital Signal Processor, EDSP)在数字信号处理应用中,各种数字信号处理算法相当复杂,这些算法的复杂度可能是O( nm)的,甚至是NP的,一般结构的处理器无法实时的完成这些运算。由于DSP处理器对系统结构和指令进行了特殊设计,使其适合于实

9、时地进行数字信号处理。在数字滤波、FFT、谱分析等方面,DSP算法正大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两类:(1)DSP处理器经过单片化、EMC改造、增加片上外设成为嵌入式 DSP处理器,TI的TMS320C2000/C500等属于此范畴;(2)在通用单片机或 SOC中增加DSP协处理器, 例如In tel的MCS-296和Infin eo n(Sieme ns) 的TriCore。另外,在有关智能方面的应用中,也需要 嵌入式DPS处理器,例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法

10、的键 盘,ADSL接入、实时语音压解系统,虚拟现实显示等。这类智能化算法一般都是运算量较大,特别 是向量运算、指针线性寻址等较多,而这些正是DSP处理器的优势所在。嵌入式 DSP处理器比较有代表性的产品是TI的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的 C2000系列、移动通信的C5000系列,以及性能更高的 C6000和C8000系列。DSP56000目前已经发展 成为DSP56000 DSP56100 DSP5620C和DSP56300等几个不同系列的处理器。另外, Philips 公司最 近也推岀了基于可重置嵌入式 DSP结构,采用低成

11、本、低功耗技术制造的R. E. A. L DSP 处理器,其特点是具备双 Harvard 结构和双乘 /累加单元,应用目标是大批量消费类产品。(4) 嵌入式片上系统 (System On Chip, SOC)随着 EDI 的推广和 VLSI 设计的普及化,以及半导体工艺的迅速发展,可以在一块硅片上实现一 个更为复杂的系统,这就产生了 SOC技术。各种通用处理器内核将作为SO®计公司的标准库,和其他许多嵌入式系统外设一样,成为 VLSI 设计中一种标准的器件,用标准的 VHDL、Verlog 等硬件语言 描述,存储在器件库中。用户只需定义岀其整个应用系统,仿真通过后就可以将设计图交给半

12、导体工 厂制作样品。 这样除某些无法集成的器件以外, 整个嵌入式系统大部分均可集成到一块或几块芯片中 去,应用系统电路板将变得很简单,对于减小整个应用系统体积和功耗、提高可靠性非常有利。SOC可分为通用和专用两类,通用 SOC如Infineon(Siemens)的TriCore、Motorola的M-Core,以及某些 ARM系列器件,女口 Echelon和Motorola联合研制的Neuron芯片等;专用SOQ-般专用于某个或某类 系统中,如Philips 的Smart XA,它将XA单片机内核和支持超过 2048位复杂RSA算法的CCU单元 制作在一块硅片上,形成一个可加载Java或C语言

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

14、的特 点。1. 嵌入式操作系统的种类一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks ISI的pSOS QNX系统软件公司的 QNX ATI的Nucleus等;另一类是面 向消费电子产品的非实时操作系统,这类产品包括个人数字助理 (PDA)、移动电话、机顶盒、电子书、 WebPhone等。a. 非实时操作系统早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。 在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事 件,其结构一般为无限循环;后台程序则掌管

15、整个嵌入式系统软、硬件资源的分配、管理以及任务的 调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级 程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通 过一定的调度算法来完成相应的操作。 对于实时性要求特别严格的操作通常由中断来完成, 仅在中断 服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成 事件的处理,这样就不会造成在中断服务程序中处 理费时的事件而影响后续和其他中断。实际上, 前后台系统的实时性比预计的要差。 这是因为前后台系统认为所有的任务具有相同的优 先级别,即是平等

16、的,而且任务的执行又是通过 FIFO 队列排队,因而对那些实时性要求高的任务不 可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任 务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系 统结构简单,几乎不需要 RAM/ROI的额外开销,因而在简单的嵌入式应用被广泛使用。b. 实时操作系统实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度, 而且与这些操作进行的时间有关。 “在确定的时间内”是 该定义的核心。也就是说,实时系统是对响应时间有严格要求的。实

17、时系统对逻辑和时序的要求非常严格, 如果逻辑和时序出现偏差将会引起严重后果。 实时系统 有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任 务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内 完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时多任务操作系统是指具有实时性、 能支持实时控制系统工作的操作系统。 其首要任务是调度 一切可利用的资源完成实时控制任务, 其次才着眼于提高计算机系统的使用效率, 重要特点是要满足 对时间

18、的限制和要求。实时操作系统具有如下功能:任务管理 ( 多任务和基于优先级的任务调度 ) 、任 务间同步和通信(信号量和邮箱等)、存储器优化管理(含ROM勺管理)、实时时钟服务、中断管理服务。 实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很 快。实时操作系统可分为可抢占型和不可抢占型两类。 对于基于优先级勺系统而言, 可抢占型实时操 作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了 CPU让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行 后,就把CPU的控制权完全交给了该任务,直到它主

19、动将 CPU空制权还回来。中断由中断服务程序来 处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要 等到当前运行的任务主动交岀 CPU的控制权。使用这种实时操作系统的实时性比不使用实时操作系统 的系统性能好, 其实时性取决于最长任务的执行时间。 不可抢占型实时操作系统的缺点也恰恰是这一 点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。可抢占型实时操作系统的实时性好, 优先级高的任务只要具备了运行的条件, 或者说进入了就绪 态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它 优先级高的任务中断,让后者运行。通

20、过这种方式的任务调度保证了系统的实时性,但是,如果任务 之间抢占CPU空制权处理不好,会产生系统崩溃、死机等严重后果。2. 嵌入式操作系统的发展嵌入式操作系统伴随着嵌入式系统的发展经历了 4 个比较明显的阶段。第一阶段是无操作系统的嵌入算法阶段, 是以单芯片为核心的可编程控制器形式的系统, 同时具 有与监测、 伺服、指示设备相配合的功能。 这种系统大部分应用于一些专业性极强的工业控制系统中, 一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段 系统的主要特点是: 系统结构和功能都相对单一, 处理效率较低, 存储容量较小, 几乎没有用户接口。 由于这种嵌入式

21、系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适 应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特 点是:CPU种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控 应用程序运行。第三阶段是通用的嵌入式实时操作系统阶段, 是以嵌入式操作系统为核心的嵌入式系统。 这一阶 段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操

22、作系统内 核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络 支持、图形窗口以及用户界面等功能;具有大量的应用程序接口 (API) ,开发应用程序简单;嵌入式 应用软件丰富。第四阶段是以基于 Internet 为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数 嵌入式系统还孤立于 Internet 之外,但随着 Internet 的发展以及 Internet 技术与信息家电、工业 控制技术等结合日益密切,嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。3. 使用实时操作系统的必要性嵌入式实时操作系统在目前的嵌入式应用中用得越来越

23、广泛, 尤其在功能复杂、 系统庞大的应用 中显得愈来愈重要。首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系 统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而 且也应在软件设计方面提高系统的抗干扰性, 尽可能地减少安全漏洞和不可靠的隐患。 长期以来的前 后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系 统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过 系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,

24、遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用 程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、 修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。再次,嵌入式实时操作系统充分发挥了 32位CPU的多任务潜力。32位CPU比8 16位CPU快, 另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32位CPU采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如,CPU运行状态分为系统态和用户态。

25、将系统堆栈和用户堆栈分开,以及实时地给岀CPU的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥 32位CPU的优势。从某种意义上说,没有操作系统的计算机 (裸机)是没有用的。在嵌入式应用中,只有把 CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。4. 实时操作系统的优缺点在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。 通过将应用程序分割成若干独立的任务模块, 使应用程序的设计过程大为简化; 而且对实时性要求苛刻的事件都得到了快速、可靠的处理。

26、通过有效的系统服务,嵌入式实时操作系 统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RA开销,25%勺CPU额外负荷,以及内核的费用。嵌入式英语词汇ASIC (专用集成电路)Application-Specific Integrated Circuit. A piece of custom-designed hardware in a chip. 专用集成电路。一个在一个芯片上定制设计的硬件。address bus (地址总线)A set of electrical lines connected to the processor and all of the

27、peripherals withwhich itcommunicates. The address bus is used by the processor to select aspecific memorylocation or register within a particular peripheral. If the address bus contains n electrical lines, the processor can uni quely address up to 2切 such locati ons.一个连接处理器与所有外设的, 用来通讯的电子线路集。 地址总线被处

28、理器用来选择在特定外设 中的存储器地址或寄存器。如果地址总线有n条电子线路,处理器能唯一寻址高达2切的地址空间。BSP (板卡支持包)See board support package.board support package (板卡支持包)Part of a software package that is processor or platform-dependent. Typically,samplesource code for the board support package is provided by the package developer. The sample cod

29、e must be modified as necessary, compiled, and linked with the remainder of the software package.软件包的具有平台依赖性的那一部分。典型地,板卡支持包的样例源程序由包开发者提供。样例 源程序必须能在需要时被修改、编译并与软件包的剩下的部分连接起来。cross-compiler (交叉编译器)A compiler that runs on a different platform than the one for which it produces object code. A cross-compi

30、ler runs on a host computer and produces object code for the target.一个运行在不同的平台上的编译器, 其中之一能产生目标代码。 交叉编译器在主机上运行并且产 生目标机的目标代码。DMA(直接内存访问)Direct Memory Access. A technique for transferring data directly between two peripherals (usually memory and an I/O device) with only minimal interventi on by the pro

31、cessor. DMA transfers are managed by a third peripheral called a DMA controller.直接内存访问。一种直接在两个外设(通常是内存和 I/O 设备)之间进行数据传输的技术,它只 要处理器最少的介入。DMA专输由叫DMA空制器的第三方外设进行管理。DRA(动态随机访问存储器)Dynamic Random-Access Memory. A type of RAM that maintains its contents only as long as the data stored in the device is refre

32、shed at regular intervals.The refresh cycles are usually performed by a peripheral called a DRAM controller.动态随机访问存储器。一种 RAM存储在其设备中的数据被定期刷新时才能保存它的内容。刷新 周期一般由一个叫DRAM空制器的外设完成。EEPRO M电可擦的,可编程的只读存储器)Electrically Erasable, Programmable Read-Only Memory. (Pronounced"Double-E"-PROM.) A type of RO

33、M that can be erased electronically.电可擦的,可编程的只读存储器。一种ROM能被电擦除。EPROM可擦的,可编程的只读存储器)Erasable, Programmable Read-Only Memory. A type of ROM that can be erased by exposing it to ultraviolet light.Once erased, an EPROMcan be reprogrammed with the help of a deviceprogrammer.一种可用紫外线擦除的存储器。一次擦除后,EPROI可以在设备编程

34、器的帮助下被重编程。embedded system (嵌入式系统)A combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function. In some cases, embedded systems are part of a larger system or product, as is the case of an anti-lock braking system in a car

35、. Contrast with general-purpose computer.计算机硬件和软件的结合体,或许还加上机械等其他部分,被设计来完成专门的功能。在一些情 况下,嵌入式系统是一个大的系统或产品的一部分,就象汽车上的防抱死装置。与通用计算机相对。Emulator( 仿真器 )Short for In-Circuit Emulator (ICE). A debugging tool that takes the placeof-emulates-the processor on your target board. Emulators frequently incorporate a

36、special "bond-out" version of the target processor that allows you to observe and record its internal state as your program is executing. 在线仿真器的简写。一个在你的目标板上放置仿真的处理器的调试 工具。仿真器经常和一目标处理器的一种“外合”版本合在一起, 这个版本的的处理器充许你运行程 序时观察和记录它的内部状态。Executable (可执行的)A file containing object code that is ready f

37、or execution on the target. All that remains is to place the object code into a ROM or download it via a debugging tool.一个包含准备在目标机上运行的目标代码的文件。放置目标代码到ROM中或通过调试工具下载。Firmware (固件)Embeddedsoftware that is stored as object code within a ROM .This name is most commonamong the users of digital signal proce

38、ssors.是作为目标代码存贮在ROM中的嵌入式软件。这个名字在数字信号处理器的用户中相当流行。flash memory (闪存)A RAM-ROM hybrid that can be erased and rewritten under software control. Such devices are divided into blocks, called sectors, that are individually-erasable. Flash memoryis common in systems that require nonvolatile data storage at v

39、ery low cost. In some cases, a large fash memory may even be used instead of a disk-drive.一种RAM-RO的混血儿,它能在软件的控制下被擦除和重写。一些设备被分成叫段组的块,能个 别地可擦。 闪存用在需要很便宜的非易失数据存贮器的地方, 一个大容量的闪存甚至被用作磁盘驱动 器。intertask communication (进程间通讯)A mechanism used by tasks and interrupt service routines to share information and syn

40、chronize their access to shared resources. The most commonbuilding blocks of intertask communication are semaphores and mutexes.一种被用来在任务和中断服务程序之间共享信息和同步它们对共享资源访问的机制。大部分进程间通讯的建立的基石是信号灯和互斥。Kernel (内核)An essential part of any multitasking operating system, the kernel contains just the scheduler and con

41、text-switch routine.任何多任务操作系统的本质部分,内核仅仅包含调度程序和上下文切换进程Linker (连接程序)A software development tool that accepts one or more object files as input and outputs a relocatable program. The linker is thus run after all of the source files have been compiled or assembled.一种能把一个或更多目标文件组合成可输入和输出的可重定位程序的开发工具。 连接程

42、序在所有 的源文件都被编译或汇编之后运行。Locator (定位程序)A software development tool that assigns physical addresses to the relocatable program produced by the linker. This is the last step in the preparation of software for execution by an embedded system and the resulting file is called an executable. In some cases, th

43、e locator"s function may be hidden with in the linker.一种分配物理地址给连接程序处理过的可重定位程序的软件开发工具。 这是准备一个软件在嵌入 式系统中运行的最后一步,并且结果文件叫做可执行的。在一些情况下,定位程序功能隐藏在连接程 序中。logic analyzer (逻辑分析仪)A hardware debugging tool that can be used to capture the logic levels (0 or 1) of dozens, or even hundreds, of electrical sign

44、als in real-time. Logic analyzers can be quite helpful for debugging hardware problems and complex processor-peripheral interactions.一种硬件调试工具,能捕获实时电信号的许多逻辑电平(0 或 1),逻辑分析仪在调试硬件问题和复杂的处理外设交互时相当有用。Oscilloscope (示波器)A hardware debugging tool that allows you to view the voltage on one or more electrical l

45、ines. For example, you might use an oscilloscope to determine if a particular interrupt is currently asserted.一种硬件调试工具, 它让你能观察到一个或更多电路上的电压。 例如:如果一个特殊的中断发生, 你可以用一个示波器去检测它。PROIM可编程只读存储器)Programmable Read-Only Memory. A type of ROMthat can be written (programmed) with a device programmer. These memoryd

46、evices can be programmed only once, so they are sometimes referred to as write-once or one-time programmable devices.可编程只读存储器。能被设备编程器写的一种ROM这种内存设备可以被编程一次,所以它们有时被作为写一次或一次性编程设备来看待。parallel processing (并行进程)The ability to apply two or more processors to a single computation.一种在单个计算机上运行两个或多个程序的能力。proces

47、sor-independent (处理器无关)A piece of software that is independent of the processor on which it will berun. Most programs that can be written in a high-level language are processor-independent. Contrast with processor-specific.一个与处理器无关的,并能在其上运行的软件。大多数用高级语言编写程序是处理器无关的。相 对于处理器定制。processor-specific (处理器定制)

48、A piece of software that is highly dependent on theprocessor on which it will be run. Suchcode must usually be written in assembly language. Contrast with processor-independent.一个高度依赖处理器的软件,在上其才能运行。一些代码必须用汇编语言编写。相对于处理器无 关。嵌入式人才的发展方向 ( 一 ) 嵌入式系统无疑是当前最热门最有发展前途的 IT 应用领域之一。嵌入式系统用在一些特定专用设备 上,通常这些设备的硬件资源(

49、如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响 应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电 子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。 一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬 件关系最密切的最

50、底层软件,如 BootLoader 、 Board SupportPackage(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们 的优势是对硬件原理非常清楚, 不足是他们更擅长定义各种硬件接口, 但对复杂软件系统往往力不从 心(例如嵌入式操作系统原理和复杂应用软件等)。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软 件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP 和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式 系统的最主要工作 (目

51、前有很多公司将硬件设计包给了专门的硬件公司, 稍复杂的硬件都交给台湾或 国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道, 嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完 全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且 这是目前的趋势。从事嵌入式软件开发的好处是:(1) 目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例 如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间 效率要求较高),而且必须懂

52、得硬件的工作原理,所以非专业 IT 人员很难切入这一领域;另一方面, 是因为这一领域较新,目前发展太快,很多软硬件技术岀现时间不长或正在岀现(如ARM±理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺, 身价自然就高,越有经验价格就越高。其实嵌入式人才稀少 , 根本原因可能是大多数人无条件接触 , 这需要相应的嵌入式开发板和软件 , 另外需要有经验的人进行指导开发流程。( 2 ) 与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。搞企业应用软 件的 IT 企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每

53、个用户的需求和完成时间都 得按客户要求改变,往往疲于奔命,重复劳动。相比而言,搞嵌入式系统的公司,都有自己的产品计 划,按自己的节奏行事。所开发的产品通常是通用的,不会因客户的不同而修改。一个产品型号开发 完了,往往有较长一段空闲时间(或只是对软件进行一些小修补),有时间进行充电和休整。另外, 从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围就是那些(ARM、 RTOS、 MPEG、802.11 等),时间长了这些东西会越搞越有经验,卖卖老本,几句指导也够让那些初入道者琢磨半 年的。若搞应用软件,可能下一个客户要换成一个完全不同的软件开发平台,那就苦了。( 3 ) 哪天若想创业,搞

54、自已的产品,那么嵌入式是一个不错的主意,这可不像应用软件那样容易被盗版。 土木学院有一个叫启明星的公司开发岀一个好象叫“工程e”的掌上PDA(南校区门口有广告),施工技术人员用该PDA可当场进行土木概预算和其它土木计算,据说销路特好。我认识的某大学老师, 他开发的饭馆用的点菜 PDA( Win CE平台,可无线连网和上网),据他说销路不错,饭馆点点PDA让客户点菜,多显派头档次。我记得 00级2+2班当年有一组同学在学 Windows程序设计课程时用VC+ 设计了一个功能很强的点菜系统做为课程项目,当时真想建议他们将这个软件做成PDA估计会有些销路(上海火车站南广场的 Macdonald便使用

55、很漂亮的PDA给用户点食品,像摸像样的)。这些 PDA 的硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM,都是通用的硬件,我们只管设计软件就变成自己的产品了。从事嵌入式软件开发的缺点是:(1) 入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不 深,则可能不适于此行。(2) 这方面的企业数量要远少于企业计算类企业。 特别是从事嵌入式的小企业数量较多 (小企业要搞自己 的产品创业) ,知名大公司较少 (搞嵌入式的大公司主要有 Intel 、 Motorola 、 TI 、 Philip 、 Samsung、 Sony、 Futjtum 、 Bell-

56、Alcatel 、意法半导体、 Microtek 、研华、华为、中兴通信、上广电等制造类 企业)。这些企业的习惯思维方式是到电子、通信等偏硬专业找人。由于我院以前毕业生以企业计算 为主,所以我院与这些企业联系相对较少。我院正积极努力,目前已与其中部分公司建立了联系,争 取今后能有我院同学到这些企业中实习或就业。(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此 要求,只要有经验即可。我院同学若学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面,应是我们的强项。对于搞嵌入式软件的人,最重要募际跸匀皇牵云导噬虾芏喙镜恼衅腹愀嫔暇褪钦庋吹模 ?BR&g

57、t;(1)掌握主流嵌入式微处理器的结构与原理(2)必须掌握一个嵌入式操作系统(3)必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。嵌入式软件方面最重要的课程包括:(1)嵌入式微处理器结构与应用:这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理 与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲X86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM±理器工作原理和接口技术有充分了解,包括ARM勺汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写岀节省内存又运行高速的最优代码(嵌入式

58、软件设计特别讲究时空效率),怎么能 写岀驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书(xxxSpecification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等 我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用 C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言, 学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写岀最优的 C语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP。 特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手 册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论