位置:51电子网 » 技术资料 » 测试测量

介绍一种实时操作系统DSP/BIOS

发布时间:2008/5/26 0:00:00 访问次数:529

作者:北京建国门外大街19号国际大厦7楼a-d(10004)德州仪器(中国)有限公司应用工程师 来源:《电子技术应用》

介绍一种实时操作系统dsp/bios 摘要:德州仪器(ti)基于软件开发面临的新的要求,推出了一种新型的实时操作系统 dsp/bios。 运行于该操作系统之上的应用程序在开发时间、软件维护、升级等方面都有了极大的提高。针对 dsp/bios的主要性能加以介绍。 关键词:数字信号处理器(dsp) 实时操作系统(bios)

德州仪器新推出的dspc6400系列最高运行时钟可以达到1.1ghz,运算能力可以达到8800mips。如何充分发挥dsp的这种性能优势,对软件提出了很高的要求。首先为了降低系统成本,就要求将许多以前用硬件实现的功能软件化,原来由多个dsp完成的工作由一块dsp完成,dsp要能够同时完成多个相同或不同的任务而相互之间没有影响。其次为了产品的维护和升级,要求软件尽可能地模块化,使用高级语言如c来编程,有统一的接口api。所有这些新的要求,都需要使用实时操作系统。以往直接将应用程序运行于裸机之上的作法显然已经不再适用了。德州仪器推出的 dsp/bios技术正是基于其多年从事dsp研制生产的经验,为开发者量身定做的一个优秀软件平台。 更可贵的是该操作系统是免费的,这为众多的中小用户使用dsp打开了方便之门。

1 实时操作系统

简单地说,实时操作系统与一般意义上的操作系统(如windows, unix等)的主要差别就在于实时操作系统提供了一种机制,使得运行于其上的应用程序都能够满足实时性的要求。 在windows中常见的沙漏现象(即用户等待现象)在实时系统中是绝对不允许的。因为这可能造成通讯中断,马达损毁等灾难性的结果。 dsp/bios是特别针对实时系统,运行于德州仪器c5000,c6000系列的dsp之上的一个实时操作系统。 dsp/bios实际上是一个可调用的系统模块api的集合。以下就各个模块分别加以介绍。

2 log

在开发的时候通常需要使用printf()来显示当前状态。但是printf()是非常花费时间的函数而且不具有实时性。因为dsp需要对显示的数据进行分析,整理成合适的显示格式,并调用输出显示模块。所以在一个实时性要求很高的应用中,对printf()的调用可能会使系统根本无法满足实时要求。在dsp/bios中引入了一个相应的函数log_printf()。该函数是log 对象的一个方法(或调用函数〕。log对象本质上是一个32bit的整形数,其高低16bit分别代表要显示的两个数据。例1是分别使用printf()和log_printf()作比较的示范程序:

#include <stdio.h>

/* header files needed for dsp bios */

#include <std.h>

#include <log.h>

/* functions */

void func_printf();

void func_log_printf();

/* objects created by the configuration tool */

extern log_obj logtrace;

/*

*======== main =======

作者:北京建国门外大街19号国际大厦7楼a-d(10004)德州仪器(中国)有限公司应用工程师 来源:《电子技术应用》

介绍一种实时操作系统dsp/bios 摘要:德州仪器(ti)基于软件开发面临的新的要求,推出了一种新型的实时操作系统 dsp/bios。 运行于该操作系统之上的应用程序在开发时间、软件维护、升级等方面都有了极大的提高。针对 dsp/bios的主要性能加以介绍。 关键词:数字信号处理器(dsp) 实时操作系统(bios)

德州仪器新推出的dspc6400系列最高运行时钟可以达到1.1ghz,运算能力可以达到8800mips。如何充分发挥dsp的这种性能优势,对软件提出了很高的要求。首先为了降低系统成本,就要求将许多以前用硬件实现的功能软件化,原来由多个dsp完成的工作由一块dsp完成,dsp要能够同时完成多个相同或不同的任务而相互之间没有影响。其次为了产品的维护和升级,要求软件尽可能地模块化,使用高级语言如c来编程,有统一的接口api。所有这些新的要求,都需要使用实时操作系统。以往直接将应用程序运行于裸机之上的作法显然已经不再适用了。德州仪器推出的 dsp/bios技术正是基于其多年从事dsp研制生产的经验,为开发者量身定做的一个优秀软件平台。 更可贵的是该操作系统是免费的,这为众多的中小用户使用dsp打开了方便之门。

1 实时操作系统

简单地说,实时操作系统与一般意义上的操作系统(如windows, unix等)的主要差别就在于实时操作系统提供了一种机制,使得运行于其上的应用程序都能够满足实时性的要求。 在windows中常见的沙漏现象(即用户等待现象)在实时系统中是绝对不允许的。因为这可能造成通讯中断,马达损毁等灾难性的结果。 dsp/bios是特别针对实时系统,运行于德州仪器c5000,c6000系列的dsp之上的一个实时操作系统。 dsp/bios实际上是一个可调用的系统模块api的集合。以下就各个模块分别加以介绍。

2 log

在开发的时候通常需要使用printf()来显示当前状态。但是printf()是非常花费时间的函数而且不具有实时性。因为dsp需要对显示的数据进行分析,整理成合适的显示格式,并调用输出显示模块。所以在一个实时性要求很高的应用中,对printf()的调用可能会使系统根本无法满足实时要求。在dsp/bios中引入了一个相应的函数log_printf()。该函数是log 对象的一个方法(或调用函数〕。log对象本质上是一个32bit的整形数,其高低16bit分别代表要显示的两个数据。例1是分别使用printf()和log_printf()作比较的示范程序:

#include <stdio.h>

/* header files needed for dsp bios */

#include <std.h>

#include <log.h>

/* functions */

void func_printf();

void func_log_printf();

/* objects created by the configuration tool */

extern log_obj logtrace;

/*

*======== main =======

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!