嵌入式操作系统管理汇聚应用
当今许多复杂的嵌入式系统要求信号处理和信号控制两种功能。过去这两种功能一直属于数字信号处理器(DSP)和微控制器(MCU)两种独立的器件。然而,最近汇聚处理器已经推出以ADI公司的Blackfin处理器系列为代表的这类器件,将DSP和MCU两种功能集成到一种灵活体系结构中。
尽管有些开发商选择采用面向任务的方法和"微管理"整个系统流程,但仍有许多供应商选择使用内核或操作系统(OS)来完成对系统流程的管理。本文章将讨论软件系统的重要组成并且描述软件之间各自不同的特点。
内核和OS在访问应用程序的内存、数据和执行流程方面都很有用,从而简化了编程模型。当内核提供基本的线程创建和管理时,OS可以在这些基本的调度功能之上提供更多功能--这些功能包括从识别和处理高级I/O端口,跟踪和管理文件到控制多个同步处理器并且确保它们相互之间无干扰。
许多开发商都非常倾向于OS的选择。如果某家公司是在特定的OS上开发多种应用程序,那么局部地根据OS在新平台上的应用情况可能强烈地要求选择下一代处理器。通常,一项应用程序会要求一个适合特定类型环境的OS。实际上,嵌入式OS通常是占用很小的经过优化的程序实体,无需不必要的"点缀程序",所以与基于PC技术的OS有很大区别。这里给出不同OS的其它共同属性:
实时操作系统(RTOS)提供确定性的操作以保证满足系统的时序要求。RTOS通常具有短的等待时间并且以低中断开销实现快速的程序间切换。
多任务OS可控制多个同时运行的应用程序。
多用户OS允许多个用户同时并行访问处理器的资源。
多线程OS允许一个应用程序的几个线程或模块同时运行。
容错OS基于冗余度思想设计,以便当出现"操作失败"(例如,访问某些未授权存储区的代码)时,内核从来不会失去对系统的控制。这意味着保护处理器的资源防止恶意或偶然的误操作,这些误操作来自于像内存管理、硬件错误产生以及异常处理之类的机制中。通常,确保系统安全性和可靠性的OS属于这类OS。
通常,一个给定的OS跨越多种强度区和重点区--例如,安全、性能和代码占用区。当提到这些参数时,没有 "银弹"解决方案,也就是说,如果某种OS有更多的安全特性,那么它只能以牺牲性能或内核的尺寸为代价。
上面我们已经描述了现有的各种类型的OS,下面我们将概括地介绍一下它们为Blackfin处理器提供的一些功能。由于Blackfin处理器是一种汇聚型处理器,所以OS可通过过程管理和调度来有效地管理信号处理和信号控制任务。对于下面提到的每一家特定供应商OS的使用许可信息,请参考相应供应商的网站。
|
OS和内核 |
供应商 |
提供更多信息的网站 |
|
Nucleus PLUS |
Accelerated Technologies 公司 |
http://www.acceleratedtechnology.com/ |
|
VDK kernel |
ADI公司 |
http://www.analog.com/ |
|
ThreadX RTOS |
Express Logic公司 |
http://www.expresslogic.com |
|
INTEGRITY 和 velOSity RTOS |
Green Hills 软件公司 |
http://www.ghs.com/ |
|
RTXC RTOS |
Quadros Systems公司 |
http://www.quadros.com |
|
Fusion RTOS |
Unicoi Systems公司 |
http://www.unicoi.com |
|
uClinux |
开放源代码社团 |
http://blackfin.uclinux.org/ |
ADI公司以最基本的方式提供一种简单且高效的内核,还提供相应的VisualDSP++ Blackfin处理器开发工具套件,简称为"VDK"。它是一种为实现实时性能而提供任务调度和资源配置的首选多任务内核。VDK为许多应用提供一个重要的起点,因为它向基本的系统管理提供目标代码免收软件版税和使用费。另外,它还提供多种调试级别。其基本内存尺寸依所用的线程数量和调试模式变化。VDK根据给定配置中内核的尺寸或者符合最快的Blackfin
处理器内存,或者从外部存储器中调用程序并利用芯片内部的高速缓存提高系统性能。
在汇聚处理器领域,软件开发商总是在寻找允许信号控制和信号处理任务和平共处的方法。Quadros Systems公司的RTXC实时OS正是按照这种意图设计的。它提供了四个可升级的RTOS产品结构。其中RTXC/ss(单栈结构)是一种支持高数据数率和高密集信号处理应用的轻便执行程序。RTXC/ms(多栈结构)提供一种用于控制过程的事件驱动调度程序。
RTXC/dm(双模结构)集成了RTXC/ss 和RTXC/ms以满足汇聚处理器的应用。RTXC/mp(多处理结构)兼备RTXC/dm和RTXC/ms的优点,类似于ADSP-BF561的双核处理器也能够利用RTXC/mp的优势。虽然各RTXC产品占用的内存也不尽相同,但是其最小的配置与Blackfin处理器的内部存储器相适应,较大的配置可利用高速缓存。值得注意的是,Quadros公司还提供多种与其相对应的RTOS协同工作的通信和网络堆栈产品。
Unicoi Systems公司的Fusion RTOS产品是一种经过优化的小尺寸OS以使占用的内存以及任务同步和程序间切换的时间最小。Fusion RTOS是基于Fusion融合技术嵌入式软件的一部分,其中包含一个高性能的网络堆栈。系统分析器工具还可以提供对任务执行程序的深入了解。
明导资讯(Mentor Graphics)公司的分公司Accelerated Technology公司提供的带Nucleus PLUS RTOS以及多种Blackfin处理器的中间软件。它还提供基本的调试支持软件。该OS所需的内存尺寸取决于系统中所用的具体结构。
Green Hills 软件公司提供两款流行RTOS产品。第一种产品是velOSity微内核,是一种为适合低成本和资源受限应用的高性能免费使用的系统。它高度集成了Green Hills公司的MULTI集成开发环境,该开发环境也适用于Blackfin 处理器。因为velOSity注重系统性能所以从来不禁止系统调用中断,以便提供最快的中断响应时间。
Green Hills公司的第二类产品是INTEGRITY RTOS。它利用Blackfin处理器内存管理单元的保护功能以达到最大的可靠性和安全性。例如,INTEGRITY RTOS提供安全区划分来确保每一项任务正确运行时所需的系统资源,从而保护OS和用户任务不受错误或恶意代码的破坏。
Express Logic公司提供的ThreadX RTOS注重中断服务程序的速度。Express Logic公司提供多种补充软件,包括网络堆栈和图形库。另外,它也为双内核ADSP-BF561处理器提供对称多处理器负载平衡的支持。除了VisualDSP++开发环境外,集成的ThreadX RTOS在VisualDSP++环境和Green Hills公司的MULTI环境下都可运行。
作为最终值得注意的可选方案是嵌入式Linux, 它是基于Blackfin处理器的大用户。网站blackfin.uclinux.org提供专门用于Blackfin处理器的中心知识库和开放源代码工作区。与我们上面讨论的其它内核和OS相比,uCLinux内核代码运行时所需的内存较大,但可通过使用高速缓存来解决这一问题,所以这种程序代码可在较大的外部存储器中运行以获得很好的性能。
uCLinux系统和全Linux系统的主要区别是uCLinux系统不支持虚拟内存。使用uCLinux系统的主要优势在于其免费使用特性和已经在公共区域存在大的代码基地。uCLinux系统中所有的软件都通过了GNU的通用公共许可证(GPL),并且可登录上述的网站下载支持软件。
总而言之,在汇聚处理器领域提供了许多OS。开发商需要首先确定系统要求,然后着手为其应用程序选择合适的OS。
本文来源:中国信息产业网 作者:
关于嵌入式操作系统 管理汇聚应用 Linux 的资讯
热点资讯(一周点击率)
最受工程师关注文章
热评博文
评一评已有 0 位网友对此文发表了看法。 我也来评一下

