在进入市场的头两年中,嵌入式Linux设计通过广泛应用获得了巨大的成功。随着嵌入式Linux的成熟, 提供更小的尺寸和更多类型的处理器支持,并从早期的试用阶段迈进到嵌入式的主流,它抓住了电子消费类设备的开发者们的想象力。
初期CE市场阶段和趋势
初期的高级消费电子(CE)产品的市场阶段是无线电话、手持设备、电视和家庭娱乐、SOHO(小型办公室和家庭办公室)网络设备和汽车通信设备。由于厂家采用数字技术和网络联接,所有的这些设备种类都处在快速的变化过程中。
● 手持设备的融合与多样化
在手持设备方面,绝然不同类的无线个人数字助理(PDA)和无线电话正走向融合。虽然一些功能的融合正成为事实,这些产品尽管具有越来越多的共享功能和特性,但仍然保持各自的特点。
大部分的手持设备首先设计成以通信为中心的数字蜂窝电话和以信息为中心的无线PDA。虽然所用技术很多是相似的,用户接口规范和设计却十分多样化,电话主要是语音通信, 无线PDA是存取个人的和公司的数据。
第二,电话的建设和行销的经济方式相对PDA是截然不同的,而两种设备类型都面临极大的利润压力和不断降低价格的目标。
最后,二者在网络连接类型方面也不一致. 以语音为中心的电话连接到数字蜂窝广域网,广域网再连接到公众电话网络。PDA一般是用来连接到区域网络、公司的虚拟专用网络(VPN)和互联网。
宽带和家庭
基于数字内容和先进网络的服务正在将起居室变成互连网的媒体中心。 多种的先进数字传输能力正在进入机顶盒、高清晰电视、接收器、网络组件和专用媒体集线器。
宽带在全世界范围内的爆炸性增长,给SOHO网络设备和那些以安全、共享为目的的高速度连接器, 比如路由器、家庭网关、防火墙、宽频解调器调制、存储服务器、IP电话网关和无线接入点都带来了相应的市场。 一些产品已经将所有的这些功能集成到单一盒子内。
Linux在消费类电子产品的第四个大的市场是汽车的信息通信。包括在仪表板上和在汽车乘坐区域的先进导航、数据、娱乐和通信系统。
目前正在销售和开发的产品
虽然各大媒体都倾向于聚焦在像 Linux PDA这样有气派的小东西上,但嵌入式Linux 在四个关键的CE 领域中正在获得广泛的采用,包括手持、家庭、汽车和办公室应用。
CE需求和解决方案的关键
当CE应用开发者们开始注意Linux的核心能力--开放性、牢靠性和一流的网络性能的同时,应考虑到以下的因素:
● 嵌入式硬件支持
Linux 市场和它的特别需求像一个冰山。看得见的部份由“白盒子”服务器和桌面机器所组成,但是隐藏其后的大量嵌入式计算则是在处理器和专有的系统设计上建立的。特别是当Intel IA-32和 x86处理器在嵌入式重要设计中占有较大份额的,占优势的 CE 处理器却是ARM和MIPS系列。
采用嵌入式Linux处理器的最大赢家,在手持设备方面是Intel 的StrongARM,以及像 XScale这样的下一代的ARM系列产品, 而且TI OMAP 承诺在 2003 年会快速投入手持设备和车载设备方面的开发力量。在家庭和办公室则继续采用 MIPS 和 PowerPC 芯片的混合。
● 系统设计
PC主板和CE设备系统板,严格来说, 属于商品。PC主板是被设计成更广范围硬件和软件的支持, 极大多数的CE设计只需要做好一项工作, 并以最低成本来完成。
PC厂商尽管致力于整合 PCI、视频和多功能I/O 芯片组,仍然着重把几十种的熟悉部件集成到一个PC-AT平台上。嵌入式开发者被比喻是面对一个大杂烩的袋子. 一方面, 高整合的处理器和 SOC将处理器核心和几十个外围器件封装在一起来简化他们的工作;另一方面,他们通常拿着选好的处理器和市场上提供的参考板开始他们的项目, 他们采用的硬件通常有一类中的一种。
● 可伸缩的内存容量
与传统的PC-AT结构不一样,许多消费电子设备并不炫耀硬盘并且只需有限的内存来运作。当今天我们发现PC已装备至少128MB RAM和40GB以上的硬盘时,多数CE系统努力保持降低成本并应用8到16MB RAM,甚至更少的ROM或Flash存储器。虽然包括RAM和Flash的价格下降(或在相同价格下容量增加),嵌入式内存容量依然非常保守。
传统的嵌入式操作系统(实时操作系统和Windows CE)通常提供可裁剪的配置,即将整个接口或目标类别,如消息队列等功能抽取出来。另一方面,Linux的开放特点使得裁剪更加容易,如果你不需要应用编程序接口/模块/驱动程序/软件库,则不必将其配置到系统中。因此,按照CE的要求优化嵌入式Linux的内存容量需要一些技巧。
● 配置的重要性
为了提供嵌入式CE需求的直观性,我们定义三种应用配置。每种配置都表示为压缩映像集(用于引导),以及解压和使用的RAM总容量。因此,第一个值是系统对内存或ROM的需求,第二个值是Linux、中间件和指定应用对RAM的需求。
提供的应用是建立在IA-32/x86构架上,其它CPU族的结果是不同的。特别是典型的RISC代码和数据可增大10%~30%,以满足固定运算值和固定宽度指令以及大量数据队列的需求。影响容量的其它因素还有内核映像压缩的限制,如MIPS结构就和RISC有所不同。目前标准的Linux内核不支持ARM Thumb、MIPS16 等完整RISC 指令集的CPU。