




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,数字信号处理器DigitalSignalProcessorTIDSP软件开发工具CCS(CodeComposerStudio)的使用,2,1CCS集成环境IDE(IntegratedDevelopmentEnvironment),不仅仅是代码生成工具具备基本调试功能,还具备实时分析的能力支持整个软件开发过程:设计代码生成(项目建立,源程序编写,配置文件)调试(语法检查,探测点,日志log功能)实时分析(实时调试,实时状态显示,任务切换跟踪),实时(RealTime)是DSP的灵魂,3,1.1CCS集成环境IDE,4,1.1CCS集成环境IDE的组成,5,1.1CCS集成环境IDE的组成,包括主机和目标系统两部分CCS首先是作为代码生成工具,作为代码生成工具有这样一些输入:配置工具产生的配置文件,DSP/BIOSAPI的库函数。自己的程序文件.c,.h,生成可执行文件主机方:最底层是JTAG,上面是调试器,再上面是CCS的各种插件,包括DSP/BIOS插件(实时调试),还用RTDX(实时数据交换)目标系统一方:最底层是硬件和JTAG,向上是DSP/BIOS实时操作系统(这是可选的也可以没有操作系统,完全自己管理),再向上是应用程序.,6,1.2CCS代码生成工具流图,7,1.2CCS代码生成工具流图,每个白色框代表一种代码生成工具,条纹框是它的输入文件类型比如:C编译器(C程序),汇编优化器(线性汇编程序),汇编器(汇编),建库工具,连接器最后可执行文件由调试器加载目标系统以上的工具时常用和通用的.其它的工具hexconversionutility16进制转换工具,把COFF转换为其它格式文件写到EPROM中cross-referencelister产生交叉参考列表,它列出定义的symbol,定义symbol的行,以及用到symbol的位置(行),还有symbol的类型,编译和连接时分配给symbol的值.absolutelister,产生连接后的coff文件的绝对地址列表Archiver:文档管理工具打包.,8,CCS代码生成工具流图,9,1.3CCS软件,TI公司耗资近2亿美元CCS2.0ForC5000系列CCS2.0ForC6000系列CCS2.0ForDSK(DeveloperStartKit,初学者开发套件)CCS2.1升级包3,10,1.3.1CCS2.0界面(1),11,1.3.1CCS2.0界面(1),CCS提供一个类似VC的集成开发环境,使用比较方便有菜单,工具条,左边是项目窗口,右边是代码编辑窗口(和图形显示窗口),下边是编译器编译结果,和变量显示窗口,和寄存器观察窗口.Project工具条:编译,连接,设置三种点:断点、探点(probe)、时间分析点(profile)调试工具条:程序step运行(4种),连续运行(2种),查看变量、寄存器、存储器,调用堆栈,反汇编窗口Standard工具条:新建,保存,打开,查找,剪贴,Findinfiles功能比较好用编辑工具条:mark(大小括号)查找,缩进(outdent),书签,12,1.3.1CCS2.0界面(2),CCS提供一些类似VC的代码编辑功能语法高亮显示,自动缩近,文字查找等等原程序和反汇编同时显示(逐条语句对应,但优化后是模块对应),13,1.3.2CCS2.0项目管理,应用程序按项目来管理,按层次以图形化的方式显示项目文件(.mak)CMD文件.h头文件.lib库文件.c源程序,14,1.3.3CCS图形化设置,各种编译选项(汇编器选项,连接器选项等)通过图形化方式来设置,不需要手工添加选项,15,1.3.3CCS2.0图形化设置,16,1.3.4CCS2.0调试功能(1),断点设置:多种step方法:singlestep(stepinto);stepover;stepout;runtocursor运行到断点处自动更新窗口观察和编辑变量、寄存器和存储器调用堆栈(callstack),显示函数调用层次关系.补充上电时的工作:$ASM$(simulator,硬件上电复位RESET中断服务程序)c_int00_auto_init(C变量初始化)返回后c_int00调main()函数.Main()完成后,c_int00调exit(1),做一些清楚工作,如关闭打开的文件.exit在调abort,无限循环利用探点(probepoint)流入流出(streaminandout)存储器数据,17,1.3.4CCS2.0调试功能(2),图形化显示数据一维数据,二维图象,眼图等代码剖析(Profile)计算代码运行时间,18,1.3.4CCS2.0调试功能(3),19,1.3.5CCS2.0DSP/BIOS操作系统,DSP/BIOS是一个实时操作系统RTOS提供通常的RTOS的功能(任务调度,任务间通讯)提供驱动程序模型,层次化地设计应用程序DSP/BIOS以CCS插件的形式提供一些实时分析工具程序跟踪:观察任务的调度、切换性能监视:观察CPU的负载状态统计:对事件做统计提供RTDX(实时数据交换),不打断DSP运行的情况下实现主机和DSP的数据交换,20,1.3.6CCS2.0RTDX(1),RTDX,即Real-timeDataExchange提供了一种实时,连续的观测手段,不打断DSP运行(数据可连续观测,也可传回来存储后观测)不打断DSP运行的情况下,主机和DSP间传递数据回传到主机的数据可以在“OLE自动化客户”中显示,21,1.3.6CCS2.0RTDX(2),包括Host方和Target方Target方编程接口RTDXtargetAPIHost方编程接口RTDXCOMAPI(组件对象模型COM是windows下一种编程技术),22,1.3.7CCS2.0界面(2),主机方的RTDX库是和CCS集成在一起的主机一方有一个函数接口,目标方DSP上也有一个函数接口主机应用程序通过COMAPI发送数据到DSP,或接收数据,应用程序可以按自己的方式来显示数据,RTDX可以脱离DSP/BIOS使用,给用户灵活性下一张图是一个例子,用LabView作一个显示界面,LabView调用RTDXAPI得到DSP传来的数据,23,1.3.7CCS2.0界面(2),这是一个fir滤波的例子.HOST原始数据(显示,左上方)(RTDX)dspfilter(RTDX)HOST(显示,左下方)左上方:原始的数据左下方:滤波后数据右上方:dsp的fir滤波后的信号(左下方显示)的功率谱右下方:Labview对原始信号进行fir滤波后的信号的功率谱(对比),24,1.3.8CCS2.0的文件与环境变量,.mak.lib.obj.out.wks(.wks保存当前CCS中的设置:打开的变量窗口,显示的图形。方便,快捷。)可编辑文件:.c.asm.h.cmd(.sa)三个环境变量:C6X_A_DIR,C6X_C_DIR,PATH,25,CCS小结,CCS不仅仅是代码生成工具,对软件开发的各个阶段都有支持提供底层实时操作系统DSP/BIOS提供RTDX新的实时调试手段,与CCS集成,不需要自己添加额外的用于调试的硬件(但是速率比较低),26,2简单程序开发流程(1)建立项目,ProjectNew选择一个目录,生成一个项目文件test.mak,27,2简单程序开发流程(2)添加文件,ProjectAddFilestoProject添加文件(.c,.lib,.cmd,.sa,.asm),1)vectors.asm包含汇编指令处理reset中断服务程序,跳转到Cc的入口.c_int00.2)扫描dependence:.h,28,2简单程序开发流程(3)代码编辑,双击项目窗口的文件名,开始编辑源程序,29,2简单程序开发流程(4)设置编译选项,ProjectOptions,30,2简单程序开发流程(4)设置编译选项,31,2简单程序开发流程(4)设置编译选项,32,2简单程序开发流程(5)Build,Debug,ProjectBuild,33,2简单程序开发流程(6)Debug,加载程序FileLoadProgram设置断点,通过WatchWindow观察变量单步执行,黄色条代表当前执行到那条语句紫色条代表断点位置,34,2简单程序开发流程(7)Profile(剖析),ProfileEnableClock,设置profilepoint(绿色条)每个绿色条在窗口中对应有一行统计数字,用来统计profilepoint(绿色条)之间的时钟数调试器内部有时钟计数,最后查看每一个观测点的运行时间,35,6一些调试经验(1),1)一次新增的调试代码不能过长.2)防御式编程:如通信中的等待时间不能过长3)对感兴趣的事件做记录:中断发生次数,等待超时计数4)CCS的运行中添加断点和运行前添加断点5)窗口刷新的影响:大量的数据更新回影响底层的时序6)随时关系程序运行时间,过长会影响时序,设置计算器.,36,6一些调试经验(2),7)注意数组的越界和指针的使用:也是其它编程通常的错误,这个错误可能其它部分修改,尤其对硬件计数器的修改导致各种错误,调试方法:递进增加代码,看map文件,了解前后关系8)多用服务中断程序,但中断服务程序不能带参数,只有通过全局变量传递值,所以全局变量常用.9)volatile关键字.背景中修改,不被优化掉.10)关于中断嵌套:长中断被频繁中断中断,允许嵌套是,关闭自身,即不允许重入.原因在于打乱时序关系.11)观察中断间的同步:通过设全局变量和记录数组观察嵌套中断发生时被嵌套中断程序的运行状态,37,关于TIDSP软件开发的学习,1)CCS只是一部分Tutorial教程入手(100页左右)。其它的用到的再查用户使用手册UsersGuide2)C的运行环境:C6000的写在优化Ccompilerusersguide中7、8章。包括扩充的C的关键字,编程伪指令,寄存器调用规则,存储器模式,C语言与汇编语言的接口;3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销团队销售业绩分析工具实时数据追踪与评估
- 合规经营区域扩大承诺书3篇
- 哔哩哔哩外科护理学题库及答案
- 大师语录考试题及答案
- 童话中的勇敢冒险故事14篇范文
- 童话小屋的故事作文15篇
- 企业合同审查与签订指南手册
- 生产流程监控与效率分析工具
- 医疗器械质量安全培训课件
- 特种作业设备安全培训课件
- 机关食堂服务员工作职责
- 高中英语3500词词汇
- 四川遂宁历年中考作文题与审题指导(2004-2024)
- 2024秋七年级数学上册 第1章 有理数1.2 数轴、相反数和绝对值 2相反数教学实录(新版)沪科版
- 安全防坠网施工方案
- 六年级语文毕业考试真题集锦(共9套含答案)
- 跨部门药事管理的职责与协作机制
- 新人教版7年级上册英语全册课件(2024年新版教材)
- 老年人防烫伤安全教育
- 第二单元第二节元素教学设计-2024-2025学年九年级化学鲁教版上册
- 有组织科研对高校拔尖创新人才培养的影响机制研究
评论
0/150
提交评论