TIDSP软件开发工具CCS的使用课件

上传人:我*** 文档编号:144992473 上传时间:2020-09-15 格式:PPT 页数:40 大小:1.15MB
返回 下载 相关 举报
TIDSP软件开发工具CCS的使用课件_第1页
第1页 / 共40页
TIDSP软件开发工具CCS的使用课件_第2页
第2页 / 共40页
TIDSP软件开发工具CCS的使用课件_第3页
第3页 / 共40页
TIDSP软件开发工具CCS的使用课件_第4页
第4页 / 共40页
TIDSP软件开发工具CCS的使用课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

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

1、1,1 CCS集成环境IDE(Integrated Development Environment),不仅仅是代码生成工具 具备基本调试功能,还具备实时分析的能力 支持整个软件开发过程: 设计 代码生成(项目建立,源程序编写,配置文件) 调试(语法检查,探测点,日志log功能) 实时分析(实时调试,实时状态显示,任务切换跟踪),实时(Real Time)是DSP的灵魂,2,1.1 CCS集成环境IDE,3,1.1 CCS集成环境IDE的组成,4,1.1 CCS集成环境IDE的组成,包括主机和目标系统两部分 CCS 首先是作为代码生成工具,作为代码生成工具有这样一些输入:配置工具产生的配置文件,

2、DSP/BIOS API的库函数。自己的程序文件.c,.h,生成可执行文件 主机方:最底层是JTAG,上面是调试器,再上面是CCS的各种插件,包括DSP/BIOS插件(实时调试),还用RTDX(实时数据交换) 目标系统一方:最底层是硬件和JTAG,向上是DSP/BIOS实时操作系统(这是可选的也可以没有操作系统,完全自己管理),再向上是应用程序.,5,1.2 CCS代码生成工具流图,6,1.2 CCS代码生成工具流图,每个白色框代表一种代码生成工具,条纹框是它的输入文件类型 比如:C编译器(C程序),汇编优化器(线性汇编程序),汇编器(汇编),建库工具,连接器 最后可执行文件由调试器加载目标系

3、统以上的工具时常用和通用的. 其它的工具 hex conversion utility 16进制转换工具,把COFF 转换为其它格式文件写到EPROM中 cross-reference lister 产生交叉参考列表, 它列出定义的symbol, 定义symbol的行, 以及用到symbol的位置(行),还有symbol的类型, 编译和连接时分配给symbol的值. absolute lister, 产生连接后的coff文件的绝对地址列表 Archiver: 文档管理工具打包.,7,CCS代码生 成工具流图,8,1.3 CCS软件,TI公司耗资近2亿美元 CCS2.0 For C5000系列

4、CCS2.0 For C6000系列 CCS2.0 For DSK (Developer Start Kit,初学者开发套件) CCS2.1升级包 http:/192.168.14.53,9,1.3.1 CCS2.0界面(1),10,1.3.1 CCS2.0界面(1),CCS提供一个类似VC的集成开发环境,使用比较方便 有菜单,工具条,左边是项目窗口,右边是代码编辑窗口(和图形显示窗口),下边是编译器编译结果,和变量显示窗口,和寄存器观察窗口. Project 工具条: 编译,连接,设置三种点:断点、探点(probe)、时间分析点(profile) 调试工具条:程序step运行(4种),连续运

5、行(2种),查看变量、寄存器、存储器,调用堆栈,反汇编窗口 Standard工具条:新建,保存,打开,查找,剪贴, Find in files功能比较好用 编辑工具条:mark(大小括号)查找,缩进(outdent),书签,11,1.3.1 CCS2.0界面(2),CCS提供一些类似VC的代码编辑功能 语法高亮显示,自动缩近,文字查找等等 原程序和反汇编 同时显示(逐条 语句对应,但优化 后是模块对应),12,1.3.2 CCS2.0项目管理,应用程序按项目来管理,按层次以图形化的方式显示 项目文件(.mak) CMD文件 .h头文件 .lib库文件 .c源程序,13,1.3.3 CCS 图形

6、化设置,各种编译选项(汇编器选项,连接器选项等)通过图形化方式来设置,不需要手工添加选项,14,1.3.3 CCS2.0图形化设置,15,1.3.4 CCS2.0调试功能(1),断点设置:多种step方法: single step(step into); step over; step out; run to cursor 运行到断点处自动更新窗口 观察和编辑变量、寄存器和存储器 调用堆栈(call stack),显示函数调用层次关系. 补充上电时的工作:$ASM$(simulator, 硬件上电复位RESET中断服务程序)c_int00_auto_init(C变量初始化)返回后c_int00

7、调main()函数. Main()完成后,c_int00调exit(1),做一些清楚工作,如关闭打开的文件.exit在调abort,无限循环 利用探点(probe point)流入流出(stream in and out)存储器数据,16,1.3.4 CCS2.0调试功能(2),图形化显示数据 一维数据,二维图象,眼图等 代码剖析(Profile) 计算代码运行时间,17,1.3.4 CCS2.0调试功能(3),18,1.3.5 CCS2.0 DSP/BIOS操作系统,DSP/BIOS是一个实时操作系统RTOS 提供通常的RTOS的功能(任务调度,任务间通讯) 提供驱动程序模型,层次化地设计应

8、用程序 DSP/BIOS以CCS插件的形式提供一些实时分析工具 程序跟踪:观察任务的调度、切换 性能监视:观察CPU的负载 状态统计:对事件做统计 提供RTDX(实时数据交换),不打断DSP运行的情况下实现主机和DSP的数据交换,19,1.3.6 CCS2.0 RTDX(1),RTDX,即Real-time Data Exchange 提供了一种实时,连续的观测手段,不打断DSP运行(数据可连续观测,也可传回来存储后观测) 不打断DSP运行的情况下,主机和DSP间传递数据 回传到主机的数据可以在“OLE自动化客户”中显示,20,1.3.6 CCS2.0 RTDX(2),包括Host方和Targ

9、et方 Target方编程接口 RTDX target API Host方编程接口 RTDX COM API(组件对象模型COM是windows下一种编程技术),21,1.3.7 CCS2.0界面(2),主机方的RTDX库是和CCS集成在一起的 主机一方有一个函数接口,目标方DSP上也有一个函数接口 主机应用程序通过COM API发送数据到DSP,或接收数据,应用程序可以按自己的方式来显示数据, RTDX可以脱离DSP/BIOS使用,给用户灵活性 下一张图是一个例子,用LabView作一个显示界面,LabView调用RTDX API得到DSP传来的数据,22,1.3.7 CCS2.0界面(2)

10、,这是一个fir滤波的例子. HOST原始数据(显示,左上方)(RTDX)dspfilter (RTDX)HOST(显示,左下方) 左上方: 原始的数据 左下方: 滤波后数据 右上方: dsp的fir滤波后的信号(左下方显示)的功率谱 右下方: Labview对原始信号进行fir滤波后的信号的功率谱(对比),23,1.3.8 CCS2.0的文件与环境变量,.mak .lib .obj .out .wks (.wks 保存当前CCS中的设置:打开的变量窗口,显示的图形。方便,快捷。) 可编辑文件:.c .asm .h .cmd (.sa) 三个环境变量:C6X_A_DIR,C6X_C_DIR,P

11、ATH,24,CCS小结,CCS不仅仅是代码生成工具,对软件开发的各个阶段都有支持 提供底层实时操作系统DSP/BIOS 提供RTDX新的实时调试手段,与CCS集成,不需要自己添加额外的用于调试的硬件(但是速率比较低),25,2 简单程序开发流程(1)建立项目,ProjectNew 选择一个目录,生成一个项目文件test.mak,26,2 简单程序开发流程(2)添加文件,ProjectAdd Files to Project添加文件(.c,.lib,.cmd,.sa,.asm),1)vectors.asm 包含汇编指令处理reset中断服务程序,跳转到C c的入口.c_int00. 2)扫描d

12、ependence: .h,27,2 简单程序开发流程(3)代码编辑,双击项目窗口的文件名,开始编辑源程序,28,2 简单程序开发流程(4)设置编译选项,ProjectOptions,29,2 简单程序开发流程(4)设置编译选项,30,2 简单程序开发流程(4)设置编译选项,31,2 简单程序开发流程(5)Build,Debug,ProjectBuild,32,2 简单程序开发流程(6)Debug,加载程序FileLoad Program 设置断点,通过Watch Window观察变量 单步执行,黄色条代表当前执行到那条语句 紫色条代表断点位置,33,2简单程序开发流程(7)Profile(剖

13、析),ProfileEnable Clock,设置profile point(绿色条) 每个绿色条在窗口中对应有一行统计数字,用来统计profile point(绿色条)之间的时钟数 调试器内部有时钟计数, 最后查看每一个观测点的运行时间,34,6 一些调试经验(1),1)一次新增的调试代码不能过长. 2)防御式编程: 如通信中的等待时间不能过长 3)对感兴趣的事件做记录: 中断发生次数, 等待超时计数 4)CCS的运行中添加断点和运行前添加断点 5)窗口刷新的影响: 大量的数据更新回影响底层的时序 6)随时关系程序运行时间, 过长会影响时序,设置计算器.,35,6 一些调试经验(2),7)注

14、意数组的越界和指针的使用: 也是其它编程通常的错误, 这个错误可能其它部分修改, 尤其对硬件计数器的修改导致各种错误, 调试方法: 递进增加代码, 看map文件,了解前后关系 8)多用服务中断程序, 但中断服务程序不能带参数, 只有通过全局变量传递值, 所以全局变量常用. 9)volatile 关键字. 背景中修改, 不被优化掉. 10)关于中断嵌套: 长中断被频繁中断中断,允许嵌套是,关闭自身,即不允许重入. 原因在于打乱时序关系. 11)观察中断间的同步:通过设全局变量和记录数组观察嵌套中断发生时被嵌套中断程序的运行状态,36,关于TI DSP软件开发的学习,1)CCS只是一部分 Tuto

15、rial教程入手(100页左右)。其它的用到的再查用户使用手册Users Guide 2)C 的运行环境:C6000的写在优化C compiler users guide中7、8章。包括扩充的C的关键字,编程伪指令,寄存器调用规则,存储器模式,C语言与汇编语言的接口; 3)CPU和汇编语言:耗时长的部分用汇编写。C6000写线性汇编要了解CPU结构。 4)硬件知识:其实是不应该省略的。难点:中断,DMA,IO口。中断的实现过程,花点时间最后了解到clk级。 5)参考书:要真正开发应用还要读英文材料。 DSP集成开发与应用实例,张雄伟,电子工业,2002.CCS介绍比较全面,37,CCS Tutorial,Help-Tutorial,TI公司的推广活动,TI课程截图,40,Thanks for your time!,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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