1、CCS教程DSP开发软件CCS教程(DSP开发软件)第一章 CCS概述 11.1 CCS概述 11.2 代码生成工具 31.3 CCS集成开发环境 51.3.1 编辑源程序 51.3.2创建应用程序 61.3.3 调试应用程序 61.4 DSP/BIOS 插件 71.4.1 DSP/BIOS 配置 71.4.2 DSP/BIOS API 模块 81.5 硬件仿真和实时数据交换 101.6 第三方插件 131.7 CCS文件和变量 141.7.1安装文件夹 141.7.2文件扩展名 141.7.3环境变量 151.7.4增加DOS环境空间 16第二章 开发一个简单的应用程序 172.1 创建工程
2、文件 172.2 向工程添加文件 192.3 查看源代码 212.4 编译和运行程序 232.5 修改程序选项和纠正语法错误 242.6 使用断点和观察窗口 262.7 使用观察窗口观察structure变量 282.8 测算源代码执行时间 292.9 进一步探索 312.10进一步学习 31第三章 开发DSP/BIOS程序 323.1 创建配置文件 323.2 向工程添加DSP/BIOS文件 343.3 用CCS 测试 363.4 测算DSP/BIOS代码执行时间 383.5 进一步探索 403.6 进一步学习 40第四章 算法和数据测试 414.1 打开和查看工程 414.2 查看源程序
3、434.3 为I/O文件增加探针断点 454.4 显示图形 474.5 执行程序和绘制图形 484.6 调节增益 504.7 观察范围外变量 514.8 使用GEL文件 534.9 调节和测试processing函数 544.10 进一步探索 564.11 进一步学习 57第五章 程序调试 585.1 打开和查看工程 585.2 查看源程序 605.3 修改配置文件 635.4 用Execution Graph查看任务执行情况 665.5 修改和查看load值 675.6 分析任务的统计数据 705.7 增加STS显式测试 725.8 观察显式测试统计数据 735.9 进一步探索 755.10
4、 进一步学习 75第六章 实时分析 766.1 打开和查看工程 766.2 修改配置文件 776.3 查看源程序 796.4 使用RTDX控制修改运行时的load值 816.5 修改软中断优先级 846.6 进一步探索 856.7 进一步学习 85第七章 I/O 867.1 打开和查看工程 867.2 查看源程序 877.3 Signalprog应用程序 907.4 运行应用程序 917.5 使用HST和PIP模块修改源程序 937.6 HST和PIP资料 967.7 在配置文件中增加通道和SWI 977.8 运行修改后的程序 1007.9 进一步学习 100第一章 CCS概述本章概述CCS(
5、Code Composer Studio)软件开发过程CCS组件及CCS使用的文件和变量CCS提供了配置建立调试跟踪和分析程序的工具,它便于实时嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率1.1 CCS概述CCS提供了基本的代码生成工具,它们具有一系列的调试分析能力CCS支持如下所示的开发周期的所有阶段在使用本教程之前,必须完成下述工作: 安装目标板和驱动软件按照随目标板所提供的说明书安装如果你正在用仿真器或目标板,其驱动软件已随目标板提供,你可以按产品的安装指南逐步安装 安装CCS.遵循安装说明书安装如果你已有CCS仿真器和TMS320c54X代码生成工具,但没有完整的C
6、CS,你可以按第二章和第四章所述的步骤进行安装 运行CCS安装程序SETUP. 你可以按步骤执行第二章和第四章的实验SETUP程序允许CCS使用为目标板所安装的驱动程序CCS包括如下各部分: CCS代码生成工具:参见1.2节 CCS集成开发环境(IDE):参见1.3节 DSP/BIOS插件程序和API:参见1.4节 RTDX插件主机接口和API:参见1.5节CCS构成及接口见图1-1图1-1 CCS构成及接口1.2 代码生成工具 代码生成工具奠定了CCS所提供的开发环境的基础图1-2是一个典型的软件开发流程图,图中阴影部分表示通常的C语言开发途径,其它部分是为了强化开发过程而设置的附加功能图1
7、-2 软件开发流程图1-2描述的工具如下: C编译器(C compiler) 产生汇编语言源代码,其细节参见TMS320C54x最优化C编译器用户指南 汇编器(assembler) 把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF),其细节参见TMS320C54x汇编语言工具用户指南 连接器(linker) 把多个目标文件组合成单个可执行目标模块它一边创建可执行模块,一边完成重定位以及决定外部参考连接器的输入是可重定位的目标文件和目标库文件,有关连接器的细节参见TMS320C54x最优化C编译器用户指南和汇编语言工具用户指南 归档器(archiver)允许你把一组文
8、件收集到一个归档文件中归档器也允许你通过删除替换提取或添加文件来调整库,其细节参见TMS320C54x汇编语言工具用户指南 助记符到代数汇编语言转换公用程序(mnimonic_to_algebric assembly translator utility)把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件,其细节参见TMS320C54x汇编语言工具用户指南 你可以利用建库程序(library_build utility)建立满足你自己要求的“运行支持库”,其细节参见TMS320C54x最优化C编译器用户指南 运行支持库(run_time_support libraries) 它
9、包括C编译器所支持的ANSI标准运行支持函数编译器公用程序函数浮点运算函数和C编译器支持的I/O函数,其细节参见TMS320C54x最优化C编译器用户指南 十六进制转换公用程序(hex conversion utility) 它把COFF目标文件转换成TI-TaggedASCII-hex Intel Motorola-S或 Tektronix 等目标格式,可以把转换好的文件下载到EPROM编程器中,其细节参见TMS320C54x汇编语言工具用户指南 交叉引用列表器(cross_reference lister)它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件,其细节参见T
10、MS320C54x汇编语言工具用户指南 绝对列表器(absolute lister)它输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成1.3 CCS集成开发环境CCS集成开发环境(IDE)允许编辑编译和调试DSP目标程序1.3.1 编辑源程序CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显示汇编指令的方式来查看C源程序集成编辑环境支持下述功能: 用彩色加亮关键字注释和字符串 以圆括弧或大括弧标记C程序块,查找匹配块或下一个圆括弧或大括弧 在一个或多个文件中查找和替代字符串,能够实现快速搜索
11、 取消和重复多个动作 获得“上下文相关”的帮助 用户定制的键盘命令分配1.3.2创建应用程序应用程序通过工程文件来创建工程文件中包括C源程序汇编源程序目标文件库文件连接命令文件和包含文件编译汇编和连接文件时,可以分别指定它们的选项在CCS中,可以选择完全编译或增量编译,可以编译单个文件,也可以扫描出工程文件的全部包含文件从属树,也可以利用传统的makefiles文件编译1.3.3 调试应用程序CCS提供下列调试功能: 设置可选择步数的断点 在断点处自动更新窗口 查看变量 观察和编辑存储器和寄存器 观察调用堆栈 对流向目标系统或从目标系统流出的数据采用探针工具观察,并收集存储器映象 绘制选定对象
12、的信号曲线 估算执行统计数据 观察反汇编指令和C指令CCS提供GEL语言,它允许开发者向CCS菜单中添加功能1.4 DSP/BIOS 插件在软件开发周期的分析阶段,调试依赖于时间的例程时,传统调试方法效率低下DSP/BIOS插件支持实时分析,它们可用于探测跟踪和监视具有实时性要求的应用例程,下图显示了一个执行了多个线程的应用例程时序图1-3 应用例程中各线程时序DSP/BIOS API 具有下列实时分析功能: 程序跟踪(Program tracing)显示写入目标系统日志(target log)的事件,反映程序执行过程中的动态控制流 性能监视(Performance monitoring)跟踪
13、反映目标系统资源利用情况的统计表,诸如处理器负荷和线程时序 文件流(File streaming)把常驻目标系统的I/O对象捆绑成主机文档DSP/BIOS 也提供基于优先权的调度函数,它支持函数和多优先权线程的周期性执行1.4.1 DSP/BIOS 配置在CCS环境中,可以利用DSP/BIOS API定义的对象创建配置文件,这类文件简化了存储器映象和硬件ISR矢量映象,所以,即使不使用DSP/BIOS API 时,也可以使用配置文件配置文件有两个任务: 设置全局运行参数 可视化创建和设置运行对象属性,这些运行对象由目标系统应用程序的DSP/BIOS API函数调用,它们包括软中断,I/O管道和
14、事件日志在CCS中打开一个配置文件时,其显示窗口如下:DSP/BIOS对象是静态配置的,并限制在可执行程序空间范围内,而运行时创建对象的API调用需要目标系统额外的开销(尤其是代码空间)静态配置策略通过去除运行代码能够使目标程序存储空间最小化,能够优化内部数据结构,在程序执行之前能够通过确认对象所有权来及早地检测出错误保存配置文件时将产生若干个与应用程序联系在一起的文件,这些文件的细节参见1.7.21.4.2 DSP/BIOS API 模块传统调试(debuging)相对于正在执行的程序而言是外部的,而DSP/BIOS API要求将目标系统程序和特定的DSP/BIOS API模块连接在一起通过
15、在配置文件中定义DSP/BIOS对象,一个应用程序可以使用一个或多个DSP/BIOS模块在源代码中,这些对象声明为外部的,并调用DSP/BIOS API功能每个DSP/BIOS模块都有一个单独的C头文件或汇编宏文件,它们可以包含在应用程序源文件中,这样能够使应用程序代码最小化为了尽量少地占用目标系统资源,必须优化(C和汇编源程序)DSP/BIOS API调用DSP/BIOS API划分为下列模块,模块内的任何API调用均以下述代码开头 CLK片内定时器模块控制片内定时器并提供高精度的32位实时逻辑时钟,它能够控制中断的速度,使之快则可达单指令周期时间,慢则需若干毫秒或更长时间 HST主机输入/
16、输出模块管理主机通道对象,它允许应用程序在目标系统和主机之间交流数据主机通道通过静态配置为输入或输出 HWI硬件中断模块提供对硬件中断服务例程的支持,可在配置文件中指定当硬件中断发生时需要运行的函数 IDL休眠功能模块管理休眠函数,休眠函数在目标系统程序没有更高优先权的函数运行时启动 LOG日志模块管理LOG对象,LOG对象在目标系统程序执行时实时捕捉事件开发者可以使用系统日志或定义自己的日志,并在CCS中利用它实时浏览讯息 MEM存储器模块允许指定存放目标程序的代码和数据所需的存储器段 PIP数据通道模块管理数据通道,它被用来缓存输入和输出数据流这些数据通道提供一致的软件数据结构,可以使用它
17、们驱动DSP和其它实时外围设备之间的I/O通道 PRD周期函数模块管理周期对象,它触发应用程序的周期性执行周期对象的执行速率可由时钟模块控制或PRD_tick的规则调用来管理,而这些函数的周期性执行通常是为了响应发送或接收数据流的外围设备的硬件中断 RTDX实时数据交换允许数据在主机和目标系统之间实时交换,在主机上使用自动OLE的客户都可对数据进行实时显示和分析,详细资料参见1.5 STS统计模块管理统计累积器,在程序运行时,它存储关键统计数据并能通过CCS浏览这些统计数据 SWI软件中断模块管理软件中断软件中断与硬件中断服务例程(ISRs)相似当目标程序通过API调用发送SWI对象时,SWI
18、模块安排相应函数的执行软件中断可以有高达15级的优先级,但这些优先级都低于硬件中断的优先级 TRC跟踪模块管理一套跟踪控制比特,它们通过事件日志和统计累积器控制程序信息的实时捕捉如果不存在TRC对象,则在配置文件中就无跟踪模块有关各模块的详细资料,可参见CCS中的在线帮助,或TMS320C54 DSP/BIOS 用户指南1.5 硬件仿真和实时数据交换TI DSPs提供在片仿真支持,它使得CCS能够控制程序的执行,实时监视程序运行增强型JTAG连接提供了对在片仿真的支持,它是一种可与任意DSP系统相连的低侵扰式的连接仿真接口提供主机一侧的JTAG连接,如TI XSD510为方便起见,评估板提供在
19、板JTAG仿真接口在片仿真硬件提供多种功能: DSP的启动停止或复位功能 向DSP下载代码或数据 检查DSP的寄存器或存储器 硬件指令或依赖于数据的断点 包括周期的精确计算在内的多种记数能力 主机和DSP之间的实时数据交换(RTDX)图1-4 RTDX系统组成CCS提供在片能力的嵌入式支持;另外,RTDX通过主机和DSP APIs提供主机和DSP之间的双向实时数据交换,它能够使开发者实时连续地观察到DSP应用的实际工作方式在目标系统应用程序运行时,RTDX也允许开发者在主机和DSP设备之间传送数据,而且这些数据可以在使用自动OLE的客户机上实时显示和分析,从而缩短研发时间RTDX由目标系统和主
20、机两部分组成小的RTDX库函数在目标系统DSP上运行开发者通过调用RTDX软件库的API函数将数据输入或输出目标系统的DSP,库函数通过在片仿真硬件和增强型JTAG接口将数据输入或输出主机平台,数据在DSP应用程序运行时实时传送给主机在主机平台上,RTDX库函数与CCS一道协同工作显示和分析工具可以通过COM API与RTDX通信,从而获取目标系统数据,或将数据发送给DSP应用例程开发者可以使用标准的显示软件包,诸如National Instruments LabVIEW,Quinn-Curtis Real-Time Graphics Tools,或Microsoft Excel同时,开发者也
21、可研制他们自己的Visual Basic或Visual C+应用程序图1-5 RTDX实例RTDX能够记录实时数据,并可将其回放用于非实时分析下述样本由National Instruments LabVIEW 软件产生在目标系统上,一个原始信号通过FIR滤波器,然后与原始信号一起通过RTDX发送给主机在主机上,LabVIEW显示屏通过RTDX COM API获取数据,并将它们显示在显示屏的左边利用信号的功率谱可以检验目标系统中FIR滤波器是否正常工作处理后的信号通过LabVIEW,将其功率谱显示在右上部分;目标系统的原始信号通过LabVIEW的FIR滤波器,再将其功率谱显示在右下部分比较这两个
22、功率谱便可确认目标系统的滤波器是否正常工作RTDX适合于各种控制伺服和音频应用例如,无线电通信产品可以通过RTDX捕捉语音合成算法的输出以检验语音应用程序的执行情况;嵌入式系统也可从RTDX获益;硬磁盘驱动设计者可以利用RTDX测试他们的应用软件,不会因不正确的信号加到伺服马达上而与驱动发生冲突;引擎控制器设计者可以利用RTDX在控制程序运行的同时分析随环境条件而变化的系数对于这些应用,用户都可以使用可视化工具,而且可以根据需要选择信息显示方式未来的 TI DSPs 将增加RTDX的带宽,为更多的应用提供更强的系统可视性关于RTDX的详细资料,请参见CCS中RTDX在线帮助1.6 第三方插件第
23、三方软件提供者可创建AxtiveX插件扩展CCS功能,目前已有若干第三方插件用于多种用途1.7 CCS文件和变量本节简述CCS文件夹CCS的文件类型及CCS环境变量1.7.1安装文件夹安装进程将在安装CCS的文件夹(典型情况为:c:ti)中建立子文件夹此外,子文件夹又建立在Windows目录下(c:windows or c:winnt)C:ti包含以下目录: bin.各种应用程序 c5400biosDSP/BIOS API的程序编译时使用的文件 c5400cgtools.Texas instruments源代码生成工具 c5400examples.源程序实例 c5400rtdx. RTDX文件
24、 c5400tutorial.本手册中使用的实例文件 ccbin.关于CCS环境的文件 ccgel.与CCS一起使用的GEL文件 docs.PDS格式的文件和指南 myprojects.用户文件夹1.7.2文件扩展名以下目录结构被添加到Windows目录: tidrivers.各种DSP板驱动文件 tiplugins.和CCS一起使用的插件程序 tiuninstall.支持卸载CCS软件的文件当使用CCS时,你将经常遇见下述扩展名文件: project.mak.CCS使用的工程文件 program.c.C程序源文件 program.asm. 汇编程序源文件 filename.h.C程序的头文件
25、,包含DSP/BIOS API模块的头文件 filename.lib.库文件 project.cmd.连接命令文件 program.obj.由源文件编译或汇编而得的目标文件 program.out.(经完整的编译汇编以及连接的)可执行文件 project.wks. 存储环境设置信息的工作区文件, program.cdb.配置数据库文件采用DSP/BIOS API的应用程序需要这类文件,对于其它应用程序则是可选的保存配置文件时将产生下列文件:programcfg.cmd.连接器命令文件programcfg.h54.头文件programcfg.s54.汇编源文件1.7.3环境变量安装程序在auto
26、exec.bat文件中定义以下变量(对Windows 95和98)或环境变量(对于Windows NT): 表1-1 环境变量 变 量描 述C54X_A_DIR由汇编程序使用的搜索表和用于DSP/BIOSRTDX以及代码生成工具的包含文件可参见TMS320C54X汇编语言工具用户指南C54X_C_DIR 由编译程序和连接程序使用的搜索表和用于DSP/BIOSRTDX以及代码生成工具的包含文件可参见TMS320C54X 最佳C编译器用户指南PATH添加到路径定义中的文件夹列表缺省将添加文件夹c:tic5400cgtoolsbin和c:tibin1.7.4增加DOS环境空间如果使用的是Window
27、s 95,你可能需要增加DOS界面的环境空间,以便支持建立一个CCS应用所需的环境变量把下一行添加到config.sys文件中,然后重新启动计算机:shell=c:windows /e:4096 /p第二章 开发一个简单的应用程序本章使用hello world实例介绍在CCS中创建调试和测试应用程序的基本步骤;介绍CCS的主要特点,为在CCS中深入开发DSP软件奠定基础在使用本实例之前,你应该已经根据安装说明书完成了CCS安装建议在使用CCS时利用目标板而不是仿真器如果没有CCS而只有代码生成工具和Code Composer或者是利用仿真器在进行开发,你只要按第二章和第四章中的步骤执行即可2.
28、1 创建工程文件在本章中,将建立一个新的应用程序,它采用标准库函数来显示一条hello world 消息1.如果CCS安装在c:ti中,则可在c:timyprojects建立文件夹hello1(若将CCS安装在其它位置,则在相应位置创建文件夹hello1)2.将c:tic5400tutorialhello1中的所有文件拷贝到上述新文件夹3.从Windows Start菜单中选择ProgramsCode Composer Studio C5400CCStudio(或者在桌面上双击Code Composer Studio图标) 注:CCS设置如果第一次启动CCS时出现错误信息,首先确认是否已经安装
29、了CCS如果利用目标板进行开发,而不是带有CD-ROM的仿真器,则可参看与目标板一起提供的文档以设置正确的I/O端口地址 4.选择菜单项ProjectNew5.在Save New Project As窗口中选择你所建立的工作文件夹并点击Open键入myhello作为文件名并点击Save,CCS就创建了myhello.mak的工程文件,它存储你的工程设置,并且提供对工程所使用的各种文件的引用2.2 向工程添加文件1.选择ProjectAdd Files to Project,选择hello.c并点击Open2.选择ProjectAdd Files to Project,在文件类型框中选择*.as
30、m选择vector.asm并点击Open该文件包含了设置跳转到该程序的C入口点的RESET中断(c_int00)所需的汇编指令(对于更复杂的程序,可在vector.asm定义附加的中断矢量,或者,可用3.1节上所说明的DSP/BIOS来自动定义所有的中断矢量)3.选择ProjectAdd Files to Project,在文件类型框中选择*.cmd选择hello.cmd并点击Open,hello.cmd包含程序段到存储器的映射4.选择ProjectAdd Files to Project,进入编译库文件夹(C:tic5400cgtoolslib)在文件类型框中选择*.o*,*.lib选择rts.lib并点击Open,该库文件对目标系统DSP提供运行支持5.点击紧挨着ProjectMyhello.makLibrary和Source旁边的符号+展开Project表,它称之为Project View 注:打开Project View如果看不到Project View,则选择ViewProject如果这时选择过Bookmarks图标,仍看不到Project View,则只须再点击Project View底部的文件图标即可
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1