嵌入式系统软件及编程语言
1、引言:
随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。当今,嵌入式系统已成为一个时髦的名词,就像当初的计算机热潮,似乎比当初的计算机热潮涉及的领域更广泛,应用技术人员更多,相关国民经济产值也更庞大。报纸、杂志、网络都把嵌入式系统当作讨论的热门话题。
嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。
嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等4个部分组成,它是集软硬件于一体的可独立工作的"器件"。
嵌入式系统的软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。操作系统控制着应用程序编程与硬件的交互作用,而应用程序控制着系统的运作和行为。
2、嵌入式系统软件:
(1)嵌入式操作系统:
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等Browser。
嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。
(2)嵌入式操作系统的发展状况:
国外嵌入式操作系统已经从简单走向成熟,主要有Vxwork、QNX、PalmOS、Windows CE、嵌入式Linux等。
国内的嵌入式操作系统研究开发有2种类型,一类是基于国外操作系统2次开发完成的,如海信的基于Windows CE的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统Hopen OS("女娲计划")等。
Windows CE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使 Windows CE能够访问Internet并收发E-mail或浏览Web。除此之外,Windows CE特有的与Windows类似的用户界面使最终用户易于使用。
Windows CE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。
3Com公司的Palm OS在掌上电脑和PDA市场上独占其霸主地位,它有开放的操作系统应用程序接口(API),开发商可根据需要自行开发所需的应用程序。
QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一组共操作的进程组成,具有高度的伸缩性,可灵活地剪裁,最小配置只占用几十KB内存。因此,可以广泛地嵌入到智能机器、智能仪器仪表、机顶盒、通讯设备、PDA等应用中去。
Hopen OS是凯思集团自主研制开发的嵌入式操作系统,由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心Hopen Kernel一般为10KB左右大小,占用空间小,并具有实时、多任务、多线程的系统特征。
在众多的实时操作系统和嵌入式操作系统产品中,WindRiver公司的VxWorks是较为有特色的一种实时操作系统。VxWorks支持各种工业标准,包括POSIX、ANSI C 和TCP/IP网络协议。VxWorks运行系统的核心是一个高效率的微内核,该微内核支持各种实时功能,包括快速多任务处理、中断支持、抢占式和轮转式调度。目前在全世界装有VxWorks系统的智能设备数以百万计,其应用范围遍及互联网、电信和数据通信等众多领域。
而作为一种嵌入式操作系统,嵌入式Linux以其特别和引人注目的优势正极大地吸引电子设计工程师从自己编写的或专用的RTOS转移到 Linux。据VDC Data的数据显示,整个Linux的增长从2000年的1%到2003年的14%,再到2010年猛增到67%。Even Data数据显示,在嵌入式市场,嵌入式Linux从2001年11%增到2002年27%,而同期Vxwork只是从16%到18%,WIN CE从9%到14%。在嵌入式Linux的各种应用市场中,语音和数据通信名列第一,2000年的销售额是1300万美元,而预计2005年达到1 .26 亿美元(VDC Data数据),可以说嵌入式Linux将成为主流的通用嵌入式操作系统。
(3)嵌入式Linux操作系统:
选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux,如果可能,尽量选择使用普遍的嵌入式Linux系统。概括说来,将Linux应用于嵌入式系统的开发有如
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)