ADI已将Quadros Systems公司的RTXC移植到Blackfin处理器上
发布时间:2007/9/11 0:00:00 访问次数:522
ADI和嵌入式操作系统供应商Quadros系统公司已经联手推出了一套互补性的创新解决方案,它可以为许多嵌入式计算板卡省去一个大型器件,而且可能最终将影响到系统级芯片的设计。
ADI已经将RTXC Quadros移植到其Blackfin处理器上。该双模操作系统为DSP和RISC应用提供了单一的应用编程接口,更为重要的是,它为中断驱动控制代码和面向流处理的DSP代码提供了一个单一的任务管理环境。
该操作系统的通用版本需要27到30KB的存储器。两家公司均表示,在实际应用中,可以将该存储空间压缩掉近20%。
目前,整个系统是为静态的设计期间任务分配而设计的。该系统将运行在多内核的Blackfin芯片上。Quadros和一个合作伙伴正在考虑将动态任务分配作为未来一个可能的特性。
这一创新的基础首先来自于ADI的Blackfin DSP架构。“Blackfin研制当初只有一个关键的目标:即提供一个开发人员可将信号处理代码和控制代码混合在单一处理器上的架构。”ADI的产品行销经理Wayne Meyer说。为了实现这个目标,Blackfin包含了长信号处理指令和较短的类似RISC的指令,并具有这样一种控制结构,它允许DSP操作在出现中断、上下文切换和其它控制代码常见的异常情况下,仍能以一种合理的方式继续进行。该器件甚至为信号处理和RISC类操作混合采用了中间结果暂存器和常规高速缓存。因此,Blackfin提供了一个C语言控制代码和优化的DSP循环能够共存的一个平台。
在ADI研发Blackfin的同时,Quadros公司也意识到市场需要一个允许将控制和信号处理代码融入到单一硬件的平台,并因此而开发了RTXC Quadros。一旦双方开始互相了解,Quadros移植到Blackfin上就是一件很自然的事情了。
这种新操作系统有明确的机制保持控制和DSP代码运行,并满足各自的最终期限。这种非同寻常表现的关键所在就是该操作系统有两个上下文结构:用于控制代码的多栈结构和用于信号处理代码的单栈结构。
在多栈模式下,任务和上下文的处理方式与其它高级实时操作系统相差无几。不过,在单栈模式下,情况就不同了。取代任务的是与上下文无关的轻量级线程。所有线程通常都能成功执行完,因此这个模式下的多任务通常在一种协作模式下完成。
当两种模式结合进同一操作系统时,这是非常关键的。这种结合通过划分三个所谓的“区间”得以实现,简单说就是三个优先级。置于顶层区间的是有硬件延时需求的硬件驱动服务例程,在系统中拥有最高优先权。中间区间有两种模式:多栈控制器和具有多个线程的单栈控制器。位于第三层区间,也就是优先权最低的是受多栈模块控制的应用任务以及与操作系统相关的任务,比如说启动代码。
如同它显示出来的一样,技术对Quadros和ADI而言只是第一道障碍。他们面临的下一个障碍是文化。DSP代码和控制代码通常由一个设计团队的不同成员通过使用非常不同的工具进行编写,因此把两种代码放进单一处理器的整个概念很有可能导致在任何一个人弄清它们是如何工作以前就引起冲突。
此外,该方案的购买者来自三个非常不同的背景,Quadros的行销总监Stephen Martin指出。只使用过RISC处理器的设计团队也许要经过大量的学习,才能明白为什么DSP线程与常规C++任务的处理方式不同。反之,纯DSP背景的团队也存在相同的问题。“DSP领域仍然有很多专有的公司内核,”Martin表示,“RTXC Quadros的许多设计仍然没有可将其看作是内核的部分。这对他们来说将非常不习惯。”
或许在第三类人中,该产品最容易销售出去。此类设计队伍正在使用一个带有强大DSP芯片和RISC CPU的板卡。这些团队可能欢迎这样的解决方案:只需一套API,一个调试环境和一套建模工具。Blackfin版本的操作系统预计会在2005年初上市。
作者: 张国勇
ADI和嵌入式操作系统供应商Quadros系统公司已经联手推出了一套互补性的创新解决方案,它可以为许多嵌入式计算板卡省去一个大型器件,而且可能最终将影响到系统级芯片的设计。
ADI已经将RTXC Quadros移植到其Blackfin处理器上。该双模操作系统为DSP和RISC应用提供了单一的应用编程接口,更为重要的是,它为中断驱动控制代码和面向流处理的DSP代码提供了一个单一的任务管理环境。
该操作系统的通用版本需要27到30KB的存储器。两家公司均表示,在实际应用中,可以将该存储空间压缩掉近20%。
目前,整个系统是为静态的设计期间任务分配而设计的。该系统将运行在多内核的Blackfin芯片上。Quadros和一个合作伙伴正在考虑将动态任务分配作为未来一个可能的特性。
这一创新的基础首先来自于ADI的Blackfin DSP架构。“Blackfin研制当初只有一个关键的目标:即提供一个开发人员可将信号处理代码和控制代码混合在单一处理器上的架构。”ADI的产品行销经理Wayne Meyer说。为了实现这个目标,Blackfin包含了长信号处理指令和较短的类似RISC的指令,并具有这样一种控制结构,它允许DSP操作在出现中断、上下文切换和其它控制代码常见的异常情况下,仍能以一种合理的方式继续进行。该器件甚至为信号处理和RISC类操作混合采用了中间结果暂存器和常规高速缓存。因此,Blackfin提供了一个C语言控制代码和优化的DSP循环能够共存的一个平台。
在ADI研发Blackfin的同时,Quadros公司也意识到市场需要一个允许将控制和信号处理代码融入到单一硬件的平台,并因此而开发了RTXC Quadros。一旦双方开始互相了解,Quadros移植到Blackfin上就是一件很自然的事情了。
这种新操作系统有明确的机制保持控制和DSP代码运行,并满足各自的最终期限。这种非同寻常表现的关键所在就是该操作系统有两个上下文结构:用于控制代码的多栈结构和用于信号处理代码的单栈结构。
在多栈模式下,任务和上下文的处理方式与其它高级实时操作系统相差无几。不过,在单栈模式下,情况就不同了。取代任务的是与上下文无关的轻量级线程。所有线程通常都能成功执行完,因此这个模式下的多任务通常在一种协作模式下完成。
当两种模式结合进同一操作系统时,这是非常关键的。这种结合通过划分三个所谓的“区间”得以实现,简单说就是三个优先级。置于顶层区间的是有硬件延时需求的硬件驱动服务例程,在系统中拥有最高优先权。中间区间有两种模式:多栈控制器和具有多个线程的单栈控制器。位于第三层区间,也就是优先权最低的是受多栈模块控制的应用任务以及与操作系统相关的任务,比如说启动代码。
如同它显示出来的一样,技术对Quadros和ADI而言只是第一道障碍。他们面临的下一个障碍是文化。DSP代码和控制代码通常由一个设计团队的不同成员通过使用非常不同的工具进行编写,因此把两种代码放进单一处理器的整个概念很有可能导致在任何一个人弄清它们是如何工作以前就引起冲突。
此外,该方案的购买者来自三个非常不同的背景,Quadros的行销总监Stephen Martin指出。只使用过RISC处理器的设计团队也许要经过大量的学习,才能明白为什么DSP线程与常规C++任务的处理方式不同。反之,纯DSP背景的团队也存在相同的问题。“DSP领域仍然有很多专有的公司内核,”Martin表示,“RTXC Quadros的许多设计仍然没有可将其看作是内核的部分。这对他们来说将非常不习惯。”
或许在第三类人中,该产品最容易销售出去。此类设计队伍正在使用一个带有强大DSP芯片和RISC CPU的板卡。这些团队可能欢迎这样的解决方案:只需一套API,一个调试环境和一套建模工具。Blackfin版本的操作系统预计会在2005年初上市。
作者: 张国勇
上一篇:TI测量仪器用片上信号链 MCU