



嵌入式系统从20世纪70年代发展到如今已经迈过了40多个年头,随着电子和计算机技术的飞速发展,嵌入式系统也逐步得到了极大的成熟,总体来说其可以分为单片机时代、专用处理器时代和ARM时代三大阶段。
单片机时代起始于1976年,Intel发布了世界上最早的单片机8048;随后,Motorola推出了68HC05,Zilog推出了Z80等一系列单片机。随着电子技术的发展,Intel发布了著名的MCS-51单片机内核,ATMEL、NXP(前飞利浦)等公司在该内核的基础上生产了几百款不同的单片机产品,如图1.1所示是Z80和51系列单片机实物。
这些早期单片机系统的出现,使得汽车、家电、工业机器、通信装置及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能,而且更容易使用、处理速度更快、价格更便宜。正是由于电子装置是“内嵌式的”,因此也就使得“嵌入式系统”这个初级概念深入人心。今天看来,当时这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,硬件技术相对落后,如只能执行一些单线程的程序,还谈不上“多核”的概念。但是它标志着“嵌入式系统”出现了硬件雏形。在开创嵌入式系统独立发展的道路上。
图1.1 Z80和51系列单片机实物
从20世纪80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获得更短的开发周期、更少的开发资金和更高的开发效率,“嵌入式系统”真正出现了。确切地说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通信、同步与相互排斥、中断支持、内存管理等功能。其中比较著名的有Integrated System Incorporation(ISI)的PSOS、Ready System 公司的VRTX、IMG的VxWorks和QNX公司的QNX 等。这些嵌入式操作系统都具有嵌入式的典型特征。
● 它们的系统内核很小,具有可裁剪、可扩充和可移植性,可以移植到各种各样的处理器芯片上。
● 它们均采用占先式的调度,响应时间很短,任务执行的时间可以确定。
● 较强的实时性和可靠性,适合嵌入式应用。
● 这些嵌入式实时多任务操作系统的出现,使得应用开发人员得以从小范围的开发中解放出来,同时也促使嵌入式有了更为广阔的应用空间。
但是从整体来说单片机时代的软件都具有“无操作系统”直接运行在处理器上,根据实际用途编写,相对简单,及硬件耦合性极大而不便于移植的特点。
进入20世纪90年代以后,随着计算机技术、微电子技术、IC设计和EDA工具的发展,嵌入式处理器开始向片上系统(System-on-Chip,SoC)发展,出现了包括51单片机、AVR单片机、MSP430单片机、DSP、CPLD/FPGA在内的一系列处理器,如图1.2所示,而ARM处理器也在此时初露头角。
此时出现了众多嵌入式操作系统,它们大多具有跨平台的移植技术,并且在同一个系统之下也可以通过选择开发工具来使用Java、C或汇编语言等开发者熟悉的语言来开发,该阶段比较常用的有WinCE、Palm、WM、Linux、VxWorks、μC/OS-II,Symbian等。
图1.2 专用处理器时代的嵌入式处理器
进入21世纪之后,随着相关电子工业技术的发展,嵌入式处理器相关技术得到了突飞猛进的发展,出现了64位嵌入式处理器(如Cortex-A50系列),其处理器内核也已经实现了8核(目前正计划实现16核)。
到目前为止,嵌入式处理器可以分为三个大类:以MTK、高通、三星为代表支持的ARM架构处理器、以Intel为代表支持的x86架构处理器及其他以FPGA为代表的特殊/专用处理器,如图1.3所示。
图1.3 进入21世纪之后的嵌入式处理器
随着嵌入式处理器的发展,嵌入式系统的硬件性能得到了极大的提升,此时嵌入式操作系统也开始出现一些新的面孔,Android和IOS则是其中的典型代表,它们从2007年出现开始(Android于2007年11月正式发布,IOS则在2007年1月正式发布)就风卷残云般地占领了绝大多数嵌入式消费电子产品(主要是平板电脑、手机和数字播放器)的市场;而微软公司(Microsoft Corporation)不甘落后,从2010年开始连续发布了WP(Windows Phone)和Windows RT(RunTime)操作系统,用于抢占消费电子产品市场。而在工业控制等领域上,嵌入式操作系统本着稳定可靠的原则,则依然是winCE、VxWorks和Linux当道。