嵌入式Linux中文站

嵌入式Linux操作系统的广泛应用分析


软件和硬件要求

许多的用户接口工具和程序增强了 Linux 基本内核的多功能性。就此而论,可以把 Linux 看作是这样一个连续范围,从只有存储器管理、任务转换和定时器服务最小化的微内核一直到完整的一系列文件系统和网络服务的功能完善的服务器。

最小的嵌入式 Linux 系统仅需要三个基本元素:

引导实用程序

Linux 微内核,由内存管理、进程管理和定时服务构成。

初始化过程

要实现最低限度的工作能力,您还需要添加。

硬件驱动程序

一个或多个应用进程,以提供所需功能。

随着要求的增加,您可能还需要:

一个文件系统(可能是在 ROM 或者是 RAM 里);

TCP/IP 网络栈;

储存半瞬态数据和提供交换空间的磁盘;

32 位内置 CPU(所有完全的 Linux 系统都需要);

相关的硬件方案。

下面是一些现有的为 Linux 操作系统定制的嵌入式硬件方案。

PLEB: 带有 ARM SA-1100 / ArmLinux Ucsimm / Uclinux Flash EPROM 的袖珍 Linux 嵌入式机器Linux Lab: Linux Lab 方案旨在帮助人们开发 Linux 数据采集和过程控制软件。它计划提供从硬件支持到应用开发的广阔范围内应用的标准化开发环境。

控 制器域网:Linux GPIB 的控制器域网(CAN)总线驱动程序;Linux GPIB 包是一个对普通 GPIB(IEEE 488.1)硬件的支持包。驱动程序支持 National Instruments AT-GPIB、TNT488.2 以及 PCII 和 PCIIa 板。这个包里有完整的开发环境,包括测试和配置工具、库以及对 tcl 和 python 语言的支持。

硬件平台选项

挑 选最佳硬件的过程会相当复杂,问题起源于公司内部政策、成见、其它方案的遗留问题、缺乏全面的或者精确的信息以及成本 — 需考虑总的产品成本,而不仅仅是 CPU 本身。有时,一旦把 CPU 使用其它外围设备所必需的总线逻辑和延迟时间考虑在内,那么快速而廉价的 CPU 也可能变得昂贵。要计算任意给定的项目所需的 CPU 速度,首先要现实地看看为了完成一个给定的任务 CPU 得运行多快然后再乘以三。还要确定总线需要运行多快。如果还有二级总线,比如 PCI 总线,那么将它们也考虑在内。一条慢的总线(即一条被 DMA 通信阻塞的总线)将会显著降低高速 CPU 的速度。下面是一些嵌入式 Linux 应用的最佳硬件解决方案。

Bright Star Engineering:Bright Star Engineering 的 ipEngine-1 是支持嵌入式 Linux 的信用卡大小的单片机。它利用了基于 PowerPC 的 CPU,并提供了一组板上外设,有 Ethernet、LCD/视频控制器、USB、串口 I/O 以及一个 16K 门的可由用户配置的 FPGA。BSE 的嵌入式 Linux 配置允许 Linux 从 ipEngine 的板上 4MB 闪存中引导。

Calibri:CalibriTM-133 是将嵌入式 Linux 作为其操作系统来使用的网络设备,它方便使用、紧凑,并且可以用于多种用途。它为防火墙、VPN 和路由要求提供了一种高效、低成本的解决方案。

EmbeddedPlanet: EmbeddedPlanet 创造了后 PC 时代的计算机,它出现时就装有 MontaVista 的 HardHat Linux。由基于 PowerPC 的计算引擎和匹配的 I/O 卡驱动,Linux Planet 装在一个彩色的透明盒子里并且带有触摸屏,还可以访问数字及模拟 I/O。

Eurotech:Eurotech 提供了嵌入式 PC SBC 并资助了 ET-Linux,一个为在小型工业计算机上运行而专门设计的基于 glibc 2.1.2 的完全的 Linux 系统。

Microprocess Ingenierie:Microprocess 为产业和嵌入式市场开发、生产以及销售标准的和定制的产品。Microprocess 在实时软件方面活动范围遍及全球,并具有系统集成的专业知识。它的产品,比如 740 PowerPC compactPCI 板可以与标准的 Linux 分发版或者嵌入式 Linux 版本一起订购。

Moreton Bay:Moreton Bay 发布基于 Linux 的 Internet 路由器,其范围在 NETtel 2520 和 NETtel 2500 之间。这些小型的、易于连接的智能路由器解决方案设计旨在为平面网络提供简便、安全和价格适中的外部网友好的虚拟私有网络(VPN)。NETtel 路由器系列运行的是嵌入式 Linux 内核。现有一套开发工具能够把定制代码存在闪存中并在 NETtel 内部执行。代码可能含有特定的加密或者身份验证协议,或者在 NETtel 被用作远程控制设备代码时,会含有一些本地监视脚本。

Matrix Orbital:这是个可选的、但不是推荐的附加项。Matrix Orbital 生产的一系列串行 LCD 和 VFD 被许多 Linux 用户添加到了他们的嵌入式系统中。这条生产线的范围包括了 8x2 到 40x4 的字符 LCDs、20x2 和 20x4 的 VFD 加上 240x64 图形 LC(128x128 还在生产之中)。运用显示器的通信不是通过 RS232 就是通过 I2C 实现的,两者都是其所有模块上的标准。模块的 BIOS 中包含一个全面的命令集。

实时嵌入式 Linux 应用

有 关嵌入式系统最重要的事务之一就是要求有一个实时操作系统。这里实时有好几种定义。对有些人来说,实时意味着在 1 微秒的时间内对事件作出反应,但对另外一些人来说,那就可能是 50 毫秒了。实时的硬度也各不相同。一些系统需要硬实时响应,在很短的时间内对事件作出确定性响应。但是,当我们对许多系统进行仔细分析时,我们发现事实上对 响应时间的要求只是接近实时。实时的要求常常是时间和缓冲空间的折衷。随着内存越来越便宜,CPU 速度越来越快,现在接近实时比硬实时更加常见,许多商用的所谓实时操作系统远非硬实时。通常情况下,当您进入这些系统的详细设计部分时,就需提高警惕必须 非常仔细地设计驱动器的中断和应用以满足实时要求。

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/system-development/200810/15-192.html



分享:

评论