新闻中心

EEPW首页>嵌入式系统>设计应用> 在嵌入式系统中应用Linux深入探究

在嵌入式系统中应用Linux深入探究

作者: 时间:2012-05-22 来源:网络 收藏


有些设计者不能够准确地分析出系统真正实时需求,很多情况下对实时的需求在1-5毫秒内响应就可以;大部分情况下,软足以满足要求:WINDOWSS的 98Crashed_Yet在98%的时间内可以在4每秒内响应,如果时间是20秒,则总会响应。那些软实时性容易满足。需要考虑的因素包括:上下文转换时间、中断延迟、任务的优先级和任务调度方式。上下文转换时间曾经是实时性分析的重点,但是因为CPU速度大幅度提高,它不再是关键问题。

现在,严格要求的实时性任务的决定因素是中断例程本身和内核中的其他驱动程序有关;而响应延迟时间主要受中断的优先级和其他进程会暂时地关闭中断响应的影响。因此管理和驱动中断的机制必须保证实时要求。

对于Intelx86处理器,实时扩充可以在系统中很容易进行,RT-就是很好的例子(见 http://www.rtlinux.org/)。它主要是把的任务作为自己的一个任务,因此实时性要求很高的任务不受非实时的 Linux的干扰,可以得到满足。另外还提供了实时任务和Linux的基本核心和其他任务间的接口,这些接口是不需要很强的实时性。这种架构为其他的提供了一个参考。关键因素就是实时性的代码和非实时代码分开设计,而且实时应用程序的处理方式和其他程序的处理方式差不多。

3.适合的Linux

有一种观点认为:用户不必直接干预机器的运行,即没有用户接口的应用系统是。其他的比如电梯控制系统应该是嵌入式系统,但是它需要人为控制。连接网络需要监视和控制网络系统运行的系统,仍然是嵌入式系统;因此应该根据系统的主要目的和功能来判定是否是嵌入式系统。

最小的嵌入式Linux系统必须包括以下主要的要素:

1.启动程序;

2.融合了内存管理、进程管理和时间分批服务的核心;

3.初始化程序。

为了达到要求,而且为了保持最小系统,需要添加以下要素:

硬件的驱动程序;

必须的应用程序。

根据其他需要,你可能增加以下功能:

1.文件管理系统(在ROM或RAM中);

2.TCP/IP通讯协议;

3.磁盘。

4.选择合适的硬件平台选择硬件平台是一件很麻烦的事,受很多因素影响,比如公司的指导原则、个人偏见、过去产品的影响和消息不灵通等。费用是考虑的主要因素。提醒你考虑价格时不要只注意CPU的价钱,要对整个系统进行考虑。但是如果你是系统设计师,你必须把软件的实时性和硬件结合起来考虑。首先考虑需要多快的CPU,然后把选择三倍化的结果;因为在实际中应用程序会使用一些cache(缓冲),所以理论上速度很快的CPU的实际速度会降低。其次考虑选择多快的BUS(总线);如果可以包括其他的总线,比如PCI,就加上它。因为有时即使使用DMA方式传输,也会使快速CPU变得象蜗牛一般。选用集成外设的CPU比较好,而且还可选用现成的外设驱动程序,大大减少调试工作,实际上有些芯片集成的功能并不是我们所需要的,所以也不要认为凡是集成的都是好东西。

5.压缩制作Linux系统对Linux的通常感觉是大,似乎不适合于嵌入式系统。事实并非如此。因为典型的发行Linux集成了很多桌面PC机需要而嵌入式系统并不需要的功能。首先,我们可以把核心(kernel)从其他任务中分离出来。标准的 Linux核心总是贮留在内存中;当需要应用程序时,它把需要的程序从磁盘调入内存运行。程序运行完毕,内存清空,卸载程序。在嵌入式系统中,经常没有磁盘。目前有两种办法来处理没有磁盘的情况。对于比较简单的系统,核心(kernel)和应用程序同时贮留在内存,当系统启动时,就启动应用程序。这种方式和以前的嵌入式系统一样工作。Linux系统也支持这种方式。第二种方式是,考虑到Linux有load(装载)和 unload(卸载)程序的能力,嵌入式系统也可以使用这一特点,来节约内存。假如有一个典型的嵌入式系统:包括8到16M的 FlashMemory和8到16M的RAM;可以在FlashMemory上建立文件系统,使用Flash的驱动程序来驱动 FlashMemory上文件系统工作。另外,也可以使用FlashDidsk,其中有一个例子是M-system的 DiskOnChip,它可以支持达160M的FlashDisk。把使用的应用程序文件存放在Flash文件系统上,根据需要调入程序。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭