DSP开发环境与工具.ppt_第1页
DSP开发环境与工具.ppt_第2页
DSP开发环境与工具.ppt_第3页
DSP开发环境与工具.ppt_第4页
DSP开发环境与工具.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章DSP的开发环境与工具,主要内容,软件开发过程及开发工具CCS集成开发环境,DSP的开发环境和工具,代码生成工具系统集成及调试环境与工具实时操作系统,C优化编译器,TI为其TMS320系列DSP提供了系列的C编译器。将标准C源文件编译成为相应片种的汇编语言源代码文件,进而汇编和连接,产生可执行的目标文件。这些C编译器符合ANSIC标准;有运行支持库;一个外壳程序(shellprogram)可以一步将C源代码翻译成为TMS320的目标代码。,汇编语言工具,TMS320的汇编语言工具是一个软件包,其中包括:,汇编器连接器归档器交叉引用列表器十六进制转换公用程序,汇编器(Assembler),将汇编语言的源程序文件汇编成为机器语言的目标程序文件,其格式为COFF(公用目标文件格式)。汇编语言源程序可以包括汇编语言指令(instruction)、汇编指令(assemblerdirectives)和宏指令(macrodirectives),连接器(Linker),连接器的基本任务是将目标文件连接在一起,产生可执行模块。连接器可以接受的输入文件包括汇编器产生的COFF目标文件、命令文件、库文件、以及已部分连接好了的文件。它所产生的可执行COFF目标模块可以装入各种开发工具,或由TMS320器件来执行,归档器(Archiver),归档器允许用户将一组文件归入一个档案文件(库)。例如,将若干个宏归入一个宏库,汇编器将搜索这个库,并调用源文件中使用的宏。也可以用归档器将一组目标文件收入一个目标文件库,连接器将连接库内的成员,并解决外部引用,交叉引用列表器(Cross-ReferenceLister),交叉引用列表器是一个查错的工具。它接受已经连接好的目标文件作为输入,产生一个交叉引用列表作为输出。它列出符号、符号的定义、以及它们已经连接的源文件中的引用,十六进制转换公用程序(HexConversionUtility),将COFF目标文件转换成为若干种标准的文件格式:ASCII-十六进制ExtendedTektronixIntelMCS-86MotorolaExorciserTISDSMAC,系统集成与调试工具,TI公司为TMS320系统的集成与调试所提供的工具包括调试器接口(C/Assemblysourcedebugger)、软仿真器(Simulator)、DSP入门套件(DSK,DSPStarterKit)、标准评估模块(EVM)、以及扩展开发系统XDS(eXtendedDevelopmentSystem)等,软件仿真器(Simulator),将链接器输出文件(.out文件)调入到一个PC机的软件模拟窗口下,对DSP代码进行软件模拟和调试。TMS320软件仿真器是一个软件程序,使用主机处理器和存储器仿真TMS320DSP的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证。,硬件在线仿真器(XDSEmulator),为可扩展的开发系统仿真器(XDS510),可以用来进行系统级的集成调试,是进行DSP芯片软、硬件开发的最佳工具。XDS510是TI为其系列DSP设计用以系统调试的专用硬件仿真器(Emulators),它使用JTAG标准,使用这种方法,程序可以从片外或片内的目标存储器实时执行,在任何时钟速率下都不会引入额外的等待状态。,评估模块(EVM板),TMS320的评估模块是廉价的开发板,用于对DSP芯片的性能评估、标准程序检查,也可以用来组成一定规模的用户DSP系统。,CCS集成开发环境,TMS320C54x代码生成工具,如汇编器、链接器、C/C+编译器、建库工具等。CCS集成开发环境(IntegratedDevelopongEnvirorment,IDE),包括编辑器、工程管理工具、调试工具等。DSP/BIOS(BasicInputandOutputSystem)插件及应用程序接口API(ApplicationProgranInterface)。RTDX(RealTimeDataExchange)实时数据交换插件、主机(Host)接口及相应的API。,CCS系统安装,CCS对PC机的最低要求为Windows95、32MRAM、100M剩余硬盘空间、奔腾90以上处理器、SVGA显示器(分辨率800600以上)。,CCS系统设置,在安装CCS之后、运行CCS软件之前,首先需要运行CCS设置程序,根据用户所拥有的软、硬件资源对CCS进行适当的配置。启动SetupCCS应用程序,将显示CodeComposerStudioSetup窗口。,在FactoryBoards中添加设置,在Family下选择C55xx,将看到所有C55xx的仿真驱动,包括软件仿真和硬件仿真;在Platform下选择Simulator,在AvailableFactoryBoards中只显示软件仿真驱动,选中相应的驱动;双击C55xxRev4.0CPUFunctionalSimulator,可以在MySystem下看到所加入的驱动;点击SavePAGEn:namen(attr):original=constant,length=constant;,(1)PAGE指定存储器空间页面,最多255。通常PAGE0用于程序存储器,PAGE1用于数据存储器。如果不指定PAGE,链接器默认指定PAGE0。每一个PAGE代表一个完全独立的地址空间。(2)name是存储器区间的取名,可由164个字符组成,包括AZ、az、$、.、_。名称对链接器没有特殊的含义,只是用来区分链接器区间。在不同的PAGE里区间名可以相同,但有同一个PAGE里区间名不能相同,且不能重叠配置。,(3)attr指定存储区的14种属性,属性为任选项,利用属性将输出段定位到存储器时加以限制。R:指定该存储区可以读。W:指定该存储区可以写。X:指定该存储区可以装入可执行代码。I:指定该存储区可以进行初始化。如果不给存储区指定属性,默认为具有以上4种属性,可以不受限制地将任何输出段分配到该存储区。,(4)original指定存储区的起始地址,可以简写为org或o,该值是一个16位二进制常数,可以用十进制、八进制或十六进制数表示。(5)length指定存储区的长度,可以简写为len或l。,SECTIONS伪指令语法格式如下:SECTIONSname:property,property,propertyname:property,property,propertyname:property,property,property,段,.text:包括可执行代码、字符串和编译器产生的常数.data:数据段.cinit:初始化变量和常数表.const:字符串和以const关键字定义的常量.switch:包含switch语句表.bss:为全局变量和静态变量保留空间.stack:为C的系统堆栈分配存储空间.system:动态分配存储器分配保留空间,为C语言函数malloc、calloc、realloc动态分配存储器,通常,.text、.cinit、.switch段可以链接到系统的ROM或RAM中且必须是在程序存储器中(page0);.const段可以链接到系统的ROM或RAM中,且必须是在数据存储器中(page1);.bss、.stack、.system段必须链接到系统的RAM中,且必须是在数据存储器中(page1)。,链接器命令文件举例,-ohello.out-mhello.mapMEMORYPAGE0:VECT:origin=0 x8000h,length0 x040hPAGE0:PROG:origin=0 x8040h,length0 x600hPAGE1:DATA:origin=0 x8000h,length0 x400hSECTIONS.vectorsVECTPAGE0.textPROGPAGE0.bssDATAPAGE1.constDATAPAGE1,用CCS开发简单的程序,1创建新的工程文件工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。(1)在CCS的安装目录的myprojects子目录下创建一个myfile1目录。(2)启动CCS,在Project菜单中选择New项,在Project中输入myfile1,CCS将创建一个名为myfile1.pjt的工程。,2.将文件添加到工程中(1)新建源文件执行菜单file/New/sourcefiles,并把文件保存在myfile工程文件夹下。(2)在工程中添加源文件执行菜单project/addfilestoproject,把此文件添加到工程中。,3生成和运行程序(1)选择菜单命令ProjectRebuildAll,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。(2)选择菜单命令FileLoadProgram,在当前目录的Debug目录下选择myfile.out并打开,将Build生成的程序加载到DSP中。(3)选择菜单命令DebugRun或在Debug工具栏上单击Run按钮,运行该程序。,举例,实现数组a20=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,x20=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1的初始化,并将数据存储器中的数组x20复制到数组y20,将数据存储器中的a20写入到程序存储器PROM(2000H-2013H),再将程序存储器PROM中的20个数据存入数据存储器DATA(0200H-0213H),1.编写汇编源程序,.mmregs.dataTBL:.word0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19.word1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1PROM:.usect“PROM”,20.bssa,20.bssx,20.bssy,20DATA.usect“DATA”,20,.textStart:STM#a,AR1RPT#39MVPDTBL,*AR1+STM#x,AR2STM#y,AR3RPT#19MVDD*AR2+,*AR3+STM#a,AR1LD#PROM,ASTM#19,AR3,LOOP:WRITA*AR1+ADD#1,A,ABANZLOOP,*AR3-LD#PROM-1,ASTM#DATA,AR1ST#19,BRCRPTBLOOP1ADD#1,A,ALOOP1:READA*AR1+WAIT:NOPBWAIT,2.建立汇编源程序,在CCS环境下,点击file/new/sourcefile菜单命令,打开一个空白文档,将汇编程序输入。单击file/save菜单命令,在D:programfilestimyprojects下保存文件名为mymove,并选择保存类型为*.asm。,3.建立链接命令文件,_omymove.out_mmymove.mapMEMORYPAGE0:RAM:origin=1000h,length=800hRAM1:origin=2000h,length=300hPAGE1:DARAM1:origin=0100h,length=100hDARAM2:origin=0200h,length=100h,SECTIONS.data:RAMPAGE0.text:RAMPAGE0PROM:RAM1PAGE0.bss:DARAM1PAGE1DATA:DARAM2PAGE1,4.创建一个新工程,在project菜单中选择new项,弹出projectcreation窗口,在project栏中输入mymove,单击“完成”按钮,CCS将创建一个名为mymove.pjt的工程,此文件保存了工程的设置信息及工程中的文件引用情况。,5.将有关文件添加到工程中,从project菜单中选取addfilestoproject命令,选择文件mymove.asm,双击“找开”按钮,将mymove.asm添加到工程中。从project菜单中选取addfilestoproject命令,选择文件mymove.cmd,将mymove.cmd添加到工程中。,6.汇编、编译和链接产生.out文件,点击project菜单中的rebuildall。在监视窗口显示汇编、编译和链接的相关信息。如果没有错误,将产生mymove.out文件;如果有错,在监视窗口以红色字体显示出错行,用鼠标双击该行,光标跳至源程序相应的出错行。修改错误后,重新汇编、链接。,7.加载并运行.out文件,执行菜单命令file/loadprogram,选择mymove.out并找开,将rebuildall生成的程序加载到DSP中。点击debug/run菜单命令运行程序。,8.观察运行结果,由.asm源程序和.cmd链接程序,可知本程序的a20放置在数据空间01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论