- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
应对无线多媒体挑战
多堆栈实现
与单堆栈RTOS不同,控制RTOS使用多堆栈,这样可为大量的任务提供分离和控制。由于堆栈必须在上下关系切换时间或发生中断时交换,因此它的效率不高。然而,堆栈在一个特定任务内多少有点独立的,与RTOS保持分离,即便是某些任务失败时也还要继续进行下去。
这类RTOS涉及更多的设计复杂性,应用开发人员通常自己不编写,而是倾向于购买现成的多堆栈RTOS。由于市场需求量大,很多RTOS供应商,包括Wind River、Enea、 Green Hills、Quadros等都提供多驱动、多堆栈RTOS。
多堆栈内核程序既是传统的,又是灵活的一种多任务内核体系结构,旨在下列应用中使用:通信、汽车、过程控制以及仪表系统。
这种体系结构对需要快速中断响应时间和在任务间快速而又确定的切换的系统是十分理想的。每个任务都有自己的堆栈,让它与系统事件同步;它清空系统堆栈,供处理内核服务程序以及中断服务例行程序使用。
每个堆栈都具有自己的优先权,缺省的任务调度策略是根据优先权来抢先的。多堆栈调度表将处理器控制权指定给准备运行的最高优先权任务。当较高优先权任务准备运行而低优先权任务控制着处理器时,调度表会抢占低优先权任务,将处理器控制权授予较高优先权任务中的一个。除了抢先调度安排,对同等优先权任务,内核程序还支持循环配置和时间分片调度。某些堆栈RTOS允许使用有别于时间的其它变量,让时间分片成为制约任务执行持续时间的通用解决方案。
在很多多堆栈环境中,除了任务还有3种附加代码实体:内核服务API、内核服务程序以及中断服务例行程序。任务和中断服务例行程序执行应用要求的操作,并通过它们相关联的API功能调用内核服务程序来影响系统的行为。
多堆栈内核程序支持内核目标代码的类别,而内核服务程序支持这些目标代码。设置目标代码是为:任务同步、传送数据、管理事件与计数器、报警、管理内存以及专用实体访问。凭借系统设计知识,系统开发人员可用实用程序来选择目标代码类别以及它们的属性,以便调整代码的大小和满足应用要求最佳配置的内核特性。多堆栈内核程序的规模是随它最初定位的应用而变化的,通常RTXC多堆栈RTOS在4.5KB与20KB这间,这取决于处理器和编释器的效率。
开发的双重任务
通常MCU和DSP软件开发组是两个独立的设计组,每个设计组可自由地选择自己的RTOS和开发工具,并启用从自己选择供应商处提供的软件堆栈。然而,开发组现在面对融合处理技术,事实上是同一个处理器。
为了更好地阐明这一问题,我们更详尽地考虑每个处理器模型的RTOS要求。DSP具有数据流特性,一个过程连续地对一组数组执行某个算法,同时产生另一组数组,并将它传递给序列中另一级。DSP处理过程常常涉及有严格采样和处理要求的高频I/O,因而RTOS以最小等待时间来响应中断是至关重要的。
理想地,RTOS在DSP过程的执行周期间保存和恢复最少量内容,以及在过程调度表和内核服务程序两者中提供最低开销。实时或控制过程则能随时中止或等待同步事件的发生。为了支持这类要求,控制应用常使用多任务RTOS,,其中的调度表来确定那一个任务取得RTOS,其中的调度表来确定哪一个任务取得CPU的控制权。一旦过程发生变化,RTOS必须保存和恢复过程的内容,这一操作会涉及传送大量字节并耗费众多处理周期。这类操作让处理器有可能根据系统的动态来中止或启动某个过程,虽然这一特性控制过程是十分理想的,但对DSP并不需要。
对这类新型的融合处理体系结构,最重要的是开发人员并行地管理高数据率、面向数组的处理过程和事件驱动的控制过程,且具有使用与专用 的MCU或DSP同样高的效率。在这样模式中,理想的RTOS在某些时刻像低开销,轻便的DSP;而在其它时刻又像复杂的多任务RTOS。
为了让融合处理更有效,RTOS应工作在混合模式或双模模式。双模RTOS用公共API将实时控制过程用的传统任务基内核体系结构和DSP与数据流用专用单堆栈执行方式有机地组合在一起。这种统一的RTOS解决方案有可能让两类应用代码充分地优化在单个处理器上执行。在双模RTOS中,为开发人员充分地提供了内核功能以及单堆栈与多堆栈服务程序的全部功能,并用配置工具进行调整来符合应用的要求。
用优先法管理线程和任务
既然两种处理模型能成功地共存在单内核体系结构中,双模RTOS使用3个独立的优先区。中断服务占据最高优先权(1区),即优先于其它区中的所有的操作。2区是中等优先权,是给单堆栈数据流操作保留的,包括所有的线程操作和多堆栈组件的内核操作。3区则用来处理其余所有的任务操作以及系统初始化与调用供内核服务程序用的API库,在1区和2区没有操作时才执行3区操作。
在这一模型中,执行线程的数据流应用总是有比控制面任务更高的优先权。也就是说,语音和频视处理一类数据流程操作,若按线程组织的话,可抢占任何任务,在返回至被抢占任务前完成操作。任务基操作在2区操作之间中取得处理器的控制权。在RTXC/dm内核中,线程与任务共存,因而任务可启动线程。由于2区的优先权高于3区,所以任务启动的线程拥有绝对抢先权。
结语
融合处理体系结构整合了微控制器功能和信号处理功能,标志着硅器件生产厂家目前的最高水平。与此同时,新体系结构迫切需要新一代实时操作系统,以便实现能充分发挥较高级处理能力的应用。双模RTOS将等待时间协同调度表和优先化的、能抢占的、事件驱动调度表有机地组合在统一的、集成的实时操作系统中。它也能提供多任务与单核心两种内核的全部芯心功能。这样,可以让各类开发人员在一个自己熟悉的、轻松的环境中得心应手地编写符合应用的要求的程序代码。
来源:网络通信中国
上一篇:安全网关新疆电信应用案例
下一篇:基于IMS技术的视频共享业务