《DSP集成开发环境.pptx》由会员分享,可在线阅读,更多相关《DSP集成开发环境.pptx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1概述TMS320C6000 DSP有一套完整的开发系统C/C+compiler:.c.asm将ANSI C或C+语言编写的程序转换为面向DSP的汇编代码直接利用高级语言实现DSP软件的初步设计,缩短开发周期Assembly compiler:.sa.asm允许开发者编写线性汇编代码而无需考虑流水线结构和寄存器分配,它可以自动分配寄存器以及利用循环优化将线性汇编转化为利用软件流水线的高度并行汇编代码Assembler:.asm.obj将汇编代码翻译成DSP可以执行的机器语言Linker:.obj.out将目标文件组合成一个单独的可执行目标模块。当它创建可执行模块时,分配段到目标系统所配置的内存
2、,重新分配符号和段到最终地址,并且解决未定义符号的外部引用的问题。第1页/共26页2C debugger是一种先进的编程接口协助编程者开发、测试C6x的C程序以及汇编程序,也是C6x simulator 和emulator 的接口。调试器通过图形界面直观地将代码、数据和命令分开显示。动态的性能分析工具提供了对代码执行进行统计的手段,可以直接反馈程序的性能进而确定和解决代码瓶颈。Simulator通过模拟DSP硬件对代码的执行,方便用户进行软件的开发和调试。用户可以在没有目标板的情况下编写软件,有限的模拟一些硬件功能。Emulator基于边界扫描协议的系统仿真工具,用于系统集成阶段的软件和硬件联
3、调。通过JTAG接口,可以访问DSP器件的全部内存和寄存器,方便有效的硬件对软件执行的调试工作。DSK入门开发套件(DSK)代码开发工具,包括基于TMS320C6000DSPs的板卡,软硬件仿真环境可以与 PC通信,很适合初步接触DSP的学习者入门和进一步熟悉提高第2页/共26页3代码编译工具箱(CCS)CCS是配合TI DSPs的硬件开发而推出的软件集成开发环境CCS内部集成了:(1)C6000代码产生工具,包括C6000编译器、汇编优化器、汇编器、连接器及其可视化软件。(2)软件模拟器(simulator)(3)DSP/BIOS实用内核插件(4)RTDX主机与目标板之间实时数据交换利用CC
4、S可以完成DSP软件的管理、编辑、编译、调试及其性能测试,为使用者提供了比较完善的软件开发环境第3页/共26页43.1 CCS的功能特点与安装1.功能特点一个基于Windows的DSP集成开发环境;加速和提高程序员创建与测试实时嵌入式信号处理系统的开发过程集成可视化代码编辑界面,可直接编写C、汇编、.h文件、.cmd文件集成代码生成工具,包括编辑器、优化C编译器、连接器等基本调试工具,如装入执行代码(.out文件),查看寄存器、存储器、反汇编、变量窗口等,支持C源代码级调试。支持多DSP调试断点工具,包括硬件断点、数据空间读/写断点、条件断点等第4页/共26页5探针(Probe)工具,可用于算
5、法仿真、数据监视等。分析(Profile)工具,可用于评估代码执行的时钟数数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图象等,并可自动刷新提供GEL工具,用户可以编写自己的控制面板/菜单,方便直观地修改变量,配置参数等支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换开放式的Plug-in技术,支持其他第三方的ActiveX插件,支持包括软仿真在内的各种仿真器(只需安装相应的驱动程序)提供DSP/BIOS工具,增强对代码的实时分析能力(如分析代码执行的效率)、调度程序执行的优先级、方便管理或使用系统资源(代码/数据占用空间、中断服务程序的调用、定时
6、器使用等),从而减少开发人员对硬件资源熟悉程度的依赖性第5页/共26页62.为CCS安装设备驱动程序CCS是运行在一系列仿真设备(软仿真器Simulator、硬仿真器Emulator、DSP入门套件DSK、DSP评估板EVM)上的一个集成的开发环境。任一种仿真设备可形象地将其看做计算机主板上的扩展设备,在它们正常工作之前都需要在操作系统中为其安装驱动程序。安装软仿真设备删除已安装的仿真设备第6页/共26页7第7页/共26页8第8页/共26页93.2 基于CCS开发DSP软件基于CCS开发DSP软件是一个软件工程,即包含源代码文件、头文件、例行库、用户库、内存定位文件(.cmd)以及DSP/BI
7、OS配置文件(.cdb)。1.CCS的基本操作-开发一个简单的程序(1)准备工作(2)先建立一个工程文件(*.pjt):以volume为例(3)向工程添加各类型文件:源文件、cmd文件和库文件(4)查阅代码(5)建造(build)和运行(run)程序(6)改变建造选项和修改语法错误(7)使用断点和观察窗第9页/共26页10(1)准备工作:7个需要复制的文件需要复制的文件文件说明Volume.c实验用源文件(C主函数)Load.asm实验用源文件(汇编子函数)Vectors.asm实验用源文件(中断向量表)Volume.hC主函数使用的头文件Volume.cmd内存定位文件Sine.dat实验用
8、数据文件Volume.gel实验用GEL控制文件Rts6700.libC程序的运行支持库第10页/共26页11(2)先建立一个工程文件:ProjectNew Project creation第11页/共26页12(3-1)添加源文件:.c,.asm Project Add Files to Project 选择文件类型 在“volume.pjt”上单击鼠标右键Add Files(3-2)添加内存定位文件.cmd该文件定义了各代码段或数据段在存储器中的位置 添加方法同“添加源文件”在添加文件对话框的“文件类型”下拉列表中要选择“Linker Command File(*.cmd)(3-3)若源文
9、件是基于C语言编写的,需向工程里添加运行支持库文件(rts6700.lib)该文件存放在CCS的安装目录“/c6000/cgtools/lib”下在添加文件对话框的“文件类型”下拉列表中要选择“Object and Library Files(*.o*,*.l*)(3-4)添加头文件在工程名上单击鼠标右键,选择“Scan All Dependencies”,这样.c文件包含的头文件“volume.h”将出现在“Include”文件夹中(3)向工程添加各类型文件第12页/共26页13(4)查阅代码第13页/共26页14(5)建造(build)和运行(run)程序Building:compilin
10、g,assembling,linking三个独立步骤按顺序联合运行。在CCS中:(1)主菜单:Project”rebuild all”(2)工具条图标:(rebuild all)建造完毕,CCS生成一个”.out”文件,该文件默认存放在所建工程目录下的“debug”目录内装载该”.out”文件:File”load program”所建的工程目录(如mainapplication)”“debug”“mainapplication.out”打开page 17CCS装载完毕该.out文件后,会自动弹出disassembly窗口,显示构成源代码的反汇编指令。page18第14页/共26页15建造完毕的
11、CCS窗口及.out文件的装载第15页/共26页16装载完毕后自动弹出的反汇编窗口第16页/共26页17运行(run)程序:(1)Debug ”go main”:程序从主函数开始,停留在main()处,并会有一个黄色的箭头标记在当前要执行的C语言代码(2)View Mixed source/ASM”:同时看到C语言代码和对应编译生成的汇编代码,并且有一个绿色的箭头标记在当前要执行的汇编代码。Page 20(3)Debug ”run”,或,工具条图标 (run):让程序全速执行。底部的”Stdout”标准输出窗口给出程序运行的输出信息。第17页/共26页18同时观察C语言代码和相应的汇编代码第1
12、8页/共26页19建造文件的各种选项:文件名上右击”file specific options”Exclude file from build:编译工程文件时不对某单个文件进行编译Use custom build step:(1)Build command:c:tic6000cgtoolsbincl6x maximumvalue.c-frdebug“(2)outputs:debugmaximumvalue.obj定义了编译生成的目标文件.obj的存放位置第19页/共26页20建造文件的4种选项:右击工程名”build options”第20页/共26页21第21页/共26页22程序调试的基本操
13、作使用反汇编窗口:Viewdisassembly使用存储器窗口:Viewmemory观察CPU寄存器:Viewregistor加载COFF文件单步执行运行复位处理器:Debug reset CPU内存操作变量操作编辑命令行观察调用堆栈:Viewcall stack保存和恢复工作空间第22页/共26页23断点(Break points)作用:停止程序的运行。第23页/共26页24支持程序1.初始化程序采用C语言开发程序时,需要利用C初始化程序建立C运行环境,通常采用c_int00来实现程序的引导。rts.src在boot.asm这个模块中包含了c_int00程序的源代码。C-int00必须与其他
14、C目标模块连接。当使用-c或-cr选项,同时包含rts.src运行支持库加入连接器引用文件时,c_int00与其他模块的连接可以自动完成。连接器将可执行输出模块的入口点设置为c_int00。c_int00在初始化c环境完成下述任务:(1)为系统堆栈定义了一个叫做.stack的段并且设置了初始堆栈指针(2)通过复制.cint段初始化表的数据到.bss段中为变量分配的存储空间,完成对全局变量的初始化。如果选择在加载时进行初始化(-cr),加载器在程序运行之前完成初始化。(3)调用主函数执行C/C+程序第24页/共26页252.中断服务表3.连接命令文件第25页/共26页26感谢您的欣赏!第26页/共26页