IDSP软件开发工具CCS的使用

上传人:资****亨 文档编号:488563326 上传时间:2024-05-13 格式:PPT 页数:41 大小:1.18MB
返回 下载 相关 举报
IDSP软件开发工具CCS的使用_第1页
第1页 / 共41页
IDSP软件开发工具CCS的使用_第2页
第2页 / 共41页
IDSP软件开发工具CCS的使用_第3页
第3页 / 共41页
IDSP软件开发工具CCS的使用_第4页
第4页 / 共41页
IDSP软件开发工具CCS的使用_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《IDSP软件开发工具CCS的使用》由会员分享,可在线阅读,更多相关《IDSP软件开发工具CCS的使用(41页珍藏版)》请在金锄头文库上搜索。

1、1数字信号处理器数字信号处理器 Digital Signal ProcessorTI DSP软件开发工具软件开发工具 CCS(Code Composer Studio)的使用的使用.21 CCS集成环境IDE(Integrated Development Environment)n不仅仅是代码生成工具不仅仅是代码生成工具具备基本调试功能,还具备实时分析的能力具备基本调试功能,还具备实时分析的能力支持整个软件开发过程:支持整个软件开发过程:设计设计代码生成代码生成(项目建立,源程序编写,项目建立,源程序编写,配置文件配置文件)调试调试(语法检查,语法检查,探测点探测点,日志,日志log功能功能)

2、实时分析实时分析(实时调试,实时状态显示,任务切换跟踪实时调试,实时状态显示,任务切换跟踪)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实时操作系统(这是可

3、选的也可以没有操作系统,完全自己管理),再向上是应用程序.61.2 CCS1.2 CCS代码生成工具流图代码生成工具流图71.2 CCS CCS代码生成工具流图代码生成工具流图n每个白色框代表一种代码生成工具,条纹框是它的输入文件类型n比如:C编译器(C程序),汇编优化器(线性汇编程序),汇编器(汇编),建库工具,连接器n最后可执行文件由调试器加载目标系统以上的工具时常用和通用的.n其它的工具nhex conversion utility 16进制转换工具,把COFF 转换为其它格式文件写到EPROM中ncross-reference lister 产生交叉参考列表,它列出定义的symbol,

4、定义symbol的行,以及用到symbol的位置(行),还有symbol的类型,编译和连接时分配给symbol的值.nabsolute lister,产生连接后的coff文件的绝对地址列表nArchiver:文档管理工具打包.8CCSCCS代码生代码生成工具流图成工具流图91.3 CCS 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

5、.1 CCS2.0界面(1)nCCS提供一个类似VC的集成开发环境,使用比较方便n有菜单,工具条,左边是项目窗口,右边是代码编辑窗口(和图形显示窗口),下边是编译器编译结果,和变量显示窗口,和寄存器观察窗口.nProject 工具条:编译,连接,设置三种点:断点、探点(probe)、时间分析点(profile)n调试工具条:程序step运行(4种),连续运行(2种),查看变量、寄存器、存储器,调用堆栈,反汇编窗口nStandard工具条:新建,保存,打开,查找,剪贴,Find in files功能比较好用n编辑工具条:mark(大小括号)查找,缩进(outdent),书签121.3.1 CCS

6、2.0界面(2)nCCS提供一些类似VC的代码编辑功能语法高亮显示,自动缩近,文字查找等等原程序和反汇编 同时显示(逐条 语句对应,但优化 后是模块对应)131.3.2 CCS2.0项目管理n应用程序按项目来管理,按层次以图形化的方式显示项目文件(.mak)CMD文件.h头文件.lib库文件.c源程序141.3.3 CCS 图形化设置n各种编译选项(汇编器选项,连接器选项等)通过图形化方式来设置,不需要手工添加选项151.3.3 CCS2.0图形化设置161.3.4 CCS2.0调试功能(1)n断点设置:多种step方法:single step(step into);step over;ste

7、p 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

8、一维数据,二维图象,眼图等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

9、 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主机应用程序通

10、过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的文件

11、与环境变量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)添加文件

12、nProjectAdd Files to Project添加文件(.c,.lib,.cmd,.sa,.asm)1 1)vectors.asm vectors.asm 包含汇编指包含汇编指令处理令处理resetreset中断服务程序,中断服务程序,跳转到跳转到C cC c的入口的入口.c_int00.c_int00.2 2)扫描扫描dependencedependence:.h.h282 简单程序开发流程(3)代码编辑n双击项目窗口的文件名,开始编辑源程序292 简单程序开发流程(4)设置编译选项nProjectOptions302 简单程序开发流程(4)设置编译选项312 简单程序开发流程(4

13、)设置编译选项322 简单程序开发流程(5)Build,DebugnProjectBuild332 简单程序开发流程(6)Debugn加载程序FileLoad Programn设置断点,通过Watch Window观察变量n单步执行黄色黄色条代表当条代表当前执行到那条前执行到那条语句语句紫色紫色条代表断条代表断点位置点位置342简单程序开发流程(7)Profile(剖析)nProfileEnable Clock设置设置profile point(绿绿色条色条)每个绿色条在窗口中对每个绿色条在窗口中对应有一行统计数字,用应有一行统计数字,用来统计来统计profile point(绿色条)之间的时

14、钟绿色条)之间的时钟数数调试器内部有时钟计数,调试器内部有时钟计数,最后查看每一个观测点最后查看每一个观测点的运行时间的运行时间356 一些调试经验(1)n1)1)一次新增的调试代码不能过长一次新增的调试代码不能过长.n2)2)防御式编程防御式编程:如通信中的等待时间不能过长如通信中的等待时间不能过长n3)3)对感兴趣的事件做记录对感兴趣的事件做记录:中断发生次数中断发生次数,等待超时计等待超时计数数n4)CCS4)CCS的运行中添加断点和运行前添加断点的运行中添加断点和运行前添加断点n5)5)窗口刷新的影响窗口刷新的影响:大量的数据更新回影响底层的时序大量的数据更新回影响底层的时序n6)6)

15、随时关系程序运行时间随时关系程序运行时间,过长会影响时序过长会影响时序,设置计算设置计算器器.366 一些调试经验(2)n7)7)注意数组的越界和指针的使用注意数组的越界和指针的使用:也是其它编程通常的错误也是其它编程通常的错误,这这个错误可能其它部分修改个错误可能其它部分修改,尤其对硬件计数器的修改导致各种错尤其对硬件计数器的修改导致各种错误误,调试方法调试方法:递进增加代码递进增加代码,看看mapmap文件文件,了解前后关系了解前后关系n8)8)多用服务中断程序多用服务中断程序,但中断服务程序不能带参数但中断服务程序不能带参数,只有通过全只有通过全局变量传递值局变量传递值,所以全局变量常用

16、所以全局变量常用.n9)volatile 9)volatile 关键字关键字.背景中修改背景中修改,不被优化掉不被优化掉.n10)10)关于中断嵌套:关于中断嵌套:长中断被频繁中断中断,允许嵌套是,关闭长中断被频繁中断中断,允许嵌套是,关闭自身,即不允许重入自身,即不允许重入.原因在于打乱时序关系原因在于打乱时序关系.n1111)观察中断间的同步:通过设全局变量和记录数组观察嵌套中)观察中断间的同步:通过设全局变量和记录数组观察嵌套中断发生时被嵌套中断程序的运行状态断发生时被嵌套中断程序的运行状态37关于TI DSP软件开发的学习n1)CCS1)CCS只是一部分只是一部分 TutorialTutorial教程入手(教程入手(100100页左右)。其它页左右)。其它的用到的再查用户使用手册的用到的再查用户使用手册UserUsers Guides Guiden2 2)C C 的运行环境:的运行环境:C6000C6000的写在优化的写在优化C compiler userC compiler users s guideguide中中7 7、8 8章。包括扩充的章。包括扩充的C C的关键字,编程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号