TI DSP软件开发工具CCS的使用课件.pptVIP

  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文档。上传文档
查看更多
* 2 简单程序开发流程(4)设置编译选项 * 2 简单程序开发流程(5)Build,Debug Project?Build * 2 简单程序开发流程(6)Debug 加载程序File?Load Program… 设置断点,通过Watch Window观察变量 单步执行 黄色条代表当前执行到那条语句 紫色条代表断点位置 * 2简单程序开发流程(7)Profile(剖析) Profile?Enable Clock 设置profile point(绿色条) 每个绿色条在窗口中对应有一行统计数字,用来统计profile point(绿色条)之间的时钟数 调试器内部有时钟计数, 最后查看每一个观测点的运行时间 * 2简单程序开发流程(7)总结 按项目管理 图形化的编译选项设置 提供各种调试功能,断点方式,Profile方式 下面介绍一个例子,将学习到probe point(用于从文件读入数据),图形显示,animation等调试方法 * 3 算法测试和文件IO(1)探点 Probe(探点) 1)适合于算法的开发,功能验证 2)可以完成这样的功能 从一个文件中读入数据到一个DSP的缓冲区 将一个DSP的缓冲区写到文件中 3)探点类似于断点,又不同于断点 运行到Probe point,DSP会停顿下来 完成一些动作后(读写文件),程序继续运行 4)文件输入输出的设置:File?File I/O… 5) Probe的设置:类似断点的设置(用工具条) * 3 算法测试和文件IO(1)探点 * 3算法测试和文件IO(2)图形 CCS支持一维图形,二维图象(标准的数据格式),眼图等显示方式 有放大、缩小等功能 可以方便直观地判断算法执行的效果 * 3算法测试和文件IO(3)GEL GEL=General Extension Language 一种类似C的解释型语言,可实现循环等程序结构 提供基本的程序控制命令,类似以前emulator提供的命令,GEL_Go(),GEL_Reset()等等 可以制作菜单(可以加入到CCS主菜单),对话框,滑动条 * 4基于DSP/BIOS程序的调试(1) DSP/BIOS提供“虚拟仪器”的调试方法 以图形化的方式观察程序执行的流向,任务如何调度、切换的 以图形化的方式观看CPU LOAD(CPU负荷),了解CPU还有多大的运算能力 应用程序必须是基于DSP/BIOS的程序, DSP/BIOS提供图形化的界面设置各个模块的参数 * 4 基于DSP/BIOS程序的调试(1) * 4 基于DSP/BIOS程序的调试(2) 通过RTA设置观看的内容 通过Execution Graph观察任务切换 通过CPU Load Graph观察CPU负荷 用过STS观察事件的统计 都是DSP/BIOS提供的功能 * 4基于DSP/BIOS程序的调试(2) * 5 基于RTDX的实时调试(1) 可以实时地对DSP进行调试,不打断DSP的运行 可以在不打断DSP运行的情况下,在Host和DSP之间传递数据 是一个双向数据通道,既可以用来为主机收集目标系统的数据,也可以用来调整目标系统的参数 可以和主机的应用程序集成,实现自己的用户界面(而不是在CCS环境中 * 5 基于RTDX的实时调试(2) RTDX包括Host和Target两部分 主机应用程序通过COM API与RTDX库通讯,目标系统上也有RTDX的函数接口 主机库支持两种接收数据模式: 连续、非连续 连续模式下,RTDX库只是缓冲数据,适合只显示、不存储的应用程序 非连续模式下,接收的数据被写入一个日志( LOG )文件中,适合需要存储数据的应用程序 * 6 一些调试经验(1) 1)一次新增的调试代码不能过长. 2)防御式编程: 如通信中的等待时间不能过长 3)对感兴趣的事件做记录: 中断发生次数, 等待超时计数 4)CCS的运行中添加断点和运行前添加断点 5)窗口刷新的影响: 大量的数据更新回影响底层的时序 6)随时关系程序运行时间, 过长会影响时序,设置计算器. * 6 一些调试经验(2) 7)注意数组的越界和指针的使用: 也是其它编程通常的错误, 这个错误可能其它部分修改, 尤其对硬件计数器的修改导致各种错误, 调试方法: 递进增加代码, 看map文件,了解前后关系 8)多用服务中断程序, 但中断服务程序不能带参数, 只有通过全局变量传递值, 所以全局变量常用. 9)volatile 关键字. 背景中修改, 不被优化掉. 10)关于中断嵌套: 长中断被频繁中断中断,允许嵌套是,关闭自身,即不允许重入. 原因在于打乱时序关系. 11)观察中断间的同步:通过设全局变量和记录数组观察嵌套中断发生时被嵌套

文档评论(0)

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

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

1亿VIP精品文档

相关文档