电脑嵌入式系统与嵌入式操作系统
吴国发
初稿:2020年9月27日
修改:2023年10月22日
内容提要:这是一篇高级科普文章,具备电脑基本知识的读者才能够看懂本文。文章简明扼要地介绍电脑嵌入式系统的基本概念、发展阶段、嵌入式硬件的种类、嵌入式软件的种类,再具体介绍嵌入式操作系统的概念和种类。
关键词:嵌入式系统 微处理器 微控制器 操作系统 Linux
(一)电脑嵌入式系统的基本概念
嵌入式系统是以应用为中心,以计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软件硬件模块的专用电脑系统。
嵌入式系统由硬件和软件组成。嵌入式系统的软件包括操作系统、中间件和应用程序。嵌入式系统的硬件包括信号处理器、存储器、通信模块(输入输出接口)等。
相比于一般的计算机处理系统,各种嵌入式系统存在较大的差异性。嵌入式系统没有大容量的存储功能,因为没有与之相匹配的大容量存储介质。
嵌入式系统广泛用于工业控制、智能汽车、高端精密尖端仪器、智能手机、智能家用电器、武器装备(如坦克、导弹、雷达)等,如下图所示:
(二)嵌入式系统的发展阶段
嵌入式系统的发展大致经历了以下三个阶段:
第一阶段:嵌入技术的早期阶段,无操作系统。嵌入式系统以单片机为核心的可编程控制器形式存在,具有监测、伺服、设备指示等功能。这种系统大部分应用于各类工业控制和坦克、飞机、导弹等武器装备中。
第二阶段:以高端嵌入式CPU和嵌入式操作系统为标志。这一阶段嵌入式系统的主要特点是计算机硬件出现了高可靠、低功耗的嵌入式CPU,如ARM、PowerPC等,而且支持操作系统和复杂应用程序的开发、运行。
第三阶段:以芯片技术和Internet(互联网)技术为标志。由于微电子技术迅速发展,SoC(片上系统)使嵌入式系统越来越小,功能却越来越多。目前大多数嵌入式系统还独立于互联网之外。今后,互联网技术将与工业控制技术、智能设备、智能家电等密切结合,很多嵌入式系统将与Internet(互联网)联结。
(三)嵌入式硬件系统的主要种类
以下各节,我们讨论第三阶段嵌入式系统的类型和软件。
从硬件角度看,嵌入式系统主要有下列四种类型:
(1)嵌入式微处理器(MicroProcessor Unit,MPU)
现在的嵌入式微处理器(MPU)是由通用计算机中的CPU演变而来的。它是具有32位以上的处理器。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
主要的嵌入式处理器类型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等。
(2)嵌入式微控制器(MicrocontrollerUnit, MCU)
早期的微控制器(Microcontroller Unit,MCU)是将一个计算机集成到一个芯片中,实现嵌入式应用,故又称单片机(single chip microcomputer)。
单片机是一种集成电路芯片,是构成一台微型计算机的主机。与微型计算机相比,单片机只缺少了I/O(输入/输出)设备。
与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器适合于实时控制,因此称为微控制器。
MCU拥有的品种最多。比较有代表性的MCU有Intel8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68000系列,以及8XC930/931、C540、C541,并且还有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。
(3)嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)
DSP(数字信号处理器)是专门用于信号处理方面的处理器。它具有很高的编译效率和指令执行速度,能够极快地进行离散时间信号处理。
应用最广的DSP是TI(德州仪器)的TMS320C2000/C5000系列和Motorola(摩托罗拉)的5600X系列;其次是Intel(英特尔)的MCS-296,Siemens(西门子)的TriCore,等等。
(4)嵌入式片上系统(System OnChip)
嵌入式片上系统(SoC)是具有很大包容性的集成器件。SoC最大的特点是实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。
比较典型的SoC产品是Philips(菲利普)的Smart XA。其它的SOC有Siemens(西门子)的TriCore,Motorola(摩托罗拉)的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片,等等。
(四)嵌入式软件系统的概念
(A)嵌入式软件系统的基本概念
嵌入式软件系统的组成如下:
(1)系统软件,包括操作系统(系统软件的核心)、中间件等,用于控制、管理微系统的资源;
(2)支撑软件,辅助软件开发的工具,包括设计工具、仿真工具、测试工具、维护工具等;
(3)应用软件,包括微系统在各个领域的应用软件。
(B)嵌入式操作系统的基本概念
嵌入式操作系统(EmbeddedOperating System,EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
嵌入式操作系统负责嵌入式系统的全部软件、硬件资源的分配,任务调度,控制、协调系统的活动。
EOS能够通过装入某些模块来实现增加的功能。
嵌入式操作系统大多数是实时操作系统(RTOS)。
手机操作系统都是嵌入式操作系统。
(C)嵌入式实时操作系统(RTOS)
嵌入式实时操作系统(Real Time Operating System,RTOS)能够在指定或确定的时间内完成实时系统的功能。RTOS标准的内核是一段嵌入在目标代码中的程序,系统复位后首先执行。RTOS相当于用户的主程序,其它程序都建立在RTOS之上。
RTOS的特性如下:
Ø 具有实时性、并行性、多路性和交互性;
Ø 具有约束性,包括时间约束、资源约束、执行顺序约束等;
Ø 具有可预测性,其执行时间和结果是可预测的;
Ø 具有可靠性。
(五)嵌入式操作系统的发展阶段
嵌入式操作系统的发展经历了下列四个阶段:
第一阶段:无操作系统阶段,20世纪70年代;嵌入式系统的硬件以51单片机为代表。
第二阶段:简单操作系统阶段,20世纪80年代;嵌入式系统的硬件是超大规模集成电路(VLSI)。
第三阶段:实时操作系统阶段,20世纪90年代;实时、多任务系统是嵌入式操作系统的主流;嵌入式系统的硬件仍然是超大规模集成电路(VLSI)。
第四阶段:面向Internet阶段,可以使用Java开发;系统软件有嵌入式数据库、实时CORBA等,有完善的开发平台。
(六)国际上常用的通用嵌入式操作系统
国际上的嵌入式操作系统(EOS)有50种左右。国际上广泛使用的通用嵌入式操作系统如下:
Ø Palm OS,通用EOS,由3Com公司下属子公司开发,占全球市场份额高达50%。在美国市场,Palm OS更以80%的占有率,遥遥领先。
ØWindows Embedded,微软公司开发,在美国的市场占有率很高,仅次于Palm OS。
ØVxWorks,实时操作系统,由美国WindRiver 公司开发。
Ø µC/OS-III,实时操作系统,由Micrium公司开发,开源。
Ø 嵌入式Linux,种类很多,其小型化版是μCLinux,开源。
Ø 专用于手机和平板电脑的Android(安卓),谷歌公司开发,开源。
Ø 专用于苹果公司手机的iOS,苹果公司开发,只适用于苹果公司产品。
上述操作系统全部是美国的企业和研究机构开发的。
华为公司的鸿蒙系统(HarmonyOS)专用于华为公司的手机、平板电脑、自动驾驶汽车和其它智能产品。
(七)嵌入式Linux系统的特点
嵌入式Linux是把Linux操作系统进行剪裁、修改,使之能够在嵌入式系统运行的操作系统。
嵌入式Linux具有如下特点:
Ø 嵌入式Linux的源代码完全开放,不存在“后门”和黑箱技术。
Ø 嵌入式Linux内核小(最小者只有134KB),效率高;内核可以任意剪裁。
Ø 嵌入式Linux可移植性好,已经被移植到20多种CPU架构,包括x86、ARM、MIPS、IA64、AVR32、M68K、S390等。
Ø 嵌入式Linux都是免费的操作系统,在价格上具有很强的竞争力。
Ø 全世界有超过1000名Linux专家级的“义工”,免费为嵌入式Linux提供技术支持。
嵌入式Linux主要有下列三种类型:
(1)专门为嵌入式特性设计的Linux,其内核很小、移植性很好;
(2)专门为实时性设计的Linux,其可控性好,实时功能强;
(3)把嵌入式特征和实时性特征结合起来而设计的Linux,提供集成开发方案。
(八)嵌入式Linux系统的发行版
有代表性的嵌入式Linux操作系统发行版有下列六种:
(1)μClinux,适用于简单的微控制器嵌入式系统,内核很小;由美国Lineo公司开发。
(2)RT-Linux,适用于实时控制,是实时Linux的代表;由美国墨西哥理工学院开发。
(3)Embedix,适用于复杂的嵌入式系统,具有调试工具包、图形界面浏览器等,是完整的嵌入式Linux解决方案;由美国Luneo公司开发。
(4)QUARK(夸克),由美国网虎公司(XLinux)开发,是目前全世界最小的Linux,内核只有143KB。QUARK不仅具有标准字符集,而且含有12个国家和地区的字符集,适合于国际性应用。
(5)Mizi Linux,内核小(512KB);集成了网络服务器Apache和数据库管理系统MySQL;配备了功能很强的SDK开发平台。由韩国Mizi公司开发。
(6)MidoriLinux,功能强、适用性广的嵌入式操作系统;不仅操作系统免费,而且提供免费的开发工具和应用程序包;由美国Monta Vista公司开发。
上述六种嵌入式Linux发行版,除了MiziLinux是韩国企业开发的外,五种都是美国企业和大学开发的。
中科红旗软件技术有限公司开发了红旗嵌入式Linux,没有得到普遍应用。