DSP BIOS使用总结.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP BIOS使用总结

DSP/BIOS 实现实时数据调试和交换 DSP所面临的系统越来越复杂,诸如多任务处理,烦琐的硬件设备管理,实时数据处理及传送等等,传统的DSP编程越来越难以胜任. TI公司推出的BIOS可以支持以上功能,它提供了众多的模块及面向用户的API接口,包括多优先级多任务系统调度,内存管理,硬件DRIVER抽象,以及数字信号处理所独特的实时数据调试及交换的支持. BIOS中的图形化管理界面 先介绍一下BIOS中的图形化管理界面:DSP/BIOS CONFIGURATION TOOLS。在 CCS 集成 开发环境中打开FILE - NEW - DSP/BIOS CONFIGURATION,就可以看到DSP/CONFIGURATION TOOLS, 在这里用图形化的界面集中管理所有的BIOS模块,包括硬中断,软中断,任务,时钟,管道等,在每个模块下都可以添加新的对象以及编辑它的属性,添加完对象会在工程中自动生成相应的代码,用户程序中只需声明此对象,然后调用它的API函数就可以了。 下面主要介绍数字信号处理所独特的实时数据调试及交换 在通常的软件调试中如何去观察变量?很简单,我们会单步运行或者设置断点,然后在WATCH窗口中观察变量的值.这种经典的调试方法在数字信号处理中捉荆见拙,因为我们面对的是实时任务,程序的停顿会使我们面对的系统面目全非.DSP/BIOS的解决方案是提供LOG模块, 在目标DSP内,LOG对象将要监控的信息实时的捕捉存放在DSP的特定缓冲LOG BUFFER中,在DSP进入空闲的时刻通过JTAG接口传回主机,主机端的CCS集成环境将接受数据并显示在打开的LOG观察窗口中,从而不打断正常的程序运行情况下,获取必要的调试信息。 LOG模块 下面介绍如何使用LOG模块。在现有的工程中打开DSP/BIOS CONFIGURATION TOOL,在LOG模块上单击右键选择INSERT LOG,然后修改新添加的对象名为 LogTarget. 在程序里添加以下代码 #include #include extern far LOG_Obj logTarget; //声明为外部对象 func() { LOG_printf( logTarget, … ); } 这样就完成了调试数据向主机的传送。在运行代码前,我们打开DSP/BIOS-MESSAGE LOG,在打开的LOG窗口中,单击右键打开PROPERTY PAGE,选择Name为LogTarget. 然后运行 代码,LOG.printf会将所需的信息打印到打开的LOG窗口中,这样能够在不影响系统运行的时候,观察变量,打印信息了. 另一个重要的用于实时调试的模块是STS,用于提供在程序运行中的各种统计数据,如运行时间,特定的变量等。在DSP中,STS将所要统计的数据放在一组32位的变量,同样在DSP进入IDLE时刻,将数据通过JTAG接口传送给主机中的64位变量进行统计,并清除DSP中的32位变量。 STS模块 (续致信网上一页内容)下面介绍一下STS的使用 在工程中打开DSP/CONFIGURATION TOOLS,并在STS模块下添加一个对象stsObj. 在程序里添加以下代码 #include #include extern far STS_Obj stsObj; //通常有三种使用方法 //1。统计消耗的时钟数 func() { STS_set( stsObj, CLK_gethtime()); //设置一个起始时刻 do algorithm//运行算法 STS_delta(stsObj, CLK_gethtime()); //得到自上一个STS_set到目前的时钟数 } //2。统计变化的变量 func() { STS_add( stsObj, pitch);//将变量pitch在一段循环中的最大值,平均值及总和打印出来 } //3。统计变量改变的差值 STS_set( stsObj,targetValue); processing S

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档