1.1 嵌入式系统概述
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统是把计算机直接嵌入应用系统中,它融合了计算机软硬件技术、通信技术和微电子技术。随着微电子技术和半导体技术的高速发展,超大规模集成电路技术和深亚微米制造工艺已十分成熟,从而使高性能系统芯片的集成成为可能,并推动着嵌入式系统向最高级构建形式,即片上系统 SoC(System on Chip)发展,进而促使嵌入式系统获得更深入、更广阔的应用。嵌入式技术的快速发展不仅使其成为当今计算机技术和电子技术的一个重要分支,同时也使计算机的分类从以前的巨型机、大型机、小型机和微型机,变为通用计算机和嵌入式计算机(即嵌入式系统)。
1.1.1 嵌入式系统的发展趋势
1971 年,Intel 公司推出了第一款微处理器 4004,从此揭开了嵌入式系统发展的序幕。经过几十年的发展,随着计算机技术、电子技术以及微处理器工艺的不断进步,嵌入式系统也进入了高速发展阶段。由于计算机软件技术的发展和嵌入式处理器性能的不断提高,20 世纪 80 年代开始出现各种各样的商用嵌入式操作系统。这些操作系统大部分是为专用微处理器而开发的,其中许多已经被广泛应用。早在 2001 年,我国发布的《当前优先发展的高技术产业化重点领域指南》就已经把嵌入式系统纳入优先发展的行业,并指出其近期产业化的重点是 “开发生产嵌入式操作系统、嵌入式软件系统开发测试平台、嵌入式软件系统的微处理器、智能化产品与设备,形成规模化生产能力”。纵观几十年的发展过程,嵌入式系统大致可以分成如下 3 个发展阶段。
(1)单片机阶段:这个阶段的嵌入式系统没有嵌入式操作系统的支持,主要以功能简单的单片机为核心,实现控制、采集或是监控功能。开发者只能通过简单的汇编语言编程实现对嵌入式系统的控制,系统功能较为单一。
(2)嵌入式 CPU 和嵌入式操作系统阶段:这个阶段已经出现了一些功能强大、价格低廉的嵌入式微处理器和多种嵌入式操作系统。嵌入式系统功能较第一阶段有了很大增强,可以支持多种设备;同时因为有了嵌入式操作系统的支撑,嵌入式系统的开发及应用更加便捷。这时的嵌入式系统已经广泛应用于国防、工农业、交通等多个领域。
(3)SoC 和网络阶段:片上系统(SoC)是当今微处理器的发展趋势,它将包括 CPU 及多种外设控制器的专用系统集成在一块芯片上。基于 SoC 的嵌入式系统功能更为强大,成本和功耗越来越低,同时体积也越来越小,能够更广泛地应用于日常生活中。同时随着网络的发展,嵌入式系统已经支持网络功能,开发与应用更加方便。
随着我国嵌入式系统应用产品市场需求的日益增长,嵌入式系统的产值也在不断提升,尤其是在医疗仪器设备、家电、汽车、通信、交通、金融、工业自动化等领域表现突出。
1.1.2 嵌入式系统的特点
嵌入式系统作为计算机系统,同样由三部分构成:处理器、存储器和输入 / 输出设备。此外,还需要有将这三部分连接起来的 “总线”。这是所有计算机系统的共性,但与以 PC 为代表的通用计算机系统相比,嵌入式系统有其特殊性,特点概括如下:
(1)嵌入式系统一般面向特定应用,具有体积小、低功耗、成本低、集成度高等优点。它将通用中央处理器中许多由板卡完成的功能集成到芯片内部,从而使嵌入式系统的设计趋于小型化、专业化,大大增强了移动能力以及与网络的紧密性。
(2)嵌入式系统是资金密集、技术密集、高度分散、不断创新的知识融合系统,是先进的计算机技术、通信网络技术、半导体工艺、电子技术与各领域具体应用相结合的产物。
(3)系统精简。嵌入式系统一般没有系统软件和应用软件的明确区分,不要求功能设计与实现过于复杂,这一方面利于控制系统成本,另一方面利于保障系统安全。
(4)嵌入式系统一般有较长的生命周期。嵌入式系统和具体应用有机结合,它的升级换代也和具体产品同步进行。
(5)嵌入式系统的软件代码要求高质量、高可靠性与高实时性。为了提高执行速度和系统可靠性,软件一般都固化在存储器芯片或处理器内部的存储器中,而不存储在外部磁盘等载体中。嵌入式系统通常还需要适应恶劣环境和突然断电等场景。与通用计算机相比,嵌入式系统还具有专用性、成本敏感性及更高的可靠性。
1.1.3 嵌入式系统的组成
嵌入式系统早期主要应用于军事及航空航天等领域,之后逐步应用于工业控制、仪器仪表、汽车电子、通信和家用消费电子等领域。随着互联网的发展,新型嵌入式系统正朝着信息家电和 3C 产品方向发展。嵌入式系统采用量体裁衣的方式,将所需功能嵌入各类应用系统中,主要由嵌入式硬件系统和嵌入式软件系统组成。
(1)嵌入式硬件系统主要包括嵌入式处理器、存储器、嵌入式外围硬件设备等。
① 嵌入式处理器:是嵌入式系统的核心。嵌入式处理器与通用处理器最大的区别在于,嵌入式处理器大多工作在为特定用户群设计的系统中。
② 存储器:分为静态易失性存储器(RAM、SRAM)、动态存储器(DRAM、SDRAM)、非易失性存储器(ROM、EPROM、EEPROM、Flash)。
③ 嵌入式外围硬件设备:包括串口、以太网接口、USB、音频接口、液晶显示屏、摄像头等。
(2)嵌入式软件系统主要包括底层驱动、操作系统、应用程序。
① 底层驱动:实现嵌入式系统硬件和软件之间的接口。
② 操作系统:实现系统的进程调度、任务处理,核心是对嵌入式处理器的管理。目前流行的操作系统包括 Linux、μC/OS-II、Windows CE、VxWorks 等。
③ 应用程序:实现具体的系统功能与业务逻辑。
1.1.4 典型嵌入式操作系统
国际上用于信息电器的嵌入式操作系统大约有 40 种。目前市场上主流的嵌入式操作系统产品,包括 3Com 公司下属子公司的 Palm OS(全球市场份额达 50%)以及微软公司的 Windows CE(全球市场份额不超过 29%)。在美国市场,Palm OS 更是以 80% 的占有率远超 Windows CE。开放源代码的 Linux 操作系统近几年异军突起,市场份额持续增长,在消费类电子相关领域表现尤为突出。
Palm OS
Palm 是 3Com 公司的产品,其搭载的操作系统为 Palm OS,是一款 32 位的嵌入式操作系统。Palm 设备提供了串行通信接口和红外线传输接口,可方便地与其他外部设备通信、传输数据;同时它拥有开放的 OS 应用程序接口,开发商可根据需求自行开发对应应用程序。Palm OS 是一套开放性很强的系统,目前已有数千款专门为其编写的应用程序,覆盖个人管理、游戏、行业解决方案等众多场景。在丰富软件生态的支持下,基于 Palm OS 的便携式设备功能得以不断扩展。
Windows CE
Windows CE 是微软开发的开放、可升级的 32 位嵌入式操作系统,面向便携式电子设备,可看作精简版的 Windows 95,图形用户界面表现出色。其中 “CE” 的 C 代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E 代表电子产品(Electronics)。与 Windows 95/98、Windows NT 不同,Windows CE 是微软完全自主研发源码的新型嵌入式操作系统。其操作界面虽延续了 Windows 95/98 的风格,但整体是基于 Win32 API 重新打造的信息设备平台,具有模块化、结构化、基于 Win32 应用程序接口、与处理器无关等特点。Windows CE 不仅继承了传统的 Windows 图形界面,开发者还可以在该平台上使用 Windows 95/98 的编程工具(如 Visual Basic、Visual C++ 等)、函数与界面控件,绝大多数应用软件只需简单修改和移植,即可在 Windows CE 平台上运行。
Linux
Linux 是一款类 UNIX 操作系统,二者的基础操作逻辑相近。Linux 系统起源于芬兰计算机爱好者 Linus Torvalds,如今已成为全球最流行的开源操作系统之一。自 1991 年问世以来,Linux 已发展为功能强大、设计完善的操作系统,不仅能运行在 PC 平台,在嵌入式领域也应用广泛。在各类嵌入式操作系统快速发展的背景下,Linux 逐渐形成了与 Windows CE 等产品抗衡的市场地位。目前正在开发的嵌入式系统中,有 49% 的项目选择 Linux 作为嵌入式操作系统,它已成为嵌入式操作系统的理想选择。
Palm OS、Windows CE、Linux 三款嵌入式操作系统各有特点与适用场景。其中 Linux 比前两者体积更小、系统更稳定,同时作为开源操作系统,在成本上极具竞争力。