




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第四章第四章dsp的开发环境与工具的开发环境与工具 主要内容主要内容n软件开发过程及开发工具软件开发过程及开发工具 nccs集成开发环境集成开发环境 dsp的开发环境和工具的开发环境和工具v代码生成工具代码生成工具v系统集成及调试环境与工具系统集成及调试环境与工具v实时操作系统实时操作系统c 优化编译器优化编译器 ti 为其为其tms320系列系列 dsp提供了系列的提供了系列的 c 编编译器。将标准译器。将标准 c 源文件编译成为相应片种的源文件编译成为相应片种的汇编语言源代码文件,进而汇编和连接,产生汇编语言源代码文件,进而汇编和连接,产生可执行的目标文件。可执行的目标文件。 这些这些
2、c 编译器符合编译器符合ansi c 标准;有运行支标准;有运行支持库;一个外壳程序(持库;一个外壳程序(shell program)可以)可以一步将一步将 c 源代码翻译成为源代码翻译成为tms320的目标代码。的目标代码。汇编语言工具汇编语言工具tms320的汇编语言工具是一个软件包,的汇编语言工具是一个软件包,其中包括其中包括:v汇编器汇编器v连接器连接器v归档器归档器v交叉引用列表器交叉引用列表器v十六进制转换公用程序十六进制转换公用程序汇编器(汇编器(assembler) 将汇编语言的源程序文件汇编成为机将汇编语言的源程序文件汇编成为机器语言的目标程序文件,其格式为器语言的目标程序文
3、件,其格式为coff(公用目标文件格式)。汇编语言源程(公用目标文件格式)。汇编语言源程序 可 以 包 括 汇 编 语 言 指 令序 可 以 包 括 汇 编 语 言 指 令( i n s t r u c t i o n ) 、 汇 编 指 令) 、 汇 编 指 令(assembler directives)和宏指令)和宏指令(macro directives)连接器(连接器(linker) 连接器的基本任务是将目标文件连接连接器的基本任务是将目标文件连接在一起,产生可执行模块。连接器可以在一起,产生可执行模块。连接器可以接受的输入文件包括汇编器产生的接受的输入文件包括汇编器产生的coff目标文
4、件、命令文件、库文件、以及已目标文件、命令文件、库文件、以及已部分连接好了的文件。它所产生的可执部分连接好了的文件。它所产生的可执行行coff目标模块可以装入各种开发工具目标模块可以装入各种开发工具,或由或由tms320器件来执行器件来执行归档器(归档器(archiver) 归档器允许用户将一组文件归入一个归档器允许用户将一组文件归入一个档案文件(库)。例如,将若干个宏归档案文件(库)。例如,将若干个宏归入一个宏库,汇编器将搜索这个库,并入一个宏库,汇编器将搜索这个库,并调用源文件中使用的宏。也可以用归档调用源文件中使用的宏。也可以用归档器将一组目标文件收入一个目标文件库,器将一组目标文件收入
5、一个目标文件库,连接器将连接库内的成员,并解决外部连接器将连接库内的成员,并解决外部引用引用交叉引用列表器交叉引用列表器(cross-reference lister) 交叉引用列表器是一个查错的工具。交叉引用列表器是一个查错的工具。它接受已经连接好的目标文件作为输入,它接受已经连接好的目标文件作为输入,产生一个交叉引用列表作为输出。它列产生一个交叉引用列表作为输出。它列出符号、符号的定义、以及它们已经连出符号、符号的定义、以及它们已经连接的源文件中的引用接的源文件中的引用十六进制转换公用程序十六进制转换公用程序(hex conversion utility)将将coff目标文件转换成为若干种
6、标准的文件目标文件转换成为若干种标准的文件格式:格式:vascii-十六进制十六进制vextended tektronixvintel mcs-86vmotorola exorciservti sdsmac系统集成与调试工具系统集成与调试工具 ti公司为公司为tms320系统的集成与调试所系统的集成与调试所提供的工具包括调试器接口提供的工具包括调试器接口(c/assembly source debugger)、)、软仿真器(软仿真器(simulator)、)、dsp入门套件入门套件(dsk,dsp starter kit)、标准评估)、标准评估模块(模块(evm)、以及扩展开发系统)、以及扩展
7、开发系统xds(extended development system)等等软件仿真器(软件仿真器(simulator)n将链接器输出文件(将链接器输出文件(.out文件)调入到一个文件)调入到一个pc机的软件模拟窗口下,对机的软件模拟窗口下,对dsp代码进行软件模代码进行软件模拟和调试。拟和调试。tms320软件仿真器是一个软件程软件仿真器是一个软件程序,使用主机处理器和存储器仿真序,使用主机处理器和存储器仿真tms320 dsp的微处理器和微计算机模式,从而进行软的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证。件开发和非实时的程序验证。硬件在线仿真器(硬件在线仿真器(xds
8、emulator)n为可扩展的开发系统仿真器(为可扩展的开发系统仿真器(xds510),可),可以用来进行系统级的集成调试,是进行以用来进行系统级的集成调试,是进行dsp芯芯片软、硬件开发的最佳工具。片软、硬件开发的最佳工具。xds510是是ti为为其系列其系列dsp设计用以系统调试的专用硬件仿真设计用以系统调试的专用硬件仿真器(器(emulators),它使用),它使用jtag标准,使用标准,使用这种方法,程序可以从片外或片内的目标存储这种方法,程序可以从片外或片内的目标存储器实时执行,在任何时钟速率下都不会引入额器实时执行,在任何时钟速率下都不会引入额外的等待状态。外的等待状态。评估模块(
9、评估模块(evm板)板)ntms320的评估模块是廉价的开发板,用于对的评估模块是廉价的开发板,用于对dsp芯片的性能评估、标准程序检查,也可以芯片的性能评估、标准程序检查,也可以用来组成一定规模的用户用来组成一定规模的用户dsp系统。系统。ccs集成开发环境集成开发环境 n tms320c54x代码生成工具,如汇编器、链接器、代码生成工具,如汇编器、链接器、c/c+编译器、建库工具等。编译器、建库工具等。n ccs集成开发环境(集成开发环境(integrated developong envirorment,ide),包括编辑器、工程管理工具、),包括编辑器、工程管理工具、调试工具等。调试工
10、具等。n dsp/bios(basic input and output system)插)插件及应用程序接口件及应用程序接口api(application progran interface)。)。n rtdx(real time data exchange)实时数据交换)实时数据交换插件、主机(插件、主机(host)接口及相应的)接口及相应的api。ccs系统安装系统安装nccs对对pc机的最低要求为机的最低要求为windows 95、32m ram、100m剩余硬盘空间、奔腾剩余硬盘空间、奔腾90以上处理以上处理器、器、svga显示器(分辨率显示器(分辨率800600以上)。以上)。cc
11、s系统设置系统设置n在安装在安装ccs之后、运行之后、运行ccs软件之前,首先需软件之前,首先需要运行要运行ccs设置程序,根据用户所拥有的软、设置程序,根据用户所拥有的软、硬件资源对硬件资源对ccs进行适当的配置。进行适当的配置。n启动启动setup ccs 应用程序,将显示应用程序,将显示code composer studio setup窗口。窗口。 在在factory boards中添加设置中添加设置n 在在family下选择下选择c55xx,将看到所有,将看到所有c55xx的仿真驱动,包括软件仿真和硬件仿真;的仿真驱动,包括软件仿真和硬件仿真;n 在在platform下选择下选择si
12、mulator,在,在available factory boards中只显示软件仿真驱动,选中只显示软件仿真驱动,选中相应的驱动;中相应的驱动;n 双击双击c55xx rev4.0 cpu functional simulator,可以在,可以在my system下看到所加入下看到所加入的驱动;的驱动;n 点击点击save & quit,将保存设置退出,将保存设置退出setup ccstudio v3.1并启动运行并启动运行ccstudio。ccs文件名介绍文件名介绍 n*.mak:ccs定义的工程项目文件;定义的工程项目文件;n*.c:c语言编写的源程序文件;语言编写的源程序文件;
13、n*.asm:汇编语言编写的源程序文件;:汇编语言编写的源程序文件;n*.h:c语言程序的头文件,包括语言程序的头文件,包括dsp/bios api模块的头模块的头文件;文件;n*.lib:库文件;:库文件;n*.cmd:链接命令文件;:链接命令文件;n*.obj:由源文件编译或汇编后所生成的目标文件;:由源文件编译或汇编后所生成的目标文件;n*.out:完成编译、汇编、链接后所形成的可执行文件,:完成编译、汇编、链接后所形成的可执行文件,可在可在ccs监控下调试和执行;监控下调试和执行;n*.wks:工作空间文件;:工作空间文件;n*.cdb:ccs的配置数据库文件,是使用的配置数据库文件,
14、是使用dsp/bios api模块所必须的。模块所必须的。 链接器命令文件的编写和使用链接器命令文件的编写和使用 n链接命令文件中可以使用链接命令文件中可以使用memory命令和命令和sections命令来定义目标系统的存储器配置命令来定义目标系统的存储器配置图及段的映射。图及段的映射。 n链接命令文件为链接命令文件为ascii文件,可包含以下内容:文件,可包含以下内容:n输入文件名,即指定要链接的目标文件、文档库输入文件名,即指定要链接的目标文件、文档库文件或其他命令文件。当调用其他命令文件时,文件或其他命令文件。当调用其他命令文件时,该语句要放在命令文件的最后,因为链接器不能该语句要放在命
15、令文件的最后,因为链接器不能从调用的命令文件返回。从调用的命令文件返回。n链接器选项,可以用在链接器命令行,也可以编链接器选项,可以用在链接器命令行,也可以编写在命令文件中。写在命令文件中。nmemory和和sections链接伪指令,存储器链接伪指令,存储器伪指令伪指令memeory,用来定义目标系统的存储,用来定义目标系统的存储器空间。段伪指令器空间。段伪指令sections负责告诉链接器负责告诉链接器将输入文件中用将输入文件中用.text、.data、.bss、.sect等等伪指令定义的段放到伪指令定义的段放到memory命令描述的存命令描述的存储器空间的什么位置。储器空间的什么位置。n
16、memory伪指令的一般语法为:伪指令的一般语法为:nmemorynn page 0: name1(attr): original=constant, length=constant;n npage n: namen(attr): original=constant, length=constant;nn(1)page指定存储器空间页面,最多指定存储器空间页面,最多255。通常通常page 0用于程序存储器,用于程序存储器,page 1用于数用于数据存储器。如果不指定据存储器。如果不指定page,链接器默认指,链接器默认指定定page 0。每一个。每一个page代表一个完全独立代表一个完全独立
17、的地址空间。的地址空间。n(2)name是存储器区间的取名,可由是存储器区间的取名,可由164个字符组成,包括个字符组成,包括az、az、$、.、_。名称。名称对链接器没有特殊的含义,只是用来区分链接对链接器没有特殊的含义,只是用来区分链接器区间。在不同的器区间。在不同的page里区间名可以相同,里区间名可以相同,但有同一个但有同一个page里区间名不能相同,且不能里区间名不能相同,且不能重叠配置。重叠配置。n(3)attr指定存储区的指定存储区的14种属性,属性为任种属性,属性为任选项,利用属性将输出段定位到存储器时加以选项,利用属性将输出段定位到存储器时加以限制。限制。nr:指定该存储区可
18、以读。:指定该存储区可以读。nw:指定该存储区可以写。:指定该存储区可以写。nx:指定该存储区可以装入可执行代码。:指定该存储区可以装入可执行代码。ni:指定该存储区可以进行初始化。:指定该存储区可以进行初始化。n如果不给存储区指定属性,默认为具有以上如果不给存储区指定属性,默认为具有以上4种属性,可以不受限制地将任何输出段分配到种属性,可以不受限制地将任何输出段分配到该存储区。该存储区。n(4)original指定存储区的起始地址,可以简指定存储区的起始地址,可以简写为写为org或或o,该值是一个,该值是一个16位二进制常数,位二进制常数,可以用十进制、八进制或十六进制数表示。可以用十进制、
19、八进制或十六进制数表示。n(5)length指定存储区的长度,可以简写为指定存储区的长度,可以简写为len或或l。nsections伪指令语法格式如下:伪指令语法格式如下:nsectionsnn name: property ,property ,propertynname: property ,property ,propertynname: property ,property ,propertyn段段n.text:包括可执行代码、字符串和编译器产生的常数:包括可执行代码、字符串和编译器产生的常数n.data:数据段数据段n.cinit:初始化变量和常数表:初始化变量和常数表n.const
20、:字符串和以:字符串和以const关键字定义的常量关键字定义的常量n.switch:包含:包含switch语句表语句表n.bss:为全局变量和静态变量保留空间:为全局变量和静态变量保留空间n.stack:为:为c的系统堆栈分配存储空间的系统堆栈分配存储空间n.system:动态分配存储器分配保留空间,为:动态分配存储器分配保留空间,为c语言函语言函数数malloc、calloc、realloc动态分配存储器动态分配存储器n通常,通常,.text、.cinit、.switch段可以链接到系段可以链接到系统的统的rom或或ram中且必须是在程序存储器中中且必须是在程序存储器中(page0) ;.c
21、onst段可以链接到系统的段可以链接到系统的rom或或ram中,且必须是在数据存储器中中,且必须是在数据存储器中(page1) ;.bss、.stack、.system段必须段必须链接到系统的链接到系统的ram中,且必须是在数据存储器中,且必须是在数据存储器中(中(page1) 。链接器命令文件举例链接器命令文件举例n-o hello.out-m hello.mapmemory page 0: vect:origin=0 x8000h,length 0 x040h page 0: prog:origin=0 x8040h,length 0 x600h page 1: data:origin=0
22、 x8000h,length 0 x400hsections.vectors vect page 0.text prog page 0.bss data page 1.const data page 1 用用ccs开发简单的程序开发简单的程序1创建新的工程文件创建新的工程文件n工程文件中包含着设计中所有的源代码文件、工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。链接器命令文件、库函数、头文件等。(1)在)在ccs的安装目录的的安装目录的myprojects子目录下子目录下创建一个创建一个myfile1目录。目录。 (2)启动)启动ccs,在,在project菜单中选
23、择菜单中选择new项,项,在在project中输入中输入myfile1,ccs将创建一个名将创建一个名为为myfile1.pjt的工程。的工程。 2.将文件添加到工程中将文件添加到工程中(1)新建源文件)新建源文件 执行菜单执行菜单file/new/source files,并把文件并把文件保存在保存在myfile工程文件夹下。工程文件夹下。(2)在工程中添加源文件)在工程中添加源文件 执行菜单执行菜单project/add files to project,把此文,把此文件添加到工程中。件添加到工程中。3生成和运行程序生成和运行程序(1)选择菜单命令)选择菜单命令projectrebuild
24、 all,对工程重新,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。进行汇编、编译和链接的相关信息。(2)选择菜单命令)选择菜单命令fileload program,在当前目录,在当前目录的的debug目录下选择目录下选择myfile.out并打开,将并打开,将build生成生成的程序加载到的程序加载到dsp中。中。 (3)选择菜单命令)选择菜单命令debugrun或在或在debug工具栏上单工具栏上单击击run按钮,运行该程序。按钮,运行该程序。 举例举例n实现数组实现数组a20=0,1,2,3,4
25、,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.编写汇编源程序编写汇编源程序n .mmregsn .datantbl: .word n 0,1,
26、2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19n .word 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1nprom : .usect “prom”,20n .bss a,20n .bss x,20n .bss y,20ndata .usect “data”,20n .textnstart: stm #a,ar1n rpt #39n mvpd tbl,*ar1+n stm #x,ar2n stm #y,ar3n rpt #19n mvdd *ar2+,*ar3+n stm #a,ar1n ld #prom,an
27、stm #19,ar3nloop: writa *ar1+n add #1,a,an banz loop,*ar3-n ld #prom-1,an stm #data,ar1n st #19,brcn rptb loop1n add #1,a,anloop1: reada *ar1+nwait: nopn b wait2.建立汇编源程序建立汇编源程序n在在ccs环境下,点击环境下,点击file/new/source file菜单菜单命令,打开一个空白文档,将汇编程序输入。命令,打开一个空白文档,将汇编程序输入。n单击单击file/save菜单命令,在菜单命令,在d:program filest
28、imyprojects下保存文件名为下保存文件名为mymove,并选择保存类型为并选择保存类型为*.asm。3.建立链接命令文件建立链接命令文件n _o mymove.outn _m mymove.mapn memoryn page 0: n ram: origin=1000h,length=800hn ram1:origin=2000h,length=300hn page 1: n daram1: origin=0100h,length=100hn daram2: origin=0200h,length=100hn n sectionsn n .data :ram page 0n .text :ram page 0n prom:ram1 page 0n .bss :daram1 page1n data :daram2 page1n 4.创建一个新工程创建一个新工程n在在project菜单中选择菜单中选择new项,弹出项,弹出project creation窗口,在窗口,在project栏中输入栏中输入mymove,单击单击“完成完成”按钮,按钮,ccs将创建一个名为将创建一个名为mymove.pjt的工程,此文件保存了工程的设的工程,此文件保存了工程的设置信息及工程中的文件引用情况。置信息及工程中的文件引用情况。5.将有关文件添加到工程中将有关文件添加到工程中n从从proje
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 领导力培养与年度人才发展计划
- 品牌与社会发展的协同作用计划
- 《四川省汉源县岩窝沟铅锌、磷矿勘探实施方案》评审意见书
- 特殊窗帘知识培训课件
- 第14课 向世界介绍我的学校-规划与探究-教学设计 2024-2025学年浙教版(2023)初中信息技术七年级上册
- webim与移动im 邮电大学课件
- 2025年长春货运资格证考试模拟题500道
- 2025年科学认识贝壳标准教案反思
- 2025年乐山货车资格证考试题
- 2025年邯郸货运从业资格证考试
- 2024版体育赛事票务代理合同:赛事组织者与票务代理公司之间的合作协议3篇
- 医院陪护管理制度
- 中国计量大学《微机原理及其应用》2021-2022学年第一学期期末试卷
- 《车控操作系统功能软件架构及接口要求》
- 钣金车间安全培训课件
- 急性心力衰竭的紧急处理与护理
- 中国技能大赛-第45届世界技能大赛全国选拔赛“水处理技术”项目技术工作文件
- 无菌物品的储存与管理
- 固定资产折旧合同
- 寒区作战伤员的护理
- 2024年世界职业院校技能大赛高职组“市政管线(道)数字化施工组”赛项考试题库
评论
0/150
提交评论