资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1数字信号处理器 Digital Signal Processor TI DSP软件开发工具CCS(Code Composer Studio)的使用21 CCS集成环境IDE (Integrated Development Environment)n不仅仅是代码生成工具 具备基本调试功能,还具备实时分析的能力 支持整个软件开发过程: 设计 代码生成(项目建立,源程序编写,配置文件) 调试(语法检查,探测点,日志log功能) 实时分析(实时调试,实时状态显示,任务切换跟踪)实时(Real Time)是DSP的灵魂31.1 CCS集成环境IDE41.1 CCS集成环境IDE的组成51.1 CCS集成环境IDE的组成n包括主机和目标系统两部分nCCS 首先是作为代码生成工具,作为代码生成工具有 这样一些输入:配置工具产生的配置文件,DSP/BIOS API的库函数。自己的程序文件.c,.h,生成可执行文 件n主机方:最低层是JTAG,上面是调试器,再上面是CCS 的各种插件,包括DSP/BIOS插件(实时调试),还用 RTDX(实时数据交换)n目标系统一方:最底层是硬件和JTAG,向上是 DSP/BIOS实时操作系统(这是可选的也可以没有操作 系统,完全自己管理),再向上是应用程序.61.2 CCS代码生成工具流图71.2 CCS代码生成工具流图n每个白色框代表一种代码生成工具,条纹框是它的输入文件 类型n比如:C编译器(C程序),汇编优化器(线性汇编程序), 汇编器(汇编),建库工具,连接器n最后可执行文件由调试器加载目标系统以上的工具时常用和 通用的.n其它的工具nhex conversion utility 16进制转换工具,把COFF 转换为其 它格式文件写到EPROM中ncross-reference lister 产生交叉参考列表, 它列出定义 的symbol, 定义symbol的行, 以及用到symbol的位置(行),还 有symbol的类型, 编译和连接时分配给symbol的值.nabsolute lister, 产生连接后的coff文件的绝对地址列表nArchiver: 文档管理工具打包.8CCS代码生 成工具流图91.3 CCS软件nTI公司耗资近2亿美元nCCS2.0 For C5000系列nCCS2.0 For C6000系列nCCS2.0 For DSK (Developer Start Kit,初学者开发套件)nCCS2.1升级包http:/192.168.14.53101.3.1 CCS2.0界面(1)111.3.1 CCS2.0界面(1)nCCS提供一个类似VC的集成开发环境,使用比较方便n有菜单,工具条,左边是项目窗口,右边是代码编辑窗口(和 图形显示窗口),下边是编译器编译结果,和变量显示窗口, 和寄存器观察窗口.nProject 工具条: 编译,连接,设置三种点:断点、探点( probe)、时间分析点(profile)n调试工具条:程序step运行(4种),连续运行(2种),查 看变量、寄存器、存储器,调用堆栈,反汇编窗口nStandard工具条:新建,保存,打开,查找,剪贴, Find in files功能比较好用n编辑工具条:mark(大小括号)查找,缩进(outdent),书 签121.3.1 CCS2.0界面(2)nCCS提供一些类似VC的代码编辑功能语法高亮显示,自动缩近,文字查找等等原程序和反汇编同时显示(逐条语句对应,但优化后是模块对应)131.3.2 CCS2.0项目管理n应用程序按项 目来管理,按 层次以图形化 的方式显示项目文件(.mak)CMD文件.h头文件.lib库文件.c源程序141.3.3 CCS2.0图形化设置n各种编译选 项(汇编器 选项,连接 器选项等) 通过图形化 方式来设置 ,不需要手 工添加选项151.3.3 CCS2.0图形化设置161.3.4 CCS2.0调试功能(1)n断点设置:多种step方法: single step(step into); step over; step out; run to cursorn运行到断点处自动更新窗口n观察和编辑变量、寄存器和存储器n调用堆栈(call stack),显示函数调用层次关系. 补充上 电时的工作:$ASM$(simulator, 硬件上电复位RESET中断服 务程序)c_int00_auto_init(C变量初始化)返回后 c_int00调main()函数. Main()完成后,c_int00调exit(1), 做一些清楚工作,如关闭打开的文件.exit在调abort,无限循 环n利用探点(probe point)流入流出(stream in and out)存储 器数据171.3.4 CCS2.0调试功能(2)n图形化显示数据n一维数据,二维图象,眼图等n代码剖析(Profile)n计算代码运行时间181.3.4 CCS2.0调试功能(3)191.3.5 CCS2.0 DSP/BIOS操作系统nDSP/BIOS是一个实时操作系统RTOSn提供通常的RTOS的功能(任务调度,任务间通讯)n提供驱动程序模型,层次化地设计应用程序nDSP/BIOS以CCS插件的形式提供一些实时分析工具n程序跟踪:观察任务的调度、切换n性能监视:观察CPU的负载n状态统计:对事件做统计n提供RTDX(实时数据交换),不打断DSP运行的情况下实现主机 和DSP的数据交换201.3.6 CCS2.0 RTDX(1)nRTDX,即Real-time Data Exchangen提供了一种实时,连续的观测手段,不打断DSP 运行(数据可连续观测,也可传回来存储后观测 )n不打断DSP运行的情况下,主机和DSP间传递数据n回传到主机的数据可以在“OLE自动化客户”中显 示211.3.6 CCS2.0 RTDX(2)n包括Host方和Target方nTarget方编程接口 RTDX target APInHost方编程接口 RTDX COM API(组件对象模型COM是windows 下一种编程技术)221.3.7 CCS2.0界面(2)n主机方的RTDX库是和CCS集成在一起的n主机一方有一个函数接口,目标方DSP上也有一个 函数接口n主机应用程序通过COM API发送数据到DSP,或接收 数据,应用程序可以按自己的方式来显示数据,nRTDX可以脱离DSP/BIOS使用,给用户灵活性n下一张图是一个例子,用LabView作一个显示界面 ,LabView调用RTDX API得到DSP传来的数据231.3.7 CCS2.0界面(2)这是一个fir滤波的例子. HOST原始数据(显示,左上方 )(RTDX)dspfilter (RTDX)HOST(显示,左下方)左上方: 原始的数据左下方: 滤波后数据右上方: dsp的fir滤波后的 信号(左下方显示)的功率谱右下方: Labview对原始信号 进行fir滤波后的信号的功率 谱(对比)241.3.8 CCS2.0的文件与环境变量n.mak .lib .obj .out .wks(.wks 保存当前CCS中的设置:打开的变量窗口, 显示的图形。方便,快捷。)n可编辑文件:.c .asm .h .cmd (.sa)n三个环境变量:C6X_A_DIR,C6X_C_DIR,PATH25CCS小结nCCS不仅仅是代码生成工具,对软件开发的各个阶 段都有支持n提供底层实时操作系统DSP/BIOSn提供RTDX新的实时调试手段,与CCS集成,不需要 自己添加额外的用于调试的硬件(但是速率比较低 )262 简单程序开发流程(1)建立项目nProjectNew 选择一个目录,生成一个项目文件 test.mak272 简单程序开发流程(2)添加文件nProjectAdd Files to Project添加文件(.c, .lib,.cmd,.sa,.asm)1)vectors.asm 包含汇编指 令处理reset中断服务程序, 跳转到C c的入口.c_int00. 2)扫描dependence: .h282 简单程序开发流程(3)代码编辑n双击项目窗口的文件名,开始编辑源程序292 简单程序开发流程(4)设置编译选项nProjectOptions302 简单程序开发流程(4)设置编译选项312 简单程序开发流程(4)设置编译选项322 简单程序开发流程(5)Build,DebugnProjectBuild332 简单程序开发流程(6)Debugn加载程序FileLoad Programn设置断点,通过Watch Window观察变量n单步执行黄色条代表当 前执行到那条 语句紫色条代表断 点位置342简单程序开发流程(7)Profile(剖析)nProfileEnable Clock设置profile point(绿 色条)每个绿色条在窗口中对 应有一行统计数字,用 来统计profile point( 绿色条)之间的时钟数调试器内部有时钟计数 ,最后查看每一个观测点 的运行时间352简单程序开发流程(7)总结n按项目管理n图形化的编译选项设置n提供各种调试功能,断点方式,Profile方式下面介绍一个例子,将学习到probe point(用 于从文件读入数据),图形显示,animation等 调试方法363 算法测试和文件IO(1)探点nProbe(探点)1)适合于算法的开发,功能验证2)可以完成这样的功能n从一个文件中读入数据到一个DSP的缓冲区n将一个DSP的缓冲区写到文件中3)探点类似于断点,又不同于断点n运行到Probe point,DSP会停顿下来n完成一些动作后(读写文件),程序继续运行4)文件输入输出的设置:FileFile I/O5) Probe的设置:类似断点的设置(用工具条)373 算法测试和文件IO(1)探点383算法测试和文件IO(2)图形nCCS支持一维图形,二维图象(标准的数据格式),眼 图等显示方式n有放大、缩小等功能n可以方便直观地判断算法执行的效果393算法测试和文件IO(3)GELnGELGeneral Extension Languagen一种类似C的解释型语言,可实现循环等程序结构n提供基本的程序控制命令,类似以前emulator提供的 命令,GEL_Go(),GEL_Reset()等等n可以制作菜单(可以加入到CCS主菜单),对话框,滑 动条404基于DSP/BIOS程序的调试(1)nDSP/BIOS提供“虚拟仪器”的调试方法n以图形化的方式观察程序执行的流向,任务如何调 度、切换的n以图形化的方式观看CPU LOAD(CPU负荷),了解 CPU还有多大的运算能力n应用程序必须是基于DSP/BIOS的程序, DSP/BIOS提供 图形化的界面设置各个模块的参数414 基于DSP/BIOS程序的调试(1)424 基于DSP/BIOS程序的调试(2)n通过RTA设置观看的内容n通过Execution Graph观察任务切换n通过CPU Load Graph观察CPU负荷n用过STS观察事件的统计n都是DSP/BIOS提供的功能434基于DSP/BIOS程序的调试(2)445 基于RTDX的实时调试(1)n可以实时地对DSP进行调试,不打断DSP的运行n可以在不打断DSP运行的情况下,在Host和DSP之间传 递数据n是一个双向数据通道,既可以用来为主机收集目标系 统的数据,也可以用来调整目标系统的参数n可以和主机的应用程序集成,实现自己的用户界面( 而不是在CCS环境中455 基于RTDX的实时调试(2)nRTDX包括Host和Target两部分n主机应用程序通过COM API与RTDX 库通讯,目标系统上也有RTDX的 函数接口n主机库支持两种接收数据模式: 连续、非连续n连续模式下,RTDX库只是缓冲数 据,适合只显示、不存储的应用 程序n非连续模式下,接
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号