DSP集成开发环境DSP原理与开发实例.ppt
第二章 DSP集成开发环境,2.1 概述2.2 CCS 安装 2.3 CCS 系统配置2.4 CCS 系统界面2.5 CCS 基本功能2.6 通用扩展语言2.7 小结,【重点难点】工程维护和程序调试方法 探针的使用 图形显示 通用扩展语言,概述,2.1 概述,CCS 的基本功能如下:集成可视化代码编辑界面,可以直接编写 C 语言源文件、汇编语言源文件、工程脚本文件(.cmd文件)等。集成代码生成工具,包括汇编器,优化 C 编译器,连接器等。基本调试工具,如装入执行代码(.out 文件),查看寄存器、存储器、反汇编、变量窗口等,支持 C 代码级调试。支持多 DSP 调试。断点工具:硬件断点、数据空间读写断点、条件断点等。探针工具(Probe Points)用于算法仿真、数据监视等。,分析工具(Profile),评估代码执行所需要的时钟周期数。数据的图型显示工具,可绘制时域频域波形、眼图、星座图、图像等,并可自动刷新。提供通用的扩展语音(GEL)工具以便使用者编写自己的 控制面板/菜单、方便直观修改变量,配置参数等。支持 RTDX 技术,可以在不中断目标系统运行的情况下,实现 DSP 与其他应用程序的数据交换。开放式的插件技术,支持其他第三方的 ActiveX 插件,支持包括软件仿真在内的各种仿真器。提供 DSP/BIOS 工具,增强对代码的实时分析能力。,概述,2.2 CCS 安装,CCS 安装,CCS 安装,2.3 CCS 系统配置,CCS 系统配置,软件仿真器(Simulator)的配置步骤 双击桌面上的“Setup CC 2(C5000)”图标,弹出对话框。从Available Boards列表中选取用户平台类型。单击Import按钮,然后点击Close按钮即可。注意:对话框下部的Filters可以用来根据DSP类型、平台类型等帮助用户快速完成用户平台类型的选择。,硬件仿真器(Emulator)的配置步骤 1)双击桌面上的“Setup CCStudio 2(C5000)”图标,根据DSP的型号选择相应的TI原始驱动程序。2)选中C5416 XDS510 Emulator项,右键单击,在弹出 的快捷菜单中选择Properties项。3)选择下拉菜单“Auto-Generate board data file with extra configuration file”,指定变量配置文件的路径和名称。4)在步骤3所示的对话框中单击Browse按钮,弹出对话 框,选中Drivers目录下的Seedusb2.cfg文件,同时打开。5)选择文件后,返回Board Properties对话框,单击 NEXT按钮。,CCS 系统配置,6)出现如图2-17所示I/O Port对话框,I/O Port 的值设为 0 x240(即不改变初值即可),单击Next按钮。7)对话框如图2-18所示,根据CPU的个数,单击CPU选 择“Add Single”,多CPU选择“Add Multiple”添加相应 的DSP。设置完成后,单击Next按钮。8)对话框如图2-19所示,在Startup GEL栏中选择与开发 板上DSP芯片型号匹配的GEL文件(如选择c5416.gel),单击Finish按钮,完成配置。9)最后,保存设置,退出Setup CCS2.0程序。,CCS 系统配置,注意:如果同时安装了软件仿真器和硬件仿真器(即:simulator和Emulator)则选择其中一项即可进行软件开发。,CCS 系统配置,2.4 CCS 系统界面,CCS 系统界面,CCS 系统界面,1、主菜单,File菜单主要命令,CCS 系统界面,Edit菜单主要命令,CCS 系统界面,View菜单主要命令,CCS 系统界面,Project菜单主要命令,CCS 系统界面,Debug菜单主要命令,CCS 系统界面,Option菜单主要命令,CCS 系统界面,Profile菜单主要命令,CCS 系统界面,Tools菜单主要命令,CCS 系统界面,DSP/BIOS菜单主要命令,CCS 系统界面,2、常用工具条,四类工具条:标准工具条(Standard Toolbar)编辑工具条(Edit Toolbar)工程工具条(Project Toolbar)调试工具条(Dehug Toolbar),CCS 系统界面,(l)标准工具条,新建文档,打开文档,保存文档,剪 切,复 制,粘 贴,取消上一操作,显示撤消,查找下一个,查找窗口,查找上一个,查找文本,在多个文件中查找,打印,帮助,恢复上一操作,显示恢复,CCS 系统界面,(2)编辑工具条,在光标所在处查找括号对,查找下一个括号对,查找匹配分支或括号对,查找并定位下一个括号,标记的行左突出,标记的行右突出,设置或取消标签,到下一个标签,到上一个标签,编辑标签属性,外部编辑器使能,取消所有断点,设置断点,停止构建工程,构建整个工程,增量构建工程,(3)工程工具条,选择当前工程,选择当前配置,编译当前文件,设置探测点,删除所有探测点,CCS 系统界面,(4)调试工具条,CCS 系统界面,单步进入,单步执行,单步跳出,单步进入(汇编),单步执行(汇编),执行到光标处,将 PC 转到当前光标所在位置,执行程序,停止执行,动画执行,寄存器观察窗口,内存观察窗口,堆栈观察窗口,反汇编窗口,2.5 CCS 基本功能,1、新建工程,2.5.1 工程的维护与构建,CCS基本功能,2、打开工程,CCS基本功能,CCS基本功能,3、关闭工程,CCS基本功能,4、文件的新建、打开和编辑,(1)新建文件,打开新文件窗口。选择主菜单“File”中的“New”项,或 使用标准工具条上的创建文件按钮,将在编辑窗口中显 示一个新的窗口。编辑文本。在新窗口中输入源代码(源程序)。选择保存方式。选择主菜单“File”中的“Save”或“Save As”选项。也可使用标准工具条上的保存文件按钮。选择文件目录、文件名和扩展名。在“保存为”对话框中,确定保存文件的目录,输入文件名和扩展名。保存文件。单击“保存”按钮,完成文件的保存。,CCS基本功能,(2)打开文件 选择“File”中的“Open”选项,或单击标准工具条上的打开 文件按钮,出现“打开”对话框。在“打开”对话框中,选择文件,该文件名将出现在文件名 域中。若没有所要选择的文件,应先查找目录再选择文件。单击“打开”按钮,将在编辑窗口中打开所选择的文件。,CCS基本功能,(3)编辑文件CCS 的内嵌编辑器具有以下编辑功能:利用标准工具栏和编辑工具栏可以帮助用户实现快速编辑。能用不同颜色显示文本文件中的汇编语言指令、汇编命令、关键字、字符串和注释,以便于相互区分。可以在一个文件和一组文件中查找和替换字符串,这对在 多个文件中追踪、修改变量及函数特别有用。可以打开多个窗口进行编辑。CCS 的 C 编辑器能够判别圆括号或大括号是否匹配,排除 语法错误。允许在任意类型文件的任意一行设置书签,书签随CCS工 作空间保存,在下次载入文件时被重新调入。书签可以帮 助用户快速地定位文件。,CCS基本功能,注意:编辑CCS 所用到的目录和文件,不能设置为中文名,对此 CCS 不能识别。而文件中可以出现中文注解,但一定要用 符号“/*”和“*/”把注解括起来。所有文件都是文本文件,所以包括.cmd文件在内的所有文 件都可以用记事本打开。,CCS基本功能,在菜单栏中选择 ProjectAdd Files to Project。在工程窗口中右击工程,在弹出的快捷菜单中选择 Add Files to Project。,(1)文件添加,(2)文件删除,在文件名上单击右键,选择 Remove from Project 或者直接按键盘上的 Delete 键即可。这个操作只是把文件从工程中移除,不会真正删除磁盘上的文件。,5、工程中文件的添加和删除,CCS基本功能,6、工程的构建,所谓构建,就是对该工程的所有文件进行编译和链接,生成可执行文件,为以后的调试工作准备。,project.pjt 名为“project”的工程文件,后缀为.pjt。program.asm 名为“program”的汇编语言源文件,后缀为.asm。program.c 名为“program”的c语言源文件,后缀为.c。program.obj 经编译后生成的目标文件,后缀为.obj。program.out 经链接后生成的可执行文件,后缀为.out。filename.h 名为“filename”的C语言头文件,后缀为.h。filename.cmd 名为“filename”的链接命令文件,后缀为.cmd。,CCS基本功能,工程构建命令:编译文件命令。增量链接命令。重新链接命令。停止链接命令。,CCS基本功能,1、加载可执行文件,2.5.2 程序调试,CCS基本功能,CCS基本功能,CCS基本功能,(1)程序运行。选择 DebugRun 命令,或单击调试工具 栏按钮,就可以运行程序,直到遇到断点为止。(2)自由运行。选择 DebugRun Free 命令,就可以禁止 所有断点,即不受断点影响,自由地运行程序。注:该功能只能在Emulator时使用。(3)暂停运行。当一个程序正在运行时,选择 DebugHalt 命令,或单击调试工具栏按钮,就可以暂停正在运行的程序。(4)动画运行。选择 DebugAnimate 命令,或单击调试 工具栏按钮,就可以运行程序,且遇到断点就显示 CPU寄存器当时的状态信息。在每个断点处显示CPU 寄存器状态信息的时间,可以通过选择 OptionCustomize 在09s间设定。,2、程序的运行和复位,CCS基本功能,(5)单步运行。,3 种复位操作:复位 CPU。选择 DebugReset CPU 命令,就可以 停止运行程序,并初始化所有寄存器的内容,PC 指 向 FF80h。重新启动。选择 DebugRestart 命令,就可以停止 运行程序,并将 PC 恢复到当前载入程序的入口地址。运行到主程序函数 main 入口位置。选择 DebugGo Main 命令在当前加载程序的函数 main 处设置一个临时断点,然后开始执行程序。当程序暂 停或遇到一个断点时,临时断点被删除。此命令为 C 程序员提供了一种快捷运行用户程序的方法。,CCS基本功能,3、断点,CCS基本功能,选择 ViewMemory 命令,或单击调试工具栏按钮,4、内存、寄存器和变量操作,(1)内存操作 查看内存,CCS基本功能,编辑内存,两种方法:修改单个内存单元内容:在存储器窗口双击需要修改 内容的存储单元,或者选择 EditMemoryEdit 命令,在弹出的内存单元编辑对话框中键入需要修改的内存单 元地址和新的数值,单击 close按钮确认就可以了。复制、充填存储区:选择EditMemoryCopy(或 Fill,或Patch Assembly),按照弹出的对话框操作,即可实现复制或充填存储块,或修改程序存储器中的 汇编语言程序了。,CCS基本功能,选择 ViewRegisterCPU Registers(或 Peripheral Regs)命令,或单击调试工具栏按钮,就会在 CCS 主窗口下方弹出 CPU 寄存器窗口。右击寄存器窗口,选择Close,就可关闭该窗口。,(2)寄存器操作 查看寄存器,编辑寄存器 在寄存器窗口双击某寄存器,或者选择EditRegister 命令,便能打开编辑寄存器对话框。,CCS基本功能,(3)变量操作,选择 ViewWatch window 命令,或单击观察工具栏按钮,CCS基本功能,在 CCS 菜单栏中选择 ViewGraph 命令,2.5.3 图形显示,CCS基本功能,CCS基本功能,选择 ViewGraphTime/Frequency,,自定义图形标题,需要绘制图形的数据的起始地址,选择页的类型,每次绘图刷新时从 内存中取出并放入采集缓存区中的数据个数,绘制的数据点的个数,设置下标增长步长,数据类型,包括位宽,有/无符号,整数/浮点数等,定点数的定标值,计算时间和频率的值,左右:最新数据右左:最旧数据,如何将采集缓存区 中的数据导入显示缓冲区,自动缩放,设置 Y 轴数据范围的中点,是否显坐标轴,显示的时间单位,是否显示状态栏,数据的缩放功能,数据显示方式,网格线样式,鼠标经过绘图窗口时的样式,CCS基本功能,如果在 Display Type 中选择查看频域,Signal Type:信号数值类型,可以在实数和复数中选择。Interleaved Data Sources:当数据是按照类似“实部虚部实部虚部”方式交叉存储的时候,把此项设置为 Yes,CCS 会自动取出数据并识别这种存储格式;如果设置为 NO,需要分别指定实部数据的起始地址和虚部数据的起始地址,因此会出现 Start Address-real data 和 Start Address-imaginary data 项。FFT Framesize:指定每次参与 FFT 运算的样点个数。FFT Order:指定 FFT 的阶数。FFT Windowing Function:指定 FFT 的窗函数。Display Peak and Hold:设置是否要保留以前的峰值记录。Sample Rate:采样率设置,决定显示的频率范围,CCS基本功能,CCS基本功能,1、探针点(Probe Points),探针点是一种设置在源文件某条语句上的特殊断点,主要用来与一个外部文件的读/写相关联。利用探测点可以进行以下工作:从PC主机的文件中,传输输入数据至目标系统的缓冲区,作为算法开发的模拟数据;从目标系统的缓冲区中,传输输出数据至PC主机的文件 中,以便进行数据分析;更新窗口,例如图形、数据等。,2.5.4 File I/O,CCS基本功能,设置探针点在编辑窗口或反汇编窗口中,将光标移到主函数要加入探针点的行上,单击工程工具条上的设置探针点按钮,删除探针点将光标放在欲取消的探针点位置,单击工程工具条上的删除探针点按钮,CCS基本功能,CCS基本功能,CCS基本功能,2、外部数据文件的格式,文件类型:固定为 1651。数据类型:取值为 14,分别对应为十六进制数、整数、长整数和浮点数。起始地址:存放数据内存区的首地址,十六进制数。数据页号:表明数据空间位置。0为程序存储空间,1 为数据存储空间,2为I/O。数据长度:指明数据块长度,以字为单位,十六进制数。,CCS基本功能,例2-1:某个数据文件exp.dat 的内容如下:1651 1 100 1 140 x00000 x00010 x00020 x00030 x00040 x00050 x00060 x00070 x00080 x0009,0 x000A0 x000B0 x000C0 x000D0 x000E0 x000F0 x00100 x00110 x00120 x0013,CCS基本功能,3、从外部文件载入数据,建立外部数据文件。新建一个记事本,并更改后缀为.dat,然后设定数据文件的名字,如example.dat。打开源文件和反汇编文件,设置探测点。用来定义程序执 行到何时进行外部文件的输入/输出数据;在菜单“File”中,选择“File I/O(文件输入/输出)”命令,显示“File I/O(文件输入/输出)”对话框;,CCS基本功能,在此对话框中,选择“File Input(文件输入)”标签;单击“Add File”按钮,浏览工程文件夹,选择所需的数据文件,假定为C:timyprojectstestexample.dat;在“Page”下拉菜单中选择欲将外数据保存的存储空间类型,本例中选择了数据空间,即Data;在“Address”和“Length”栏中分别填写欲保存的单元首地址及 长度,本例中的起始地址为:0 x0100,长度为:0 x0014;单击“Add Probe Point”按钮,弹出Break/Probe Points对话框,如图2-36所示,根据探针点的设置方法,将探针点与输入数 据文件example.dat相关联;,CCS基本功能,探针点和外部输入数据关联后,弹出的输入数据控制对话框 如图2-39所示;当程序运行到探针点位置时,CCS将暂停程序的运行,从外 部数据文件载入数据至相关存储空间。数据传送完毕后,程 序才继续运行。载入的数据可通过查看内存的方法加以显示。,CCS基本功能,4、将数据保存到外部文件,CCS基本功能,CCS基本功能,2.5.5 开销估计,2.6 通用扩展语言,通用扩展语言,2.6.1 GEL函数的语法,GEL函数的定义格式如下:函数名(参数1,参数2,参数n)函数语句,通用扩展语言,2.6.2 GEL函数的关键字,加载GEL文件的GEL菜单,未加载GEL文件的GEL菜单,1、menuitemmenuitem用来在GEL菜单中创建一个新的一级下拉菜单,其语法格式如下:menuitem“my functions”,2、hotmenuhotmenu将GEL函数添加到GEL菜单中,当选择此函数时,该函数被立即执行。关键字hotmenu适用于不需要传递参数的场合,其语法格式如下:hotmenu functionname()语句;,通用扩展语言,通用扩展语言,3、dialogdialog将GEL函数添加到GEL菜单中,从而创建一个需要输入参数的对话框窗口。当在GEL菜单中选择此函数时,将弹出一个对话框窗口,用户可在该窗口中输入参数,其语法格式如下:dialog functionname(参数1“参数1说明”,参数2“参数2说明”,)语句;,通用扩展语言,4、sildersilder将GEL函数添加到GEL菜单中,当GEL菜单选择此函数时,将会出现一个滑动条,其作用是控制传递给GEL函数的参数值。每次一动滑块时,都将调用GEL函数,其参数值由滑块位置确定。该函数共有5个参数,不过使用时也可以只向slider GEL函数传递一个参数。其语法格式如下:slider para_definition(minVal,maxVal,increment,pageIncrement,paramName)语句;,通用扩展语言,2.6.3 GEL文件的加载与卸载,通用扩展语言,2.6.4 GEL文件应用举例,通用扩展语言,通用扩展语言,2.6.5 CCS内建GEL函数,CCS为用户提供了一系列的GEL函数,称为内建GEL函数,或称为嵌入GEL函数。利用这些内建函数,用户可以控制仿真或实际目标板的转台、访问目标板的存储空间以及显示运行结果等。所有的内建函数都有一个“GEL_”作为前缀,以区分用户自定义的GEL函数。,小结,CCS 的基本功能 CCS 系统配置方法 工程文件的建立、打开和关闭 工程中文件的添加或删除 如何构建工程 如何调试程序 如何利用图形窗口观察和分析数据 CCS 数据文件格式 开销估计 通用扩展语言,2.7 小结,