欢迎来到天天文库
浏览记录
ID:27656095
大小:242.76 KB
页数:8页
时间:2018-12-05
《介绍实时操作系统dsp-bios》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、介绍实时操作系统DSP/BIOS的应用2011/06/12DSPC6400系列是徳州仪器棊于软件开发而临的新耍求而推出的,其最高运行吋钟可以达到1.1GHz,运算能力可以达到8800MIPS。如何充分犮挥DSP的这种性能优势,对软件提出了很高的要求。首先为了降低系统成本,就耍求将许多以前用硬件实现的功能软件化,原來由多个DSP完成的I:作山一块DSP完成,DSP要能够同时完成多个相同或不同的任务而相互之间没冇影响。其次力丫产品的维护和升级,要求软件尽可能地模块化,使用高级语言如C来编程,有统一的接口APL所有这些新的要求,都需要使用实时操作系统。以往茛接将应用程序运行丁•裸机之上的作法显然
2、己经不再适用了。徳州仪器推出的DSP/BIOS技术正是基于其多年从事DSP研制生产的经验,为开发奍呈身定做的一个优秀软件平台。更可贵的是该操作系统是免费的,这为众多的中小用户使用DSP打开了方便之门。1、实时操作系统简单地说,实吋操作系统与-•般意义上的操作系统(如Windows,Unix等)的主要差别就在于实吋操作系统提供了一种机制,使得运行于其上的应用程序都能够满足实吋性的耍求。在Windows中常见的沙漏现象(即用户等待现象)在实时系统屮是绝对不允许的。因为这可能造成通讯屮断,马达损毀等灾难性的结果。DSP/BIOS是特别针对实时系统,运行于徳州仪器C5000、C6000系列的DSP
3、之上的一个实时操作系统。DSP/BIOS实际上坫一个可调川的系统模块API的集合。以下就各个模块分别加以介绍。2、LOG在开发的吋候通常需耍使用printf()來显示当前状态。但是printf()是非常花费吋间的函数,而且不具宥实时性。因为DSP需要对显示的数据进行分析,整理成合适的显示格式,并调用输出显示模块。所以在一个实时性耍求很岛的应川屮,对printf()的调川讨能会使系统根木无法满足实时耍求。在DSP/BIOS中引入了一个相应的函数LOG_printf()。该蚋数足LOG对象的一个力‘法(或调川函数)。LOG对象本质上是一个32bit的幣形数,K高低16bit分别代表要显示的两个
4、数据。例1是分别使用printf()和LOG_printfO作比较的示范程序:include/*HeaderfilesneededforDSPBIOS*/includeinclude/*functions*/voidfunc_printf();voidfunc_LOG_printf():Z*ObjectscreatedbytheConfigurationTool*7externLOG_ObjlogTrace;/**========main========*/voidmain(){return;}voidfunc一printf(inttime){printf(*Strartprintfdem
5、o");printf("Currenttime=%d",time):printf("Endprintfdemo”;return;}voidfunc_LOG_printf(inttime){LOG_printf(&logTrace/fStrartLOG^printfdemo):LOG_printf(&logTrace/’Currenttime=%dwtime);LOG_printf(&logTrace,"EndLOG_printfdemo"):return;}func_printf()和func_LOG_printf()由DSP内时钟控制每100ms周期性地分别调用一次。通过对printf(
6、)和LOG_printf()运行时间作比较发现,在C6211运行在150MHz的情况下,printf()需花费4000个周期约26.7ps,LOG_printf()只花费36个周期约0.24ps.printf()比LOG_printf()多开销100倍以上的吋间,因此LOG_printf()对于实吋地显示一些运行状态是非常有帮助的。而且对于熟悉C语言的开发者来说,LOG_printf()的调用格式几乎与printf()完全一样。3、STS对•个软件进行分析优化吋,通常会川到profile的功能。但足在实吋运行的DSP的环境中使川profile等效于加入了多个程序断点。由于现在的DSP通常具
7、有很深的流水线结构来保证DSP的髙运算能力,如徳州仪器的C6000系列的流水线长度为12级,程序断点盂耍排空所旮已经进入流水线的指令。这样也就破坏了真正的运行环境。同时profile还必须调用输出模块向主机传递时间信息。因此在profile的情况下真正的实时运行环境是没冇办法得到保护的。DSP/BIOS针对这种怙况引入丫一个统计模块STS.STS对象只冇4个数据Previous、Count、Total和Max。调川的力•
此文档下载收益归作者所有