资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数字信号处理器 Digital Signal Processor 第三部分 TI DSP软件开发工具CCS(Code Composer Studio)的使用纪震博士Dr.Ji Zhen Shenzhen Univ.-Texas Instruments DSPs Lab 2003.021SZUTI DSPs Lab1 CCS集成环境IDE (Integrated Development Environment)n不仅仅是代码生成工具 具备基本调试功能,还具备实时分析的能力 支持整个软件开发过程: 设计 代码生成(项目建立,源程序编写,配置文件) 调试(语法检查,探测点,日志log功能) 实时分析(实时调试,实时状态显示,任务切换跟踪)实时(Real Time)是DSP的灵魂2Dr. JI ZHENSZUTI DSPs Lab1.1 CCS集成环境IDE3Dr. JI ZHENSZUTI DSPs Lab1.1 CCS集成环境IDE的组成4Dr. JI ZHENSZUTI DSPs Lab1.1 CCS集成环境IDE的组成n包括主机和目标系统两部分nCCS 首先是作为代码生成工具,作为代码生成工具有 这样一些输入:配置工具产生的配置文件,DSP/BIOS API的库函数。自己的程序文件.c,.h,生成可执行文 件n主机方:最低层是JTAG,上面是调试器,再上面是CCS 的各种插件,包括DSP/BIOS插件(实时调试),还用 RTDX(实时数据交换)n目标系统一方:最底层是硬件和JTAG,向上是 DSP/BIOS实时操作系统(这是可选的也可以没有操作 系统,完全自己管理),再向上是应用程序.5Dr. JI ZHENSZUTI DSPs Lab1.2 CCS代码生成工具流图6Dr. JI ZHENSZUTI DSPs Lab1.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: 文档管理工具打包.7Dr. JI ZHENSZUTI DSPs LabCCS代码生 成工具流图8Dr. JI ZHENSZUTI DSPs Lab1.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.539Dr. JI ZHENSZUTI DSPs Lab1.3.1 CCS2.0界面(1)10Dr. JI ZHENSZUTI DSPs Lab1.3.1 CCS2.0界面(1)nCCS提供一个类似VC的集成开发环境,使用比较方便n有菜单,工具条,左边是项目窗口,右边是代码编辑窗口(和图形 显示窗口),下边是编译器编译结果,和变量显示窗口,和寄存器 观察窗口.nProject 工具条: 编译,连接,设置三种点:断点、探点( probe)、时间分析点(profile)n调试工具条:程序step运行(4种),连续运行(2种),查看变 量、寄存器、存储器,调用堆栈,反汇编窗口nStandard工具条:新建,保存,打开,查找,剪贴, Find in files功能比较好用n编辑工具条:mark(大小括号)查找,缩进(outdent),书签11Dr. JI ZHENSZUTI DSPs Lab1.3.1 CCS2.0界面(2)nCCS提供一些类似VC的代码编辑功能 语法高亮显示,自动缩近,文字查找等等 原程序和反汇编同时显示(逐条语句对应,但优化后是模块对应)12Dr. JI ZHENSZUTI DSPs Lab1.3.2 CCS2.0项目管理n应用程序按项目 来管理,按层次 以图形化的方式 显示 项目文件(.mak)CMD文件.h头文件.lib库文件.c源程序13Dr. JI ZHENSZUTI DSPs Lab1.3.3 CCS2.0图形化设置n各种编译选 项(汇编器 选项,连接 器选项等) 通过图形化 方式来设置 ,不需要手 工添加选项14Dr. JI ZHENSZUTI DSPs Lab1.3.3 CCS2.0图形化设置15Dr. JI ZHENSZUTI DSPs Lab1.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)存储器数 据16Dr. JI ZHENSZUTI DSPs Lab1.3.4 CCS2.0调试功能(2)n图形化显示数据n一维数据,二维图象,眼图等n代码剖析(Profile)n计算代码运行时间17Dr. JI ZHENSZUTI DSPs Lab1.3.4 CCS2.0调试功能(3)18Dr. JI ZHENSZUTI DSPs Lab1.3.5 CCS2.0 DSP/BIOS操作系统nDSP/BIOS是一个实时操作系统RTOSn提供通常的RTOS的功能(任务调度,任务间通讯)n提供驱动程序模型,层次化地设计应用程序nDSP/BIOS以CCS插件的形式提供一些实时分析工具n程序跟踪:观察任务的调度、切换n性能监视:观察CPU的负载n状态统计:对事件做统计n提供RTDX(实时数据交换),不打断DSP运行的情况下实现主机和 DSP的数据交换19Dr. JI ZHENSZUTI DSPs Lab1.3.6 CCS2.0 RTDX(1)nRTDX,即Real-time Data Exchangen提供了一种实时,连续的观测手段,不打断DSP运 行(数据可连续观测,也可传回来存储后观测)n不打断DSP运行的情况下,主机和DSP间传递数据n回传到主机的数据可以在“OLE自动化客户”中显 示20Dr. JI ZHENSZUTI DSPs Lab1.3.6 CCS2.0 RTDX(2)n包括Host方和Target方nTarget方编程接口 RTDX target APInHost方编程接口 RTDX COM API(组件对象模型COM是windows 下一种编程技术)21Dr. JI ZHENSZUTI DSPs Lab1.3.7 CCS2.0界面(2)n主机方的RTDX库是和CCS集成在一起的n主机一方有一个函数接口,目标方DSP上也有一个函数 接口n主机应用程序通过COM API发送数据到DSP,或接收数 据,应用程序可以按自己的方式来显示数据,nRTDX可以脱离DSP/BIOS使用,给用户灵活性n下一张图是一个例子,用LabView作一个显示界面, LabView调用RTDX API得到DSP传来的数据22Dr. JI ZHENSZUTI DSPs Lab1.3.7 CCS2.0界面(2)这是一个fir滤波的例子. HOST原始数据(显示,左上方 )(RTDX)dspfilter (RTDX)HOST(显示,左下方)左上方: 原始的数据左下方: 滤波后数据右上方: dsp的fir滤波后的 信号(左下方显示)的功率谱右下方: Labview对原始信号 进行fir滤波后的信号的功率 谱(对比)23Dr. JI ZHENSZUTI DSPs Lab1.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,PATH24Dr. JI ZHENSZUTI DSPs LabCCS小结nCCS不仅仅是代码生成工具,对软件开发的各个阶段都 有支持n提供底层实时操作系统DSP/BIOSn提供RTDX新的实时调试手段,与CCS集成,不需要自己 添加额外的用于调试的硬件(但是速率比较低)25Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(1)建立项目nProjectNew 选择一个目录,生成一个项目文件 test.mak26Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(2)添加文件nProjectAdd Files to Project添加文件(.c, .lib,.cmd,.sa,.asm)1)vectors.asm 包含汇编指 令处理reset中断服务程序, 跳转到C c的入口.c_int00. 2)扫描dependence: .h27Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(3)代码编辑n双击项目窗口的文件名,开始编辑源程序28Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(4)设置编译选项nProjectOptions29Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(4)设置编译选项30Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(4)设置编译选项31Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(5)Build,DebugnProjectBuild32Dr. JI ZHENSZUTI DSPs Lab2 简单程序开发流程(6)Debugn加载程序FileLoad Programn设置断点,通过Watch Window观察变量n单步执行黄色条代表当 前执行到那条 语句紫色条代表断 点位置33Dr. JI ZHENSZUTI DSPs Lab2简单程序开发流程(7)Profile(剖析)nProfileEnable Clock设置profile point(绿 色条)每个绿色条在窗口中对 应有一行统计数字,用 来统计profile point( 绿色条)之间的时钟数调试器内部有时钟计数 ,最后查看每一个观测点 的运行时间34Dr. JI ZHENSZUTI DSPs Lab2简单程序开发流程(7)总结n按项目管理n图形化的编译选项设置n提供各种调试功能,断点方式,Profile方式下面介绍一个例子,将学习到probe point(用 于从文件读入数据),图形显示,animation等 调试方法35Dr. JI ZHENSZUTI DSPs Lab3 算法测试和文件IO(1)探点nProbe(探点)1)适合于算法的开发,功能验证2)可以完成这样的功能n从一个文件中读入数据到一个DSP的缓冲区n将一个DSP的缓冲区写到文件中3)探点类似于断点,又不同于断点n运行
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号