版权归原作者所有,如有侵权,请联系我们

[科普中国]-嵌入式软件

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。1

系统定义嵌入式系统是指用于执行独立功能的专用计算机系统。它由包括微处理器、定时器、微控制器、存储器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件组成,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。2嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。3

最简单的嵌入式系统仅有执行单一功能的控制能力,比如说单片机的应用,在唯一的ROM 中仅有实现单一功能控制程序,无微型操作系统。复杂的嵌入式系统,例如个人数字助理(PDA)、手持电脑(HPC)等,具有与PC几乎一样的功能。实质上与PC的区别仅仅是将微型操作系统与应用软件嵌入在ROM、RAM 和/或FLASH存储器中,而不是存贮于磁盘等载体中。很多复杂的嵌入式系统又是由若干个小型嵌入式系统组成的。4

背景近些年来,随着以计算机技术,通讯技术为主的信息技术的快速发展和Internet 的广泛应用,传统的控制学科正在发生变革,出现了许多新的生长点。伴随而来的一个现象是控制专业的相当多的学生在毕业后进入了计算机,通讯行业,以致有人说学控制没有用,自动化专业可以取消了。这些情况的出现使我们控制教育工作者反复思考,传统的控制应如何拓宽它的领域,以及控制专业应该教什么才使学生感到有用。5

发展历史第一阶段:早期的嵌入式系统设计方法,通常是采用“硬件优先”原则。即在只粗略估计软件任务需求的情况下,首先进行硬件设计与实现。然后,在此硬件平台之上,再进行软件设计。因而很难达到充分利用硬件软件资源,取得最佳性能的效果。同时,一旦在测试时发现问题,需要对设计进行修改时,整个设计流程将重新进行,对成本和设计周期的影响很大。这种传统的设计方法只能改善硬件/软件各自的性能,在有限的设计空间不可能对系统做出较好的性能综合优化,在很大程度上依赖于设计者的经验和反复实验。3

第二阶段:90年代以来随着电子系统功能的日益强大和微型化,系统设计所涉及的问题越来越多,难度也越来越大。同时硬件和软件也不再是截然分开的两个概念,而是紧密结合、相互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软硬件,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案。3

系统分类流行的嵌入式操作系统可以分为两类:4

一类是从运行在个人电脑上的操作系统向下移植到嵌入式系统中,形成的嵌入式操作系统,如微软公司的Windows CE及其新版本,SUN公司的Java操作系统,朗讯科技公司的Inferno,嵌入式Linux等。这类系统经过个人电脑或高性能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。4

另一类是实时操作系统,如WindRiver 公司的VxWorks,ISI 的pSOS,QNX系统软件公司的QNX,ATI 的Nucleus,中国科学院凯思集团的Hopen嵌入式操作系统等,这类产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性高可靠性等进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用在军用产品和工业控制等领域中。4

Linux 是90年代以来逐渐成熟的一个开放源代码的操作系统。 PC机上的Linux 版本在全球数以百万计爱好者的合力开发下,得到了非常迅速的发展。90 年代末uClinux,RTLinux 等相继推出,在嵌入式领域得到了广泛的关注,它拥有大批的程序员和现成的应用程序,是我们研究开发工作的宝贵资源。2

新曙光进入21世纪以来,我们在嵌入式系统及其应用的科研工作中采用了信息产业中的最新技术,打破了学科之间的界限,感到控制的出路原来很多,尽管处处是挑战。过去我们熟悉的“控制”有很大的局限性.:一是不考虑硬件的限制, 二是不考虑控制器的复杂性及计算能力, 三是不注重实用性和效益。在微处理器,微传感器和微型执行元件不断推出新产品的形势下,控制的思路与手段正经历着巨大的变化。在经过一番艰苦的实践摸索之后,我们对控制学科的研究和教学有了一些新的认识。本教材就是在我们这些年科研工作的基础上总结出来的,它还比较粗糙,还需要今后花大力气把它完善与提高。4

软硬件特征嵌入式系统的硬件必须根据具体的应用任务,以功耗,成本,体积, 可靠性,处理能力等为指标来选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑,可靠,大多对实时性有严格要求。3

学习意义从控制意义上说,嵌入式系统涉及系统最底层的,芯片级的信息处理与控制。在某种意义上,对这些“微观”世界的了解与驾驭正是控制的真正目的。嵌入式系统与通常意义上的控制系统在设计思路和总体架构方面有许多不同之处,而这些不同之处恰恰是传统控制学科教学中较少教给学生的。4在当今信息化社会中,嵌入式系统在人们的日常工作和生活中所占的份额,可能已超过传统意义的控制系统,这就是为什么我们的学生感到学的没有用,而有用的又没有学的原因。在嵌入式系统及开发环境方面,仍有许多问题尚在研究发展之中,如,嵌入式系统的硬件软件协同设计方法;面向多目标,多任务的微内核嵌入式操作系统;分布嵌入式系统的实时性问题,分布式计算,分布式信息交互与综合处理;以及嵌入式系统的多目标交叉编译和交叉调试工具的研究等。通过实验开发平台,学习嵌入式系统的一些基本理论和硬件软件综合设计的方法与技能,亲自动手,实现一个嵌入式系统的解决方案,为今后的深入研究打下一个初步基础。1

结语:“嵌入式系统”作为自动化学科一门理论与实际密切结合的,知识与技术含量较高的综合性专业课程,必将随着信息产业的发展而逐渐趋于成熟。4

产业讲解概述嵌入式软件与嵌入式系统是密不可分的,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,就是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。而嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。4

应用嵌入式软件广泛应用于国防、工控、家用、商用、办公、医疗等领域,如我们常见的移动电话、掌上电脑、数码相机、机顶盒、MP3等都是用嵌入式软件技术对传统产品进行智能化改造的结果。6

嵌入式软件在中国的定位应该集中在国防工业和工业控制、消费电子、通信产业。6

首先一个市场是数字电视市场。中国有8000万户有线电视网用户、1亿以上有线电话网用户、3亿多台彩色电视机、7000多万台VCD/DVD机,据估计,未来十年是机顶盒的黄金时期,十年间总量可达到1~1.5亿台,总产量将达到600~1500亿元人民币。6

第二个市场是移动通信市场。中国是全球第二大手机消费国,今年,中国手机的用户将达到7000万,据预计,明年,中国将成为全球第一大手机消费国;国内GSM手机定点厂家已达到14家,如果每个手机定点厂家的年产量达到100万台(盈利点),则总产量将达到1400万台。6

第三个市场是掌上电脑(PDA)。计算机正在向微型化和专业化方向发展,PDA在5年内总销量将达到3000万台,总产值达到300亿元。1

综合三个市场,当前的形势为:数字电视市场已开始启动;2.5G和3G手机的研发已开始,国内手机厂家的市场拓展已取得初步成功;PDA市场已初步形成规模。6

产业形成嵌入式软件产业的形成6

谈到嵌入式软件的形成,必须从计算机发展的三个阶段开始。第一阶段始于五十年代的由IBM、Burroughs、Honeywell等公司率先研制的大型机;第二阶段始于七十年代的个人计算机;第三阶段是目前被称为“无处不在的计算机”阶段。PC时代造就了单一平台——PC机,后PC时代将建立在千变万化的平台基础之上,千变万化的应用产生千变万化的计算机,从而要求千变万化的软件系统,因此,嵌入式软件应运而生。6

软件分类1.嵌入式操作系统:嵌入式操作系统EOS(EmbeddedOperating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度工作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。5嵌入式操作系统通常以商业运作为主,从上世纪80年代起,商业化的嵌入式操作系统开始得到蓬勃发展。现在国际上有名的嵌入式操作系统有Windows CE 、Palm OS 、Linux 、VxWorks 、pSOS、 QNX、OS-9 、LynxOS等,已进入我国市场的国外产品有WindRiver、Microsoft、QNX和Nuclear等。我国嵌入式操作系统的起步较晚,国内此类产品主要是基于自主版权的Linux操作系统,其中以中软Linux、红旗Linux、东方Linux为代表。6

2. 嵌入式支撑软件:支撑软件是用于帮助和支持软件开发的软件,通常包括数据库和开发工具,其中以数据库最为重要。嵌入式数据库技术已得到广泛的应用,随着移动通信技术的进步,人们对移动数据处理提出了更高的要求,嵌入式数据库技术已经得到了学术、工业、军事、民用部门等各方面的重视。5嵌入式移动数据库或简称为移动数据库(EMDBS)是支持移动计算或某种特定计算模式的数据库管理系统,数据库系统与操作系统、具体应用集成在一起,运行在各种智能型嵌入设备或移动设备上。其中,嵌入在移动设备上的数据库系统由于涉及数据库技术、分布式计算技术,以及移动通讯技术等多个学科领域,目前已经成为一个十分活跃的研究和应用领域。国际上主要的嵌入式移动数据库系统有Sybase、Oracle等。我国嵌入式移动数据库系统以东软集团研究开发出了嵌入式数据库系统OpenBASE Mini为代表。6

3. 嵌入式应用软件:嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。目前我国市场上已经出现了各式各样的嵌入式应用软件,包括浏览器、Email软件、文字处理软件、通讯软件、多媒体软件、个人信息处理软件、智能人机交互软件、各种行业应用软件等。嵌入式系统中的应用软件是最活跃的力量,每种应用软件均有特定的应用背景,尽管规模较少,但专业性较强,所以嵌入式应用软件不象操作系统和支撑软件那样受制于国外产品垄断,是我国嵌入式软件的优势领域。6

软件特点1. 嵌入式软件具有独特的实用性。嵌入式软件是为嵌入式系统服务的,这就要求它与外部硬件和设备联系紧密。嵌入式系统以应用为中心,嵌入式软件是应用系统,根据应用需求定向开发,面向产业、面向市场,需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值。1

2. 嵌入式软件应有灵活的适用性。嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活的运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。首先它要小巧,不能占用大量资源;其次要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便。3

软件发展趋势进入90年代以来,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展,各种装备与设备上嵌入式计算与系统的广泛应用大大地推动了行业的渗透性应用。嵌入式系统被描述为:“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样、而且应用特制的功能。由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。6

就嵌入式软件的未来发展,我们有如下观点:6

嵌入式软件产业发展迅猛,已成为软件体系的重要组成部分。嵌入式系统产品正不断渗透各个行业,嵌入式软件作为包含在这些硬件产品中的特殊软件形态,其产业增幅不断加大,而且在整个软件产业的比重日趋提高。2003年全球嵌入式软件市场规模达到346亿美元, 2003年中国市场规模达到188亿元,预计到2006年嵌入式软件市场规模将突破400亿元大关,2003-2006年均复合增长率将达到30%。6

新一轮汽车、通讯、信息电器、医疗、军事等行业的巨大的智能化装备需求拉动了嵌入式软件及系统的发展。同传统的通用计算机系统不同,嵌入式系统面向特定应用领域,根据应用需求定制开发,并随着智能化产品的普遍需求渗透到各行各业。随着硬件技术的不断革新,硬件平台的处理能力不断增强,硬件成本不断下降,嵌入式软件已成为产品的数字化改造、智能化增值的关键性、带动性技术。6

SOC技术是微电子技术发展的一个新的里程碑,并已成为当今超大规模IC的发展趋势,为IC产业提供前所未有的广阔市场和难得的发展机遇。迅猛发展的SOC工业再次地推进了嵌入式软件与硬件系统进一步融合嵌入,嵌入式软件是其灵魂与核心。SOC技术的出现,改变了传统嵌入式系统的设计观念,基于IP构件库的设计技术将成为嵌入式系统设计的主流;IP构件库技术正在造就一个新兴的软件行业。目前的因特网技术只联接了5%左右的计算装置,大量的嵌入式设备急需网络连接来提升其服务能力和应用价值。同时,以人为中心的普适计算技术正推动新一轮的信息技术的革命。5计算无所不在,嵌入式设备将以各种形态分布在人类的生存环境中,提供更加人性化、自然化的服务。互联网的"深度"联网和普适计算"纵向"普及所带来的计算挑战,将推动嵌入式软件技术向"纵深"发展,催生了新型嵌入式软件技术。6

近十年来,嵌入式操作系统得到飞速的发展:微处理器从8位到16位、32位甚至64位;从支持单一品种的CPU芯片到支持多品种的;从单一内核到除了内核外还提供其他功能模块,如文件系统,TCP/IP网络系统,窗口图形系统等;并形成包括嵌入式操作系统、中间平台软件在内的嵌入式软件体系。硬件技术的进步,推动了嵌入式系统软件向运行速度更快、支持功能更强、应用开发更便捷的方向不断发展。6

随着嵌入式系统应用的不断深入和产业化程度的不断提升,新的应用环境和产业化需求对嵌入式系统软件提出了更加严格的要求。在新需求的推动下,嵌入式操作系统内核不仅需要具有微型化、高实时性等基本特征,还将向高可信性、自适应性、构件组件化方向发展;支撑开发环境将更加集成化、自动化、人性化;系统软件对无线通信和能源管理的功能支持将日益重要。6

行业性开放系统正日趋流行。统一的行业标准具有开放、设计技术共享、软硬件重用、构件兼容、维护方便和合作生产的特点,是增强行业性产品竞争能力的有效手段。嵌入式操作系统本身正走向开放化、标准化;Linux正逐渐成为嵌入式操作系统的主流;J2ME技术也将对嵌入式软件的发展产生深远影响。目前自由软件技术备受青睐,并对软件技术的发展产生了巨大的推动作用,这为我国加快发展嵌入式软件技术提供了极好机遇和条件。6

从国家战略目标与产业发展来看,嵌入式软件是实现传统制造业转型与提升的关键技术,她对整体提升我国制造业的竞争能力、大幅度地增强专用计划与项目,推动嵌入式软件技术与产业的技术进步与快速发展。6

我们认为中国在发展嵌入式软件方面,应大力发展关键性、共性化的嵌入式操作系统与嵌入式软件平台;围绕行业,聚焦行业,依托龙头企业,突出重点区域,建设面向领域的嵌入式软件平台系统,提升我国嵌入式操作系统厂商的整体实力,提升整机制造行业在嵌入式软件上的核心竞争力;面向产业链,建设上下配合左右互动的合作性战略产业技术联盟,促进嵌入式软件产业的快速发展。6

嵌入式技术正飞速发展,并期待着在各种行业的深入渗透。我国具有雄厚的制造业基础,与传统的制造业结合,嵌入式系统有着巨大的市场空间。同时,基于嵌入式技术的应用和技术创新,将推动新产品、新产业的诞生。在巨大的市场需求和新的产业契机的推动下,嵌入式软件成为中国软件业的一次难得的机遇,是10年一遇的机会。智能手机、数字电视、以及汽车电子的嵌入式应用,是这次机遇中难遇的切入点;机遇与挑战并存。6

本词条内容贡献者为:

尚轶伦 - 副教授 - 同济大学数学科学学院