51Testing软件测试论坛
标题:
嵌入式系统定义和发展历史(转贴,已被写入很多本书序言)
[打印本页]
作者:
addvalue
时间:
2005-10-14 12:49
标题:
嵌入式系统定义和发展历史(转贴,已被写入很多本书序言)
嵌入式系统定义
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
3)可扩展的处理器结构,以能最迅速地开展出满足应的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
嵌入式系统发展历史
目前,在嵌入式系统应用领域中,不少人对什么是嵌入式系统不甚了解。有些人搞了十多年的单片机应用,不知道单片机就是一个最典型的嵌入式系统;也有些人在解释什么是嵌入式系统时,不是从定义出发,而是列举了嵌入式系统的一些特点,往往不知所云。因此,有必要从现代计算的发展历史,了解嵌入式系统的由来,从学科建设的角度来探讨嵌入式系统较为准确的定义。
1 现代计算机的技术发展史
(1)始于微型机时代的嵌入式应用
电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。
(2)现代计算机技术的两大分支
由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。
通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。 而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。
早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元……),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。
如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。
(3) 两大分支发展的里程碑事件
通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20世纪末、21世纪初,计算机技术的飞速发展。计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。
嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。
因此,现代计算机技术发展的两大分支的里程碑意义在于:它不仅形成了计算机发展的专业化分工,而且将发展计算机技术的任务扩展到传统的电子系统领域,使计算机成为进入人类社会全面智能化时代的有力工具。
2 嵌入式系统的定义与特点
如果我们了解了嵌入式(计算机)系统的由来与发展,对嵌入式系统就不会产生过多的误解,而能历史地、本质地、普遍适用地定义嵌入式系统。
(1) 嵌入式系统的定义
按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。
(2) 嵌入式系统的特点
嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。不同的嵌入式系统其特点会有所差异。
与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。
与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。
与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。
另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。嵌入式设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器仪表、工控单元、机器人、手机、PDA等。
(3)嵌入式系统的种类与发展
按照上述嵌入式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。
有些人把嵌入式处理器当作嵌入式系统,但由于嵌入式系统是一个嵌入式计算机系统,因此,只有将嵌入式处理器构成一个计算机系统,并作为嵌入式应用时,这样的计算机系统才可称作嵌入式系统。
嵌入式系统与对象系统密切相关,其主要技术发展方向是满足嵌入式应用要求,不断扩展对象系统要求的外围电路(如ADC、DAC、PWM、日历时钟、电源监测、程序运行监测电路等),形成满足对象系统要求的应用系统。因此,嵌入式系统作为一个专用计算机系统,要不断向计算机应用系统发展。因此,可以把定义中的专用计算机系统引伸成,满足对象系统要求的计算机应用系统。
3 嵌入式系统的独立发展道路
(1)单片机开创了嵌入式系统独立发展道路
嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。
(2)单片机的技术发展史
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
4 嵌入式系统的两种应用模式
嵌入式系统的嵌入式应用特点,决定了它的多学科交叉特点。作为计算机的内含,要求计算机领域人员介入其体系结构、软件技术、工程应用方面的研究。然而,了解对象系统的控制要求,实现系统控制模式必须具备对象领域的专业知识。因此,从嵌入式系统发展的历史过程,以及嵌入式应用的多样性中,可以了解到客观上形成的两种应用模式。
(1) 客观存在的两种应用模式
嵌入式计算机系统起源于微型机时代,但很快就进入到独立发展的单片机时代。在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业队伍并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯性的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;对象系统专业技术的密切相关性;缺少计算机工程设计方法。
虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人士介入嵌入式系统应用开辟了广阔天地。计算机专业人士的介入,形成的计算机应用模式带有明显的计算机的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用。
(2)两种应用模式的并存与互补
由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓对象专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销,以8位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。另外,计算机专业人士会愈来愈多地介入嵌入式系统应用,但囿于对象专业知识的隔阂,其应用领域会集中在网络、通信、多媒体、商务电子等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的领域中相互补充。电子系统设计模式应从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和对象系统的基本要求等。
(3) 嵌入式系统应用的高低端
由于嵌入式系统有过很长的一段单片机的独立发展道路,大多是基于8位单片机,实现最底层的嵌入式系统应用,带有明显的电子系统设计模式特点。大多数从事单片机应用开发人员,都是对象系统领域中的电子系统工程师,加之单片机的出现,立即脱离了计算机专业领域,以“智能化”器件身份进入电子系统领域,没有带入“嵌入式系统”概念。因此,不少从事单片机应用的人,不了解单片机与嵌入式系统的关系,在谈到“嵌入式系统”领域时,往往理解成计算机专业领域的,基于32位嵌入式处理器,从事网络、通信、多媒体等的应用。这样,“单片机”与“嵌入式系统”形成了嵌入式系统中常见的两个独立的名词。但由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的电子系统底层应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用,含义为它的底层性以及与对象系统的紧耦合。
作者:
晓仔
时间:
2006-1-8 14:30
呵呵!先看起来!不过可能永远也用不到!
谢谢版主的提供!
作者:
天生我才
时间:
2006-5-19 16:24
多谢谢楼主
作者:
sword_hj
时间:
2006-5-31 09:43
Thanks .保存起来了。
作者:
huoxingyinzi
时间:
2006-6-7 14:40
谢谢楼住,
我学电子的这才找到电子与计算机的交集呀
作者:
eyesonme
时间:
2006-9-18 19:31
有意向向这方面发展。
作者:
carry
时间:
2006-10-26 16:25
豁然开朗
作者:
GreatTree
时间:
2006-11-5 09:56
标题:
没这么复杂吧
好像没有这么复杂吧。
嵌入式系统就是针对某个特定应用而量身定制的,只能完成该功能(组)的运算和交互单元。
至于它的技术特点,根据不同的应用有不同的要求和实现。
作者:
豆豆冤
时间:
2007-3-16 17:19
谢谢楼主,当好好学习
作者:
liulinzhu
时间:
2007-6-18 12:53
一直在从事嵌入式开发,突然发现自己连嵌入式都不知道
sdlkfj7
作者:
junesnow
时间:
2007-6-28 23:50
有用
作者:
db300
时间:
2007-7-13 21:51
先存下来吧,既然能当序言用,那也应该可以放到我的课题报告里,呵呵
作者:
changlang530
时间:
2007-7-27 09:24
可惜看到得太晚
作者:
wangyingtest
时间:
2007-8-2 15:19
thinks
作者:
lzcacx
时间:
2007-8-10 21:55
明白什么是嵌入式了
作者:
antsbee
时间:
2007-8-15 23:33
有收获 谢谢
作者:
ctlzw1714
时间:
2007-8-16 09:09
现在开始做嵌入式测试了
要好好学习这方面的知识
作者:
ericazou
时间:
2007-8-23 14:17
有收获
作者:
qingdou
时间:
2007-11-19 21:22
真的很长,虽然知道写的很好,还是看得很晕……
作者:
追逐日光
时间:
2007-12-6 23:07
有个系统的了解也不错的呀
作者:
capricorn
时间:
2008-1-14 21:02
正想了解更多关于嵌入式系统的知识,非常感谢,学习了
作者:
earthyoungman
时间:
2008-4-3 10:31
了解一下,谢谢
作者:
bzfyhfyh
时间:
2008-5-27 14:03
看了,学习学习!
作者:
woynzd
时间:
2008-6-26 18:43
终于明白个大概了,谢谢分享
作者:
jxjayun156
时间:
2008-12-26 20:12
什么情况?
作者:
yingy
时间:
2009-1-6 15:51
作者:
dayeyes
时间:
2009-2-26 14:13
很经典!!
作者:
CharlesWang
时间:
2009-3-26 21:35
学习啊学习!
谢谢楼主!
作者:
CharlesWang
时间:
2009-4-15 17:35
好好学习,把概念弄清楚了心里踏实好多呢!
作者:
nihm1985
时间:
2009-7-25 13:49
懂了一点点
作者:
daipengfei
时间:
2009-9-3 16:18
标题:
回复 1# 的帖子
have a look !thank you !
作者:
daipengfei
时间:
2009-9-3 16:18
作者:
seEeker
时间:
2009-9-19 00:45
多谢! 先收藏了
作者:
pengxing12121
时间:
2009-11-14 13:48
学习中..........
作者:
yangpanpanypp
时间:
2010-2-20 11:02
先看看,谢谢版主啦!!!
作者:
yangpanpanypp
时间:
2010-2-20 11:06
谢谢啦!!
作者:
shengxiaohui
时间:
2010-4-12 18:13
了解了,
作者:
yezhaohui520
时间:
2010-7-4 17:36
看完有种豁然开朗的感觉,我是学习应用电子的,以前对单片机也颇有些兴趣,自己也做过一些小玩意,但一直以为那是电子应用方面的,今天才知道原来单片机是嵌入式系统的一个典型的低端应用,嵌入式系统呢,是计算机系统发展的一个分支,呵呵!终于找到电子与计算机的一个公共地带了。来学习软件测试时还以为以前的学的电子知识(虽然学得不怎么样)不可能再用的上了,我现在还在软件测试的学习阶段,真希望以后能在嵌入式软件测试方向发展,不知道是否有那样的机会.期待!加油!努力!
作者:
Ronniezeng
时间:
2010-7-20 14:35
谢谢楼主的辛苦分享
作者:
Raynard
时间:
2011-1-7 10:29
回复
38#
yezhaohui520
这么巧,我也是学电子的,现在刚开始做测试,想看看能往嵌入式测试方面转,毕竟学了4年了~
作者:
diymhml
时间:
2011-2-24 16:21
学习了!我是新手,现在在千锋嵌入式学院
http://www.embedtrain.org
培训,以后还要向楼主请教哦!
作者:
ksxiaogao
时间:
2011-3-25 13:28
嵌入式系統學習中。。。
作者:
ksxiaogao
时间:
2011-3-25 13:29
嵌入式系統學習中。。。
作者:
a1569832
时间:
2011-4-9 15:28
学习了~~
作者:
a248322143
时间:
2011-5-31 13:50
作者:
343769008
时间:
2011-7-4 16:36
很好啊
作者:
gaoheihei
时间:
2011-9-8 17:40
想了解接触,学习下
作者:
bokewangyu
时间:
2011-9-29 11:17
嵌入式?
作者:
mengxia
时间:
2011-10-9 11:11
谢谢分享
作者:
南京?!...
时间:
2011-11-29 23:56
额..目前就是从事的嵌入式测试,感觉找不到方法,新来的,觉得就是执行别人写的用例,没有技术含量。。。
作者:
南京?!...
时间:
2011-11-29 23:58
额..目前就是从事的嵌入式测试,感觉找不到方法,新来的,觉得就是执行别人写的用例,没有技术含量。。。
作者:
愚人
时间:
2011-11-30 20:24
哪本书?
作者:
yin0804
时间:
2013-1-30 13:41
3Q
作者:
娜的生活
时间:
2013-6-4 10:18
楼主好用心。写了这么多,十分感谢。学习起来。
作者:
娜的生活
时间:
2013-6-6 14:19
写的很仔细,尽管很努力看,还是看的有点晕啊
作者:
smile_to_life
时间:
2014-3-14 08:48
谢谢楼主
作者:
kittyding
时间:
2017-1-19 14:54
作者:
1757927530
时间:
2017-2-7 16:53
非常感谢
作者:
RMBchun
时间:
2020-6-27 09:44
收藏学习
作者:
q846148084
时间:
2020-12-26 14:01
深刻,全面独道
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2