嵌入式实时操作系统应用分析

发布者:BlossomJoy最新更新时间:2011-10-06 关键字:嵌入式  实时操作系统应用 手机看文章 扫描二维码
随时随地手机看文章
    随着 EOS(Embedded Operation System, 嵌入式操作系统 ) 在工业控制领域内的广泛应用,操作系统的实时性成为一个日益被关注和重视的问题。

    当前主流的 EOS 一般可分为两类,一类是商业级的嵌入式操作系统,这类操作系统都由知名公司开发与维护,在技术支持与服务上都有较好的保证,如 VxWorks 、 QNX 、 WinCE 等,但这类产品一般使用许可证比较昂贵,且不公开核心代码,这就与嵌入式设备的用户定制性较强、升级换代快等特点相违背。另一类则是逐渐兴起的源码开放的嵌入式操作系统,如嵌入式 Linux 、 eCos 等,由于这类系统具有用户可定制性好、费用低廉等优势,从目前看来,它们已成了嵌入式操作系统应用的主要推动力。

    嵌入式Linux 操作系统

    嵌入式 Linux 系统是标准 Linux 在嵌入式领域的延伸,其特点和功能与标准 Linux 几乎完全相同。 Linux 系统的稳定性和健壮性已经在真实世界中得到了证明,在工业控制领域也有许多非常成功的应用。但是,在针对一些有较强实时性要求的特定工业应用中, Linux 系统仍然暴露 出 了许多技术缺陷。其主要原因是因为 Linux 系统起初是为 PC 开发的,在功能和性能选择上更多的兼顾了 PC 应用的特点,追求系统的功能完备性和整体性能最优。这一点在 Linux 系统的调度策略上表现的尤为明显,如任务之间采用的是基于分时技术 ( time-sharing ) 的调度策略,而且不支持内核态抢占式调度,这样系统就无法保证紧急任务总是会被优先执行,且调度延迟不确定,是随机可变的。

    因此,有相当多机构和公司都在研究如何提高 Linux 实时性能,并取得了一些富有成效的成果。同时,开源社区也做着同样的事情,那就是 Linux 2.6 版本的开发。开源社区采用的实时化思想是直接对 Linux 内核的调度机制和算法进行修改和优化。 Linux 2.6 内核开发大约是从 2001 年开始,经过三年左右的开发,在 2004 年发布了稳定版本,经过了这几年的测试与改进,已经在桌面 PC 和服务器领域内得到了大量使用,在嵌入式系统上的应用也在不断发展中。 Linux 2.6 版本中与实时性相关的改进主要体现在以下几个方面。

    ⑴ 调度计算的分散性。 2.6 版本中采用了由 Ingo Molnar 实现的调度算法,该算法将进程优先级的计算分散在多处进行,而不是集中在一个统一的调度函数中,这样不仅提高了计算效率,还减小了 CPU 因集中调度计算所消耗的时间,并且使调度器的时间开销是与系统负载无关,是 O(1) 恒定的。

    ⑵ 抢占式内核的支持。 2.6 版本中提供了对抢占式内核的支持,而 2.4 内核是不支持内核抢占的。支持抢占式调度是实时操作系统的标志之一,这也是早期 Linux 系统应用于实时应用时最为诟病的地方。

    ⑶ 系统同步机制的改进。 2.6 内核中则对系统中同步机制的使用进行了优化,大大减小了因同步机制引起的时间消耗。

    ⑷ 更细的时间粒度。在 2.6 内核中,定时器的频率被定义为 1000Hz ,而 2.4 内核中为 100Hz 。[page]

       虽然, Linux 2.6 系统仍然不是严格实时系统,但它的实时性能得到了很大提高却是个不争的事实,有关文献采用统计的方法对 Linux 2.6 和 2.4 内核中任务响应和中断响应的进行了 310 万次测试,然后对平均响应时间和最坏响应时间进行了对比,下图 (a) 和 (b) 给出了时间比较结果。从结果可以看出 2.6 内核的实时响应能力要远高于 2.4 内核,差距至少在十多倍以上。这一结果更增强了用户将 2.6 内核应用到各种非严格实时应用中的信心。

       

       a 平均响应时间          

                                                     b 最坏响应时间                                                         

        中嵌科技多年来一直关注 Linux 系统在工业控制领域的应用,所提供的全系列嵌入式产品已全部支持基于 2.6 内核的嵌入式 Linux 系统,并针对不同工业应用的实时性要求进行深入的应用研究。

       eCos ( Embedded Configurable Operating System ,嵌入式可配置实时操作系统)

     eCos ( Embedded Configurable Operating System ),嵌入式可配置操作系统,是 Cygnus 公司 1998 年推出的嵌入式实时操作系统解决方案。 eCos 的一个主要设计目标是实现系统的高度可配置能力,为实现这一目标,它将系统分为不同的软件组件。这些软件组件具有可重用性,根据实际应用的需要,通过其独特的配置工具可以选择使用相应的组件,同时对每一个选择使用的组件,用户还可以对每个选项进行更细致的配置,可以增加或删减组件的某些功能,从而实现完整的嵌入式操作系统。使用这种方式最后产生可执行的 eCos 映像文件非常紧凑,只包含应用所需的特定功能,这样使得 eCos 系统与许多传统的 RTOS 相比、系统的运行速度更快,稳定性更高。

     除了高度可配置能力之外, eCos 所追求的目标还包括移植性和兼容性,因此 eCos 采用了与 Linux 类似的模块化设计,将不同功能的软件分成不同的组件,这些组件具有可重用性,分别位于系统的不同层次。下图是 eCos 系统的层次结构图。

eCos 的层次结构图

        eCos 操作系统遵循的许可证与 GPL 兼容,而且比 GPL 更自由,用户可以在产品开发中免费的,自由的使用 eCos 操作系统,包括其开发工具;除涉及到对 eCos 系统本身的修改以外,用户的应用程序可以不公开,这一点既显著减少了开发者的开发成本,又最大限度的保护了开发者的利益。

[page]

       eCos 是一个适合于深度嵌入式应用的实时操作系统,提供了普通嵌入式应用中所需要的全部功能,对嵌入式系统开发中涉及到的许多特定技术需求也有很好的支持。

        ⑴ eCos 的调度内核是一个嵌入式硬实时内核,并且内核设计时在调度策略选择、防止优先级反转、中断与异常的处理模式、中断处理的最短延迟以及内存分配方式等方面都做了许多精巧的设计,使其在系统的实时性能上有了良好的表现。

        ⑵ eCos 的硬件抽象层 HAL ( Hardware Abstraction Layer )通过向其他组件提供标准的 API 函数的机制,屏蔽了底层的 CPU 架构与平台的特定信息。这样用户只需编写少量代码就能方便地将 eCos 移植到自己的特定平台上,因此提高了 eCos 的移植能力,迄今为止 eCos 已经成功地移植到了 ARM 、 Fujitsu FR - V 、 Hitachi H8/300 、 Intel x86 、 Matsushita AM3x 、 MIPS 、 NEC V8xx 、 PowerPC 、 Samsung CalmRISC16/32 、 SPARC 、 SPARClite 、 SuperH 等平台上。

        ⑶ ISO 标准 C 库和 math 库支持,兼容各种常见 C 函数和数学函数调用。

        ⑷ 支持 POSIX 和μ ITRON3.0 两种类型的兼容层,使许多在不同平台和系统上开发的应用程序可以比较容易的移植到 eCos 系统上。

        ⑸ 支持完整的 TCP/IP 协议栈,以及上层的各种常用标准协议,便于嵌入式设备的网络连接。

        ⑹ 支持多种外部设备,包括标准串行设备、以太网控制器、 Flash 存储器、 USB 设备、 LCD 显示设备以及 PCI 设备等。

        ⑺ 支持 GDB 调试。 eCos 系统中内嵌了 GDB stub ,通过使用 GDB stub 与 GDB 主机进行通信,用户可以在不使用仿真器的情况下,通过串口或网络对嵌入式目标系统上应用程序进行调试。

        ⑻ 支持多种文件系统,尤其对 JFFS2 文件系统支持良好。

        因此,与绝大多数嵌入式实时操作系统相比较, eCos 在系统可配置性、源码开放性以及功能方面的某些特性上具有较为明显的优势,这也是 eCos 取得成功的主要原因。

       可以认为, eCos 和 Linux 是一脉相承的嵌入式操作系统,首先,它们的功能都非常强大,均包含了嵌入式应用的几乎全部功能,并在不同应用领域相互补充,其次,它们都是遵循 GPL 协议源代码开放的系统,保证了应用系统的可持续开发,最后,它们都遵循 POSIX 标准,保持了良好的兼容性,基于 Linux 的应用程序几乎可以加不改动,直接在 eCos 平台上运行。

        中嵌科技多年来一直跟踪高性价比 RTOS 的发展,并在不同应用领域进行深入的应用研究, eCos 具有比其它 RTOS 更适用于嵌入式工业控制的特点。目前,中嵌科技已成功将 eCos 成功移植到诸如 AT91SAM7 系列、 AT91SAM9 系列、 AT91RM9200 、 EP93XX 系列等多款工业级嵌入式 微处理器上,实现了完整的 TCP/IP 协议栈、 RAM/ROM/JFFS2 文件系统,以及诸如 RS232/RS485 串行接口、 RTC 、 SPI 、 IIC 、 CAN 、 WatchDog 、 ADC 、 DAC 等常用外设的支持,并成功应用到多个工业控制系统。

 

 

 

关键字:嵌入式  实时操作系统应用 引用地址:嵌入式实时操作系统应用分析

上一篇:LPC2292的μC/OS-II硬件抽象层构建
下一篇:基于ARM9的嵌入式LINUX地震数据采集系统设计

推荐阅读最新更新时间:2024-05-02 21:37

采用RTL8019与LPC2210芯片的嵌入式串口服务器设计方案
随着数字信息技术和互联网的广泛应用, 以操作系统和Internet为标志的嵌入式系统是后PC时代发展的趋势。工业上广泛应用的232 /485通信接口与Internet相连接, 使得各种传感器, 控制器及其他设备的数据可以大量的在Internet上传输。 串口服务器由此而生, 通过扩展多串口, 可以在PC端远程监控、管理各种外设, 或对外设进行系统升级。通常串口服务器采用ARM9 微处理器和带TCP / IP协议栈的付费操作系统, 而文中提出的串口服务器是通过移植LW IP协议栈到代码开源的μC /OS - Ⅱ中实现, 这样不但降低成本, 而且代码的编写更加透明、灵活。 1硬件系统的设计 本串口服务器采用Philip s的A
[单片机]
采用RTL8019与LPC2210芯片的<font color='red'>嵌入式</font>串口服务器设计方案
专访Altera副总裁胡勇冕 SoC FPGA瓜分嵌入式大饼
为插旗高性能嵌入式系统,现场可编程闸阵列(FPGA)大厂Altera推出整合安谋国际(ARM)Cortex-A9双核心中央处理器(CPU)的28奈米(nm)系统单晶片(SoC)FPGA--Cyclone V和Arria V,提供嵌入式系统开发商微处理器(MPU)之外的新选择,对既有MPU厂商形成不小威胁。 Altera产品暨企业传讯副总裁胡勇冕表示,新款Cyclone V和Arria V SoC FPGA,整合符合市场运算处理需求的800MHz双核心Cortex-A9处理器,可符合高效能嵌入式系统应用需求,为该公司扩大嵌入式市场版图的重要利器。未来将锁定智慧电网(Smart Grid)、太阳能逆变器(Solar Inverter)、
[嵌入式]
嵌入式处理器的各种类别介绍
嵌入式微处理器(EMPU) 嵌入式微处理器的基础是通用计算机中的CPU.在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都作了各种增强。 和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在1块电路板上,称为单板计算机,如STD-BUS、PC104等。近年来,德国、日本
[嵌入式]
酷芯获授权许可并部署面向嵌入式AI SoC器件的智能视觉平台
CEVA近日宣布中国领先的无人机和机器人系统级芯片(SoC)供应商上海酷芯微电子已经获得CEVA-XM4智能视觉平台的授权许可,并且部署于即将推出的AR9X01人工智能(AI) SoC器件,为计算机视觉和深度学习工作负载提供支持。 酷芯首席技术官沈泊表示:“酷芯不断推动无人机的创新,增加可以提升性能、飞行时间和自主性的新特性和新技术。CEVA-XM4智能视觉平台为我们提供了处理能力和开发套件,在我们的无人机SoC设计中真正发挥AI的威力。” 自公司成立于2011年以来,酷芯一直是无人机市场的领先芯片供应商,迄今为止,其控制器芯片已经助力全球各大无人机制造商的数百万台无人机产品。AR9X01是酷芯至今设计的最复杂芯片,使用多
[嵌入式]
面向数字视频的达芬奇技术
前言 数字视频技术无疑将重塑整个电子行业的面貌。当然,数字视频技术也正在使我们的视频体验、传输以及交互方式发生着深刻的变化。 其已开始进入我们的汽车、计算机、移动电话以及网络。 不过,带来高品质的娱乐享受仅是精彩刚刚开始! 过去,工程师们在实施数字视频时选择非常有限。硬连线以及基于ASIC的方案总是限制着器件的前途及功能,并且也限制它们的自适应性。虽然专用器件的灵活性稍高于ASIC,但是,面对日新月异的多媒体标准与应用,它们的效用仍然很有限。可编程平台虽然是延长产品使用寿命的最灵活的方法,但是,为了打入数字视频技术市场,它们往往需要巨额的软件开发投资。 将数字视频嵌入式应用中的首要难题是:实现视频的复杂性要远远超过简
[应用]
嵌入式TCP/IP协议栈在单片机上的实现
  随着嵌入式设备与网络的日益结合,在单片机系统中引入TCP/IP协议栈,以支持单片机接入网络,成为嵌入式领域的一个重要方向。在此对基于SST89E516RD单片机的TCP/IP协议栈的实现方法给予讨论。选用SST89E516RD单片机实现了在线仿真和编程的功能,大大节约了开发成本。采用VB 6.0语言与Window 98/2000/XP等为软件开发平台,对系统进行了测试。经过几个月的软硬件测试表明:系统设计合理、稳定可靠,已基本实现了最初的设计目标。对其他类似系统移植该项技术奠定了基础,有很好的参考价值。    1 系统硬件实现   整个系统以SST89E516RD单片机为核心,通过RTL8019AS以太网控制芯片实现远
[嵌入式]
ARM在嵌入式linux内核裁剪与移植的应用
微处理器用一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小,重量轻和容易模块化等优点。微处理器的基本组成部分有:寄存器堆、运算器、时序控制电路,以及数据和地址总线。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。而Linux的开放性,使得许多人都认为Linux非常适合多数Intemet设备。Linux操作系统可以支持不同的设备和不同的
[单片机]
TQ2440 学习笔记—— 11、嵌入式编程基础知识【arm-linux-objcopy、objdump选项】
1、arm-linux-objcopy 选项 arm-linux-objcopy 被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。 常用arm-linux-objcopy 来将ELF格式的可执行文件转换为二进制文件。 arm-linux-objcopy 的使用格式如下: 2、arm-linux-objdump 选项 arm-linux-objdump 用于显示二进制文件信息,常用来查看反汇编代码 使用格式如下:
[单片机]
TQ2440 学习笔记—— 11、<font color='red'>嵌入式</font>编程基础知识【arm-linux-objcopy、objdump选项】
小广播
热门活动
换一批
更多
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved