简谈嵌入式系统的发展与应用

时间:2022-06-01 16:55:09

引言:“后PC时代”的来临及3C融合加速趋势的彰显,给中国以嵌入式软件为核心的嵌入式系统产业的高速增长带来了千载难逢的契机,嵌入式软件产业现已成为中国IT产业中的一个重要新兴产业和增长点。作为中国软件产业的一个重要组成部分,中国的嵌入式软件产业一直保持着快速的发展,最近几年来的增长速度都超过了30%。远远高于世界嵌入式软件产业和中国软件产业的增长速度。越来越多的国际嵌入式软件巨头将目光瞄向了中国这一新兴市场。最近两年来,微软、风河、Montavista、奇趣、PalmSource等全球嵌入式软件巨头,在中国或收购、或合作、或设立分支机构,争先恐后地进行“圈地运动”,力争在中国市场竞争格局尚未明朗之前占得先机,为公司日后在中国市场赢得有利位置奠定基础。这一系列重大事件标志着中国嵌入式软件产业进入了一个全新的发展阶段。

一.嵌入式系统的发展

嵌入式系统为控制、监视或辅助设备、机器或甚至工厂运作的装置。它是一种计算机软件与硬件的综合体,并且特别强调‘量身定做’的原则,就是基于某一种特殊用途,就会针对这项用途开发出截然不同的一项系统出来,也就是所谓的客制化(Customize)。在新兴的嵌入式系统产品中,常见的有手机、PDAGPSSet-Top-Box或是嵌入式服务器(embedded server)及精简型终端设备(thin client)等。

嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。

嵌入式技术的发展,大致经历了个阶。 

第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。

第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段操作系统具有一定的兼容性和扩展性,用户界面不够友好。

第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。 

第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。 

嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。

二.嵌入式系统的特征

这些年来掀起了嵌入式系统应用热潮的原因只要有几个方面:一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。 

嵌入式系统的几个重要特征: 

1.系统内核小。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory)作为存储介质。这就要求嵌入式操作系统只能运行在有限的内存中,不能使用虚拟内存,中断的使用也受到限制。因此,嵌入式操作系统必须结构紧凑,体积微小。比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核?简直没有可比性。 

2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。 

系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。大多数嵌入式系统都是实时系统而且多是强实时多任务系统,要求相应的嵌入式操作系统也必须是实时操作系统(RTOS)。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 

6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

三.嵌入式系统的发展状况

中国利用自身的优势,侧重于嵌入式硬件产业发展,逐步完美嵌入式软件产业价值链;而印度嵌入式系统软件外包基地格局逐步形成。随着嵌入式系统相关产业不断发展,目前其产值已相当可观。嵌入式系统在中国拥有巨大的发展潜力和市场需求。2008年我国软件行业累计收7572.9亿元,占GDP的2.52%,其中嵌入式软件约为1340.4亿元,占软件产业总收入的近20%。

赛迪顾问嵌入式软件与信息服务产业研究中心高级咨询师赫建营认为“嵌入式软件正成为中国软件产业快速发展的强大引擎。但是嵌入式软件也面临新的挑战——不均衡的产业结构与日益扩大的产业规模之间的矛盾仍然存在,产业还没有进入成熟阶段同,产业链各环节发展还不平衡”。据赛迪顾问预测,2009年市场规模将达到3127.8亿、2011年将达到4650.5亿,每年增长率达到20%以上。

较之PC,嵌入式因其所面对的应用关系十分密切,针对性、服务性的特征十分明显,难于用通用产品覆盖,至今尚未出现由少数几种产品,少数企业垄断整个市场的局面;应用的多样性也导致了对嵌入式系统需求的多样性。嵌入式系统可渗透到所面向的种类应用中去。

四.嵌入式系统的应用

嵌入式系统是以应用为中心的系统,不会像PC一样只有一种平台,但它会吸取PC的成功经验,形成不同行业的标准。统一的行业标准具有设计技术共享、构件兼容、维护方便和合作生产等特点,是增强行业性产品竞争能力的有效手段。走行业开放系统道路、建立行业性的嵌入式软件开发平台是加快嵌入式软件技术发展的有效途径之一。目前著名的嵌入式操作系统有:Windows CE(微软),VxWorksWind River公司),symbianQNXQSSL 公司)等。还有国内自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统Hopen OS(“女娲计划”)等。 

Windows CE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使Windows CE能够访问Internet并收发E_mail或浏览Web。除此之外,Windows CE特有的与Windows类似的用户界面使最终用户易于使用。Windows CE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。 

QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一组共操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十KB内存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、PDA等应用中去。

Hopen OS是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心Hopen Kernel一般为10KB左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。 

在众多的实时操作系统和嵌入式操作系统产品中,WindRiver公司的VxWorks是较为有特色的一种实时操作系统。VxWorks 支持各种工业标准,包括POSIX、ANSI C 和TCP/IP网络协议。VxWorks 运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。微内核设计减轻了系统负载并可快速响应外部事件。在美国宇航局的极地登陆者号、深空二号和火星气候轨道器等登陆火星探测器上,就采用了VxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作。目前在全世界装有VxWorks 系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信、数字影像、网络、医学、计算机外设、汽车、火控、导航与制导、航空、指挥、控制、通信和情报、声纳与雷达、空间与导弹系统、模拟和测试等众多领域

结束语:在信息产业里,目前国内的学校教育中不是偏向极硬 (hardware design),不然就是超软(software development),硬件设计人员作风通常非常保守,比较缺乏系统全面整合设计,而软件开发人员只要看到硬件问题就傻眼了,比较缺乏硬件观念。因此,目前国内非常缺乏嵌入式系统所需要的软硬件系统整合人才,大部分都还是靠硬件设计人员兼职。这个现象也告诉我们嵌入式系统人才是目前产业界要求而且无可取代的人才之