嵌入式这个词现在变得越来越流行,然而关于它的很多概念可能还有一大部分人不是很明确,在本文中,我们不追求具体的概念是否准确,而是要对其有一个准确的理解。
嵌入式系统是不同于常见计算机系统的一种计算机系统,它不以独立设备的物理形态出现,即它没有一个统一的外观,它的部件根据主体设备以及应用的需要嵌入在设备的内部,发挥着运算、处理、存储以及控制作用。从体系结构上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。其中嵌入式处理器通常是单片机或微控制器;支撑硬件主要包括存储介质、通信部件和显示部件等;嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件以及应用中间件等。
可见,嵌入式系统是一个很大的概念,一旦嵌入式处理器和支撑硬件选定了,那么工作最多的就集中在嵌入式软件当中了。而嵌入式软件中的嵌入式操作系统部分和应用软件部分就成了重中之中。它们与通常说的操作系统与应用软件的概念是相似的,但也有区别。
嵌入式操作系统是与应用环境密切相关的,从应用范围角度来看,大致可以分为通用型的嵌入式操作系统如Windows CE、VxWorks、嵌入式Linux等和专用型的嵌入式操作系统如Palm OS、Symbian等。从实时性的角度看,大致可以分为实时嵌入式操作系统和一般嵌入式操作系统。从原理上说,嵌入式操作系统仍旧是一种操作系统,因此它同样具有操作系统在进程管理、存储管理、设备管理、处理器管理和输入输出管理几方面的基本功能,但是由于硬件平台和应用环境与一般操作系统的不同,那么它也有自身的特点,最大的特点就是可定制性,也就是它能够提供可配置或可剪裁的内核功能和其他功能,可以根据应用的需要有选择的提供或不提供某些功能以减少系统开销。
前已述及,微软公司的Windows CE操作系统就是一种嵌入式操作系统,它1996年开始发布Windows CE 1.0版本,2004年7月发布了Windows CE .NET 5.0版本,目前用得最多的是Windows CE .NET 4.2版本,其发展速度也是很快的,功能上自不必描述,它的主要应用领域有PDA市场、Pcket PC、Smartphone、工业控制、医疗等。
现代的嵌入式操作系统同嵌入式操作系统的定制或配置工具紧密联系,构成了嵌入式操作系统的集成开发环境。就WinCE来讲,你无法买到WinCE这个操作系统,你买到的是Platform Builder for CE.NET 4.2的集成开发环境,我们也简称为PB,利用它你可以剪裁和定制出一个符合你自己需要的WinCE.NET 4.2的操作系统,因此,我们说的操作系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。
对于嵌入式的应用软件,通常就是指运行在嵌入式操作系统之上的软件了,这种软件由于不再针对常规的操作系统进行开发,因此很多如VB、VC++等开发工具就不方便使用了,那么就有专门的SDK或集成开发环境来提供这种开发需要。在WinCE操作系统上的应用软件开发,微软就提供了Embedded Visual Basic(简称EVB)、Embedded Visual C++(简称EVC)、Visual Studio.NET等工具,它们是专门针对CE操作系统的开发工具,EVB只支持到CE的3.0版本,目前用得最多的还是EVC,把你的CE操作系统中的SDK(软件开发包)导出然后安装在EVC下,就可以变成专门针对你这种设备或系统的开发工具了。而VS.NET中的VB.NET和C#也提供了对以CE为操作系统的智能设备开发的支持,而且也很方便,但必须要求这些设备中提供了对微软的.NET Compact FrameWork的支持才行,如果使用的话就要看具体情况了。
以上说了这么多,还是举个例子吧。比如说我要做一台医疗仪器,那么我就要选择好嵌入式的硬件环境,然后定制出符合我需要的CE操作系统,利用这个系统导出SDK,然后利用EVC结合这个SDK来开发我的信号采集、处理和病情分析的应用程序,最后就形成了一台合适的利用嵌入式技术开发出的仪器了。
如果你已经对嵌入式系统或CE产生了兴趣,那就请继续关注本人的后续文章吧。
原文出自 文斌程序网