版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第三章第三章 DSP的开发的开发环境与工具环境与工具 教材教材 :3.1节,节,3.3节,节,3.4节,节,3.5节节,3.6节,节,4.4.7小节小节DSP开发环境和工具的重要性开发环境和工具的重要性u如何提高开发速度,降低开发难度,是如何提高开发速度,降低开发难度,是所有开发者所共同关心的。所有开发者所共同关心的。uDSPDSP的硬软件开发环境如何,开发工具的的硬软件开发环境如何,开发工具的功能是否丰富,使用是否方便,其所得功能是否丰富,使用是否方便,其所得结果的效果怎样,等等,已经成为该结果的效果怎样,等等,已经成为该DSPDSP是否为用户所接受、从而得到推广使用是否为用户所接受、从而
2、得到推广使用得重要指标之一。得重要指标之一。DSP的开发环境和工具的开发环境和工具u集成开发环境集成开发环境CCS(编译器,连接器,(编译器,连接器,优化优化C编译器,转换工具等)编译器,转换工具等)uCMD内存定位文件内存定位文件uDSP/BIOSu实时操作系统实时操作系统u其它工具:其它工具:C6Run,C6Accel,C6Flo,XDC等工具等工具DSP开开发发流流程程图图每个每个DSP系列都提供代码生成工具系列都提供代码生成工具uC编译器编译器(C compiler):将将C源程序代码编译源程序代码编译成为成为320系列对应汇编语言源代码。编译系列对应汇编语言源代码。编译包中包括一个包
3、中包括一个分析器分析器、一个、一个优化器优化器(optimizer)和一个内部列表公用程序和一个内部列表公用程序(interlist utility)等)等。u汇编器汇编器(assembler):将汇编语言源文件转:将汇编语言源文件转变为基于公用目标文件格式(变为基于公用目标文件格式(COFF)的)的机器语言目标文件。机器语言目标文件。每个每个DSP系列都提供代码生成工具系列都提供代码生成工具u连接器(连接器(linker):将目标文件连接起来:将目标文件连接起来产生一个可执行模块。它能调整并解决产生一个可执行模块。它能调整并解决外部符号参考。连接器的输入是可重新外部符号参考。连接器的输入是可
4、重新定位的定位的COFF目标文件和目标库文件。目标文件和目标库文件。3-3 3-3 段的定义段的定义(.9小节)小节)u为了有效利用为了有效利用DSP的内部或外部存储器,的内部或外部存储器,目标文件中的代码和数据被存放在不同目标文件中的代码和数据被存放在不同的段中。的段中。u这些数据段或代码段在内存中可以是分这些数据段或代码段在内存中可以是分开的,也可以是连续的。开的,也可以是连续的。u在生成的在生成的OUT文件中包括三个缺省段:文件中包括三个缺省段:u汇编器和连接器允许创建、命名和连接汇编器和连接器允许创建、命名和连接已经命名的段已经命名的段。告诉连接器可以使用的存储器告诉连
5、接器可以使用的存储器u存储器指令(存储器指令(memory directive) 定义定义目标系统的存储器图。用户可以给部分目标系统的存储器图。用户可以给部分存储器命名,定义它的起始地址和长度。存储器命名,定义它的起始地址和长度。u段指令(段指令(sections directive) 告诉连接告诉连接器如何将输入段合并到输出段中,及将器如何将输入段合并到输出段中,及将这些输出段放在存储器的什么地方。用这些输出段放在存储器的什么地方。用户可以用连接器的户可以用连接器的SECTIONS指令指定指令指定子段,如不特别指定,子段将和同基段子段,如不特别指定,子段将和同基段名的段合并在一起。名的段合并
6、在一起。在代码中三个缺省段在代码中三个缺省段u.text 包括可执行代码包括可执行代码u.data 包括已经初始化了的数据包括已经初始化了的数据u.bss 为未初始化变量保存空间为未初始化变量保存空间u还可以在汇编语言中自己定义的用于存还可以在汇编语言中自己定义的用于存放 代 码 的 段 , 如放 代 码 的 段 , 如 . s e c t ( 代代码),码), .usect 、 .buffer (数据)等(数据)等内存定位内存定位CMD控制文件例子控制文件例子MEMORYMEMORY PAGE 0: PROG: origin = 1800h, length = 800h PAGE 0: PR
7、OG: origin = 1800h, length = 800h PAGE 4: PROG: origin = 0200h, length = 100h PAGE 4: PROG: origin = 0200h, length = 100h PAGE 1: DATA: origin = 0c00h, length = 100h PAGE 1: DATA: origin = 0c00h, length = 100h PAGE 2: DATA: origin = 0d00h, length = 200h PAGE 2: DATA: origin = 0d00h, length = 200h PA
8、GE 3: DATA: origin = 0f00h, length = 100h PAGE 3: DATA: origin = 0f00h, length = 100h SECTIONSSECTIONS .text PROG PAGE 0 .text PROG PAGE 0 .vect PROG PAGE 4 .vect PROG PAGE 4 .bss DATA PAGE 1 .bss DATA PAGE 1 .data DATA PAGE 2 .data DATA PAGE 2 .buffer DATA PAGE 3 .buffer DATA PAGE 3 内存定位内存定位CMD控制文件
9、说明控制文件说明u其中,包含两个部分:其中,包含两个部分:MEMORY和和SECTIONS。在。在MEMORY中,主要说中,主要说明目标系统中哪些存储器可以使用,它明目标系统中哪些存储器可以使用,它们的起始地址是多少,大小如何。们的起始地址是多少,大小如何。u在在SECTIONS部分中,主要完成段的具部分中,主要完成段的具体地址的分配。例如,我们将体地址的分配。例如,我们将.text段存段存放在放在1800h开始的程序空间中,将开始的程序空间中,将.bss段段存放在存放在c00h开始的数据空间中,将开始的数据空间中,将.vect段存放在程序空间的段存放在程序空间的200h开始的地方。开始的地方
10、。内存定位内存定位CMD文件另一例子文件另一例子asmlnk.objasmlnk.objasmlnk1.objasmlnk1.obj-m asmlnk.map-m asmlnk.map-o asmlnk.out-o asmlnk.outMEMORYMEMORY PAGE 0: IPROG: origin = 0 x880, len = 0 x1f80 PAGE 0: IPROG: origin = 0 x880, len = 0 x1f80 VECT: origin = 0 x800, len = 0 x80 VECT: origin = 0 x800, len = 0 x80 PAGE 1:
11、 USERREGS: origin = 0 x60, len = 0 x1c PAGE 1: USERREGS: origin = 0 x60, len = 0 x1c BIOSREGS: origin = 0 x7c, len = 0 x4 BIOSREGS: origin = 0 x7c, len = 0 x4 IDATA: origin = 0 x80, len = 0 x780 IDATA: origin = 0 x80, len = 0 x780 定位定位CMD控制文件另一例子控制文件另一例子SECTIONSSECTIONS .vect: VECT PAGE 0 .vect: VEC
12、T PAGE 0 .sysregs: BIOSREGS PAGE 1 .sysregs: BIOSREGS PAGE 1 .gblinit: IPROG PAGE 0 .gblinit: IPROG PAGE 0 .bios: IPROG PAGE 0 .bios: IPROG PAGE 0 .text: IPROG PAGE 0 .text: IPROG PAGE 0 .cinit: IPROG PAGE 0 .cinit: IPROG PAGE 0 .pinit: IPROG PAGE 0 .pinit: IPROG PAGE 0 .sysinit: IPROG PAGE 0 .sysin
13、it: IPROG PAGE 0 .bss: IDATA PAGE 1 .bss: IDATA PAGE 1 .far: IDATA PAGE 1 .far: IDATA PAGE 1 .const: IDATA PAGE 1 .const: IDATA PAGE 1 .switch: IDATA PAGE 1 .switch: IDATA PAGE 1 .sysmem: IDATA PAGE 1 .sysmem: IDATA PAGE 1 .sysheap: IDATA PAGE 1 .sysheap: IDATA PAGE 1 定位定位CMD文件可以包含参数文件可以包含参数u在上个例子中,
14、我们将连接器使用的参在上个例子中,我们将连接器使用的参数添加到内存定位数添加到内存定位CMD文件中,这样整文件中,这样整个连接器命令可以简化为(以个连接器命令可以简化为(以C5000系列系列为例,使用为例,使用LNK500):):C:C54XLNK500 asmlnk.cmd优化优化C C编译器的使用编译器的使用uTMS320 DSP的的C编译器主要有编译器主要有代码分析代码分析工具工具、优化器优化器、汇编代码生成器汇编代码生成器、汇编、汇编工具和连接工具组成,其中汇编工具和工具和连接工具组成,其中汇编工具和连接工具与汇编语言共享。连接工具与汇编语言共享。u编译分为两个阶段:编译分为两个阶段:
15、第一阶段分析代码,第一阶段分析代码,第二阶段产生汇编语言源程序。第二阶段产生汇编语言源程序。完成第完成第一阶段后,还可以选择一种优化途径。一阶段后,还可以选择一种优化途径。使用使用CL500编译编译C程序程序u下面是一些常用的选项:下面是一些常用的选项:-g: 允许使用允许使用C代码级的调试。代码级的调试。-k: 保留生成的汇编源程序。保留生成的汇编源程序。-ss: 产生产生C的注释汇编源程序。的注释汇编源程序。-z: 允许调用连接程序。允许调用连接程序。-o: 完成优化完成优化使用使用CL500编译编译C程序例子程序例子u使用使用CL500编译并连接,生成编译并连接,生成function.o
16、ut文件(使用文件(使用lnk.cmd内存映射内存映射定位文件)。同时使用优化器,以及标定位文件)。同时使用优化器,以及标准的准的C语言库语言库rts.lib。u在集成开发环境在集成开发环境CCS中,可以通过工程中,可以通过工程文件添加或选择使用的参数文件添加或选择使用的参数 !由!由CCS自自动生成动生成CL500命令的命令行参数。命令的命令行参数。cl500 -o function.c -z lnk.cmd -o function.out -cl500 -o function.c -z lnk.cmd -o function.out -l rts.libl rts.lib使用优化编译器后的
17、效果?使用优化编译器后的效果?u这段程序很简单,主要完成一个乘累加这段程序很简单,主要完成一个乘累加运算,结果放在变量运算,结果放在变量sumsum中。为了便于比中。为了便于比较优化器的效果,我们在编译时加入较优化器的效果,我们在编译时加入-ss-ss参数,以保留参数,以保留C C与汇编源代码。与汇编源代码。u先看不使用优化器的情况:先看不使用优化器的情况: sum=0;sum=0; for(k=0;k20;k+) for(k=0;k20;k+) sum+=ik sum+=ik* *jk;jk;-;-; 12 | for(k=0;k20;k+) ; 12 | for(k=0;k20;k+) ;
18、-;- ST #0, ST #0,* *SP(2) ; |12| SP(2) ; |12| SSBX SXM ; SSBX SXM ; LD #20,A ; |12| LD #20,A ; |12| SUB SUB * *SP(2),A ; |12| SP(2),A ; |12| BC L2,ALEQ ; branch occurs ; |12| BC L2,ALEQ ; branch occurs ; |12| L1: L1: ;-;-; 13 | sum+=ik; 13 | sum+=ik* *jk; jk; ;-;- MVDK MVDK * *SP(2),SP(2),* *(AR1) ;
19、 |13| (AR1) ; |13| LD LD * *SP(3),A ; |13| SP(3),A ; |13| LD LD * *AR1(_j),T ; |13| AR1(_j),T ; |13| MAC MAC * *AR1(_i), A ; |13| AR1(_i), A ; |13| STL A, STL A,* *SP(3) ; |13| SP(3) ; |13| ADDM #1, ADDM #1,* *SP(2) ; |13| SP(2) ; |13| LD #20,A ; |13| LD #20,A ; |13| SUB SUB * *SP(2),A ; |13| SP(2),
20、A ; |13| BC L1,AGT ; branch occurs |13| BC L1,AGT ; branch occurs |13| L2:L2:使用优化编译器后的效果?使用优化编译器后的效果?u请注意观察第请注意观察第1212和第和第1313行乘累加运算的行乘累加运算的实现。在未使用优化的情况时,编译器实现。在未使用优化的情况时,编译器使用最普通的方法实现该运算,即先完使用最普通的方法实现该运算,即先完成一次乘法,然后累加,再进行循环控成一次乘法,然后累加,再进行循环控制判断。当然,整个运算结果是正确的,制判断。当然,整个运算结果是正确的,只是多消耗时间。只是多消耗时间。u如果在编译
21、时使用优化参数,例如使用如果在编译时使用优化参数,例如使用- -o2o2,完成全局优化,其效果将大大不同。,完成全局优化,其效果将大大不同。 例如:例如:cl500 a.c -ss -o(或或-o2)使用优化参数后的效果使用优化参数后的效果;-;-; 10 | sum=0; ; 10 | sum=0; ; 12 | for(k=0;k20;k+) ; 12 | for(k=0;k20;k+) ;-;- LD #0,A ; |10| LD #0,A ; |10| RPT #19 ; loop starts |6| RPT #19 ; loop starts |6| L1: L1: ;-;-; 1
22、3 | sum+=ik; 13 | sum+=ik* *jk; jk; ;-;- MAC MAC * *AR3+, AR3+, * *AR2+, A, A ; |13| AR2+, A, A ; |13| ; loop ends |13| ; loop ends |13| L2: L2: 使用优化编译器后的效果使用优化编译器后的效果u再观察第再观察第1212和第和第1313行,这次完成乘累加行,这次完成乘累加运算使用了运算使用了MACMAC指令,并且使用了单指令指令,并且使用了单指令循环操作,从而大大提高了运算效率。循环操作,从而大大提高了运算效率。u同时,优化器还对数组变量同时,优化器还对数
23、组变量i,ji,j直接使用直接使用不同的辅助寄存器寻址,进一步提高了不同的辅助寄存器寻址,进一步提高了程序运行效率。程序运行效率。u有关优化器的更详细的介绍、技巧,请有关优化器的更详细的介绍、技巧,请参考参考TITI提供的优化编译器手册和相关技提供的优化编译器手册和相关技术文档。术文档。3-5 C6Run3-5 C6Run工具工具u TI为简化ARM+DSP这种双核中DPS程序的开发工作, C6Run(C6EZRun)应运而生。 u利用C6Run工具,不需要任何其它的编译工作或者软件框架做支持,就可以轻松完成ARM+DSP双核平台的C语言程序开发。uC6Run工具是将DSP执行的代码编译并重新
24、封装成为ARM可执行的文件,或者是ARM可链接的库文件。分为两个小工具,分别是C6RunLib和C6RunApp。3-6 C6Accel3-6 C6Accel工具的使用工具的使用u C6Accel也称C6EZAccel ,ARM开发人员可以在ARM+DSP的异构双核处理器上,方便地使用DSP端已封装优化好的软件。u从图(下页)上可以看出,C6Accel和Codec Engine二者之间的关系。C6Accel封装在Codec Engine之上,相对于Codec Engine,更方便于开发人员使用C6AccelC6Accel与与CECE的关系的关系3-7 C6Flo3-7 C6Flo工具工具u德州
25、仪器(TI)的C6Flo是一款免费的图形软件开发工具,可与TI的CCS IDE或基于DSP的开发工具配合使用。uC6Flo提供了一个直观的拖放界面,可用于创建系统方框图。图中的块可以表示从优化的DSP算法到外设I/O驱动程序等各种内容。u该工具可对系统方框图进行解析,并自动生成结构清晰、评价良好的C代码。这些工具最终昙花一现uTI网站上都会有下面类似的提示:uC6Accel development tool is no longer being developed. For new designs, please consider RCM, or other alternatives such
26、 as SysLink, Codec Engine IUNIVERSAL support, or OpenCL. C6Accel is available for download as-is without future feature/bugfix updates.What is RCM?uThe Remote Command Message (RCM) SW framework provides a client/server implementation for executing functions on a remote processor. RCM provides both c
27、lient (RcmClient) and server (RcmServer) related APIs.uhttp:/ is OpenCL?uOpenCL stands for Open computing Language and is a way to execute code on a multi-core system, even with different core types.uTI is currently working on OpenCL for the C6000 CPU family. At the time of this writing (June 2012),
28、 the software has not been released.uIf you are interested, please post a message to the E2E suport forums so that we may contact you and discuss your use cases.3-8 XDC3-8 XDC工具(工具(3.63.6节)节)uXDC工具根据一套Build指令,生成可执行的文件,用于实时的嵌入式系统。u它包括开发API的工具和标准、静态配置工具和打包工具。XDC最大的好处在于,标准化了传递过程,简化了在应用程序中在目标平台下引用其他包的过程
29、。u基于XDC的应用开发,具有独立于硬件的标准接口、支持离线配置以便优化存储器的使用和性能的提高,并支持定制的开发环境里的自动操作的特点。XDCXDC工具工具- -特点特点u和其他编译工具(如gmake)一样,XDC工具可以根据编译指令生成可执行文件或者库,可以编译任何相关文件,并且可以同时为多种目标板作编译,所编译的源文件可以为C、C+、汇编和库文件。XDC有其自身的特点和优势。XDCXDC工具工具- -特点特点u由于RTSC包可以保持文件相关和版本信息,当使用RTSC包作为源文件时,XDC工具可以自动进行文件相关和版本检查。u只要为应用程序提供一个简单的配置脚本,XDC工具就可以生成代码,
30、这在应用程序使用多个包文件时显得尤为重要,可以极大地简化诸如Davinci Engine和DSP服务器之类的复杂应用程序的编译。 uCCS自带或TI网站下载!3-10 3-10 系统集成与调试工具系统集成与调试工具TI DSP有那些开发工具有那些开发工具?uTI公司为公司为TMS320系统的集成与调试系统的集成与调试所提供的工具包括所提供的工具包括:软仿真器(软仿真器(Simulator)-软件仿真器软件仿真器DSP入门套件(入门套件(DSK,DSP Starter Kit)标准评估模块(标准评估模块(EVM)扩展开发系统扩展开发系统XDS(eXtended Development Syste
31、m)-硬件仿真器需软件配合使用硬件仿真器需软件配合使用 集成开发软件集成开发软件CCS(Code Composer Stdio)3-10-1 3-10-1 软仿真器软仿真器(SimulatorSimulator)u软仿真器是一个软件程序,使用主机的处软仿真器是一个软件程序,使用主机的处理器和存储器来仿真理器和存储器来仿真TMS320 DSP,从而,从而进行软件开发和非实时的程序验证。进行软件开发和非实时的程序验证。u可以在没有目标硬件的情况下作可以在没有目标硬件的情况下作DSP软件软件的开发和调试。的开发和调试。u它可以直接使用由它可以直接使用由TMS320宏汇编器宏汇编器/连接连接器或器或A
32、NSI C编译器所产生的目标代码编译器所产生的目标代码(.out)文件为输入文件为输入。软仿真器软仿真器的主要特性的主要特性u在主机上执行用户的在主机上执行用户的DSP程序。程序。u修改和检查寄存器,进入时初始化寄存器。修改和检查寄存器,进入时初始化寄存器。u显示和修改数据和程序存储器:在任何时显示和修改数据和程序存储器:在任何时候可以修改整个块。候可以修改整个块。u设置断点:添加指令,读写内存,数据总设置断点:添加指令,读写内存,数据总线或程序总线上的数据类型,出错条件。线或程序总线上的数据类型,出错条件。u跟踪累加器、程序计数器、辅助寄存器等。跟踪累加器、程序计数器、辅助寄存器等。软仿真器
33、软仿真器的主要特性的主要特性u单步执行指令。单步执行指令。u在用户指定的时间产生中断。在用户指定的时间产生中断。u用文件的方式快速存储和调用仿真参数。用文件的方式快速存储和调用仿真参数。u反汇编能力,以便对源语句作编辑和重反汇编能力,以便对源语句作编辑和重汇编。汇编。u存储器的内容可以同时显示为十六进制存储器的内容可以同时显示为十六进制的的16-bit值和汇编后的源代码。值和汇编后的源代码。C6RunC6Run工具实现工具实现DSPDSP代码的运行代码的运行u先使用C6000 CG TOOLS工具,把DSP端的C文件编译成C6000 OBJ文件,使用LINK工具生成一个完整的DSP应用程序,并
34、自动添加与ARM的接口函数。u在ARM端,C6RunApp工具自动生成一个应用软件,自动调用DSP端应用程序。u或者,在ARM端,C6RunLib工具将这个DSP应用程序编译成可供ARM应用程序调用的库函数(文件),供其它ARM函数调用。3-10-2 DSK3-10-2 DSK系列评估工具以系列评估工具以及标准评估模块(及标准评估模块(EVMEVM)uDSP入门套件(入门套件(DSK,DSP Starter Kit)、)、评估模块(评估模块(EVM,Evaluation Module)是是TI或或TI的第三方(的第三方(Third Party)为)为TMS320 DSP的使用者设计和生产了一的
35、使用者设计和生产了一种评价种评价DSP的平台。的平台。u目前几乎所有的型号都有这样的目前几乎所有的型号都有这样的EVM板板供开发人员参考、学习、使用。供开发人员参考、学习、使用。DSK和和EVM的特点:的特点:uDSK或或EVM板除了提供一个完整的板除了提供一个完整的DSP硬件系统外(包括硬件系统外(包括A/D & D/A、外部程、外部程序序/数据存储器、外部接口等)。数据存储器、外部接口等)。u提供有完整的代码生成工具和调试工具。提供有完整的代码生成工具和调试工具。u用户可以使用用户可以使用DSK或或EVM板来作板来作DSP的的实验,进行诸如控制系统、语音处理等实验,进行诸如控制系统
36、、语音处理等测试应用;也可以用来编写和运行实时测试应用;也可以用来编写和运行实时源代码,并对其进行评估;还可以用来源代码,并对其进行评估;还可以用来调试用户自己的系统。调试用户自己的系统。USBSTK5515,$79Critical LinkCritical Link公司的公司的C6455+FPGAC6455+FPGA评估板评估板,$1099,$1099 DM6467DM6467数字视频评估板数字视频评估板(DVEVMDVEVM),$1995,$19953-10-3 3-10-3 硬仿真器硬仿真器EmulatorsEmulators(XDS510/XDS560/XDS100XDS510/XDS
37、560/XDS100)硬仿真器是不可缺少的工具硬仿真器是不可缺少的工具uTMS320扩展开发系统扩展开发系统XDS(eXtended Development System)是功能强大的全)是功能强大的全速仿真器,用以系统级的集成与调试。速仿真器,用以系统级的集成与调试。u扫描式仿真(扫描式仿真(Scan-Based Emulator)是)是一种独特的、非插入式的系统仿真、集一种独特的、非插入式的系统仿真、集成调试方法。使用这种方法,程序可以成调试方法。使用这种方法,程序可以从片外或片内的目标存储器实时执行,从片外或片内的目标存储器实时执行,在任何时钟速度下都不会引入额外的等在任何时钟速度下都不
38、会引入额外的等待状态。待状态。硬仿真器是不可缺少的工具硬仿真器是不可缺少的工具uTMS320器件的结构通过内部的、可以由器件的结构通过内部的、可以由单一串口访问的移位寄存器扫描通道来单一串口访问的移位寄存器扫描通道来实现扫描式仿真。实现扫描式仿真。u该扫描通道提供对内部的器件寄存器和该扫描通道提供对内部的器件寄存器和状态机的访问,允许完全的可观察和控状态机的访问,允许完全的可观察和控制。制。u即便即便DSP焊接到了目标系统中,这种非焊接到了目标系统中,这种非插入式的方法仍然可以工作。插入式的方法仍然可以工作。硬仿真器是不可缺少的工具硬仿真器是不可缺少的工具uXDS510/XDS510WS仿真器
39、是用户界面仿真器是用户界面友好、以友好、以PC或或SUN工作站为基础的开发工作站为基础的开发系统,可以对系统,可以对C2xx、C3x、C4x、C5x、C54x、C8x、C6x、OMAP、Davinci等等片种实施全速扫描式仿真。片种实施全速扫描式仿真。u用户可以使用用户可以使用XDS510来调试来调试C程序、汇程序、汇编语言程序,或两者的混合程序。编语言程序,或两者的混合程序。u可支持可支持ARM的调试。的调试。XDS510的主要特性:的主要特性:u通过一个通过一个14pin/20pin/60pin的目标连接器,的目标连接器,全速执行和监视目标系统中的器件全速执行和监视目标系统中的器件u并行处
40、理并行处理DSP的全局运行的全局运行/停止停止/断点断点u高级语言(高级语言(HLL)调试接口)调试接口u最多可达最多可达200个断点的软件断点个断点的软件断点/跟踪和跟踪和计时计时u对所有程序和数据地址作硬件断点对所有程序和数据地址作硬件断点/跟踪跟踪u单步执行,等等单步执行,等等使用使用XDS510调试调试DSP系统系统TI和第三方都提供仿真器和第三方都提供仿真器u除除TITI自己提供自己提供XDS510/560/XDS100XDS510/560/XDS100仿真器仿真器外,还有国内外厂家都提供类似产品。外,还有国内外厂家都提供类似产品。u国外厂商如国外厂商如SpectrumDigital
41、SpectrumDigital等。等。u国内厂商如合众达、闻亭等。国内厂商如合众达、闻亭等。u提供多种提供多种PCPC接口的仿真器,如接口的仿真器,如LANLAN、PCIPCI、USBUSB接口的仿真器接口的仿真器, ,适应不同用户的要求。适应不同用户的要求。u低成本的低成本的XDS100仿真器仿真器,用户甚至可以用户甚至可以自己设计制作自己设计制作XDS100仿真器。仿真器。3-11 3-11 集成开发环境(集成开发环境(CCSCCS)(3.13.1节)节)集成开发环境(集成开发环境(CCSCCS)uCCS(Code Composer Studio)是一个完整是一个完整的的DSP集成开发环境
42、,也是目前最优秀、集成开发环境,也是目前最优秀、最流行的最流行的DSP开发软件之一。开发软件之一。uCCS最早是由最早是由GO DSP公司为公司为TI的的C6000系列开发的,后来系列开发的,后来TI收购了收购了GO DSP,并将,并将CCS扩展到其它系列。扩展到其它系列。u现在所有的现在所有的TI DSP都可以使用该软件工都可以使用该软件工具进行开发,具进行开发,C5000和和C6000,C2000的的CCS中都提供中都提供DSP/BIOS功能功能CCS包含哪些功能?包含哪些功能?u集成可视化代码编辑界面,可直接编写集成可视化代码编辑界面,可直接编写C C,汇编、汇编、.H.H文件、文件、.
43、cmd.cmd文件等。文件等。u集成代码生成工具,包括汇编器、优化集成代码生成工具,包括汇编器、优化C C编译器、连接器等等。编译器、连接器等等。u基本调试工具,如装入执行代码(基本调试工具,如装入执行代码(.OUT.OUT文件),查看寄存器窗口,存储器窗口,文件),查看寄存器窗口,存储器窗口,反汇编窗口,变量窗口等,支持反汇编窗口,变量窗口等,支持C C源代码源代码级调试。级调试。CCS包含哪些功能?包含哪些功能?u支持多支持多DSPDSP调试调试u断点工具,包括硬件断点、数据空间读断点工具,包括硬件断点、数据空间读/ /写断点,条件断点(使用写断点,条件断点(使用GELGEL编写表达式)编
44、写表达式)等等。等等。u探针工具探针工具(probe points)probe points),可用于算法可用于算法仿真,数据监视等。仿真,数据监视等。u剖析工具剖析工具(profile points)profile points),可用于评可用于评估代码执行的时钟数。估代码执行的时钟数。CCS包含哪些功能?包含哪些功能?u数据的数据的图形显示图形显示工具,可绘制时域工具,可绘制时域/ /频域频域波形,眼图,星座图,图象等,并可自波形,眼图,星座图,图象等,并可自动刷新(使用动刷新(使用AnimateAnimate命令运行)。命令运行)。u提供提供GELGEL工具工具,令用户可以编写自己的控,
45、令用户可以编写自己的控制面板制面板/ /菜单,从而方便直观地修改变量,菜单,从而方便直观地修改变量,配置参数等。配置参数等。u开放式的开放式的plug-insplug-ins技术,支持其它第三技术,支持其它第三方的方的ActiveXActiveX插件,支持各种仿真器包括插件,支持各种仿真器包括软仿真(只需安装相应的驱动程序)。软仿真(只需安装相应的驱动程序)。CCS包含哪些功能?包含哪些功能?u支持支持WindowsWindows、linuxlinux操作系统。操作系统。u支持调试支持调试LinuxLinux的应用程序(的应用程序(CCSV5CCSV5)。)。u提供提供DSP/BIOSDSP/
46、BIOS工具,利用该工具可增强对代码工具,利用该工具可增强对代码的实时分析能力,如分析代码执行的效率,调的实时分析能力,如分析代码执行的效率,调度程序执行的优先级,方便管理或使用系统资度程序执行的优先级,方便管理或使用系统资源(代码源(代码/ /数据占用空间,中断服务程序的调数据占用空间,中断服务程序的调用,定时器使用等等),从而减小开发人员对用,定时器使用等等),从而减小开发人员对硬件资源熟悉程度的依赖性。硬件资源熟悉程度的依赖性。添加目标板配置文件添加目标板配置文件uCCSCCS支持软仿真器、各种型号硬仿真器、支持软仿真器、各种型号硬仿真器、各种各种DSKDSK和和EVMEVM板,你只需要
47、向相应的生板,你只需要向相应的生产厂家索取驱动程序,然后在产厂家索取驱动程序,然后在CCSCCS安装便安装便可以使用了,可以使用了,通常情况通常情况CCSV5CCSV5自带自带。u配置文件(配置文件(Target ConfigurationsTarget Configurations)描)描述执行代码的具体述执行代码的具体DSPDSP平台型号平台型号以及以及连接连接DSPDSP平台的工具平台的工具(可以是(可以是SimulatorSimulator和各和各种种XDSXDS仿真器)。仿真器)。uCCSCCS在进入在进入DebugDebug窗口时需要这配置文件。窗口时需要这配置文件。添加目标板配置
48、文件添加目标板配置文件u配置文件可以在建立项目文件(配置文件可以在建立项目文件(ProjectProject)时添加。这样可以方便地时添加。这样可以方便地BuildBuild、BebugBebug一键启动。一键启动。u配 置 文 件 也 可 以 独 立 于 项 目 文 件配 置 文 件 也 可 以 独 立 于 项 目 文 件(ProjectProject)。这时需要用户单独启动调)。这时需要用户单独启动调试所使用的配置文件。这种方法更据灵试所使用的配置文件。这种方法更据灵活性。活性。u进入进入DebugDebug后,后,CCSCCS通过配置文件连接目通过配置文件连接目标板。标板。GELGEL文件文件可以对目标系统可以对目标系统进行设置进行设置。利用利用CCSCCS开发开发DSPDSP程序流程程序流程u在在CCSCCS环境中,你可以打开或新建环境中,你可以打开或新建项目项目文文件件,用,用C C或汇编语言完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度农业机械设备产品销售与租赁协议4篇
- 2025年度影视基地场地及道具租赁合同4篇
- 二零二五版智能家电组装加工承包合作协议2篇
- 二零二五年度森林防火铲车租赁及应急救援协议3篇
- 二零二五年度股东股权转让他益权与公司分红调整合同3篇
- 二零二五版市场营销咨询与服务合同3篇
- 二零二五年度绿色制造车间生产承包合作协议书3篇
- 2025届山西省(运城地区)达标名校中考生物猜题卷含解析
- 二零二四年小麦种子区域化种植推广购销协议3篇
- 醇沉课程设计
- 大学《工程力学》期末考试试题库含详细答案
- 2022年湖北省武汉市中考数学试卷含解析
- TLFSA 003-2020 危害分析与关键控制点(HACCP)体系调味面制品生产企业要求
- LY/T 2244.3-2014自然保护区保护成效评估技术导则第3部分:景观保护
- 纪律教育月批评与自我批评五篇
- GB/T 26480-2011阀门的检验和试验
- GB/T 13342-2007船用往复式液压缸通用技术条件
- 药店员工教育培训资料
- GB 20371-2016食品安全国家标准食品加工用植物蛋白
- 【英语手写体】26英文字母手写体描红书写字帖
- 实习护生压疮相关知识掌握情况及预防态度的调查问卷
评论
0/150
提交评论