




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第四章第四章DSP的开发环境与工具的开发环境与工具 主要内容主要内容n软件开发过程及开发工具软件开发过程及开发工具 nCCS集成开发环境集成开发环境 CCS集成开发环境集成开发环境 n TMS320C54x代码生成工具,如汇编器、链接器、代码生成工具,如汇编器、链接器、C/C+编译器、建库工具等。编译器、建库工具等。n CCS集成开发环境(集成开发环境(Integrated Developong Envirorment,IDE),包括编辑器、工程管理工具、),包括编辑器、工程管理工具、调试工具等。调试工具等。n DSP/BIOS(Basic Input and Output System)插
2、)插件及应用程序接口件及应用程序接口API(Application Progran Interface)。)。n RTDX(Real Time Data Exchange)实时数据交换)实时数据交换插件、主机(插件、主机(Host)接口及相应的)接口及相应的API。CCS系统安装系统安装nCCS对对PC机的最低要求为机的最低要求为Windows 95、32M RAM、100M剩余硬盘空间、奔腾剩余硬盘空间、奔腾90以上处理以上处理器、器、SVGA显示器(分辨率显示器(分辨率800600以上)。以上)。CCS系统设置系统设置n在安装在安装CCS之后、运行之后、运行CCS软件之前,首先需软件之前,
3、首先需要运行要运行CCS设置程序,根据用户所拥有的软、设置程序,根据用户所拥有的软、硬件资源对硬件资源对CCS进行适当的配置。进行适当的配置。n启动启动Setup CCS 应用程序,将显示应用程序,将显示Code Composer Studio Setup窗口。窗口。 在在Factory Boards中添加设置中添加设置n 在在Family下选择下选择C55xx,将看到所有,将看到所有C55xx的仿真驱动,包括软件仿真和硬件仿真;的仿真驱动,包括软件仿真和硬件仿真;n 在在Platform下选择下选择Simulator,在,在Available Factory Boards中只显示软件仿真驱动
4、,选中只显示软件仿真驱动,选中相应的驱动;中相应的驱动;n 双击双击C55xx Rev4.0 CPU Functional Simulator,可以在,可以在My System下看到所加入下看到所加入的驱动;的驱动;n 点击点击Save & Quit,将保存设置退出,将保存设置退出Setup CCStudio v3.1并启动运行并启动运行CCStudio。CCS文件名介绍文件名介绍 n*.pjt:CCS定义的工程项目文件;定义的工程项目文件;n*.c:C语言编写的源程序文件;语言编写的源程序文件;n*.asm:汇编语言编写的源程序文件;:汇编语言编写的源程序文件;n*.h:C语言程序的
5、头文件,包括语言程序的头文件,包括DSP/BIOS API模块的头模块的头文件;文件;n*.lib:库文件;:库文件;n*.cmd:链接命令文件;:链接命令文件;n*.obj:由源文件编译或汇编后所生成的目标文件;:由源文件编译或汇编后所生成的目标文件;n*.out:完成编译、汇编、链接后所形成的可执行文件,:完成编译、汇编、链接后所形成的可执行文件,可在可在CCS监控下调试和执行;监控下调试和执行;n*.wks:工作空间文件;:工作空间文件;n*.cdb:CCS的配置数据库文件,是使用的配置数据库文件,是使用DSP/BIOS API模块所必须的。模块所必须的。 汇编伪指令汇编伪指令作用作用举
6、例举例.title紧跟其后的是用双引号括起的源程序名紧跟其后的是用双引号括起的源程序名.title “example” .end结束汇编命令,汇编程序将忽略此后的任何结束汇编命令,汇编程序将忽略此后的任何源语句,所以它是程序的最后语句源语句,所以它是程序的最后语句放在汇编语言源程序的最后放在汇编语言源程序的最后.data紧跟其后的是已初始化数据,通常含有数据紧跟其后的是已初始化数据,通常含有数据表或预先初始化的数值表或预先初始化的数值 .datatable1: .int 1,2 ,3,4 .int 5,6,7,8Table2: .word -1,-2,-3,-4 .word -5,-6,-7,
7、-8.int用来设置一个或多个用来设置一个或多个1616位无符号整型量常数位无符号整型量常数.word用来设置一个或多个用来设置一个或多个1616位带符号整型量常数位带符号整型量常数.text紧跟其后的是汇编语言程序正文紧跟其后的是汇编语言程序正文.bss.bss.bss为未初始化变量保留存储空间为未初始化变量保留存储空间 .bss x,4 表示在数据存储表示在数据存储器中空出器中空出4个存储单元存放变个存储单元存放变量量x1,x2,x3,x4.sect建立包含代码和数据的自定义段建立包含代码和数据的自定义段.sect ”vectors”定义中断服务定义中断服务程序段,紧随其后的是复位向程序段
8、,紧随其后的是复位向量和中断向量量和中断向量常用伪指令一览表常用伪指令一览表汇编伪指令汇编伪指令作用作用举例举例.mmregs将将TMS320TMS320各寄存器名定义为全局符号,各寄存器名定义为全局符号,这样就可以直接引用寄存器(符号)这样就可以直接引用寄存器(符号).set.set.set伪指令附一常数值给某个符号,也伪指令附一常数值给某个符号,也可以将符号常数赋给寄存器可以将符号常数赋给寄存器Shift .set 5 ld #shift,AAuxR1 .set AR1 MVMM AuxR1,sp.copy/.include从其他文件读取源代码语句。从其他文件读取源代码语句。 .copy
9、“coeff.inc”.def指定定义在当前模块中,但可被其他模指定定义在当前模块中,但可被其他模块使用的符号块使用的符号 .def start.global声明符号为全局符号,使其在链接时可声明符号为全局符号,使其在链接时可为其他模块使用为其他模块使用 .global _c_int00.ref在当前块中使用,但在其他模块中定义在当前块中使用,但在其他模块中定义的符号的符号链接器命令文件的编写和使用链接器命令文件的编写和使用 n链接命令文件中可以使用链接命令文件中可以使用MEMORY命令和命令和SECTIONS命令来定义目标系统的存储器配置命令来定义目标系统的存储器配置图及段的映射。图及段的映
10、射。n MEMORY和和SECTIONS链接伪指令,存储器伪链接伪指令,存储器伪指令指令MEMEORY,用来定义目标系统的存储器,用来定义目标系统的存储器空间。段伪指令空间。段伪指令SECTIONS负责告诉链接器将负责告诉链接器将输入文件中用输入文件中用.text、.data、.bss、.sect等伪指等伪指令定义的段放到令定义的段放到MEMORY命令描述的存储器空命令描述的存储器空间的什么位置。间的什么位置。nMEMORY伪指令的一般语法为:伪指令的一般语法为:nMEMORYnn PAGE 0: name1(attr): original=constant, length=constant;
11、n nPAGE n: namen(attr): original=constant, length=constant;nn(1)PAGE指定存储器空间页面,最多指定存储器空间页面,最多255。通常通常PAGE 0用于程序存储器,用于程序存储器,PAGE 1用于数用于数据存储器。如果不指定据存储器。如果不指定PAGE,链接器默认指,链接器默认指定定PAGE 0。每一个。每一个PAGE代表一个完全独立代表一个完全独立的地址空间。的地址空间。n(2)name是存储器区间的取名,可由是存储器区间的取名,可由164个字符组成,包括个字符组成,包括AZ、az、$、.、_。名称。名称对链接器没有特殊的含义,
12、只是用来区分链接对链接器没有特殊的含义,只是用来区分链接器区间。在不同的器区间。在不同的PAGE里区间名可以相同,里区间名可以相同,但有同一个但有同一个PAGE里区间名不能相同,且不能里区间名不能相同,且不能重叠配置。重叠配置。n(3)attr指定存储区的指定存储区的14种属性,属性为任种属性,属性为任选项,利用属性将输出段定位到存储器时加以选项,利用属性将输出段定位到存储器时加以限制。限制。nR:指定该存储区可以读。:指定该存储区可以读。nW:指定该存储区可以写。:指定该存储区可以写。nX:指定该存储区可以装入可执行代码。:指定该存储区可以装入可执行代码。nI:指定该存储区可以进行初始化。:
13、指定该存储区可以进行初始化。n如果不给存储区指定属性,默认为具有以上如果不给存储区指定属性,默认为具有以上4种属性,可以不受限制地将任何输出段分配到种属性,可以不受限制地将任何输出段分配到该存储区。该存储区。n(4)original指定存储区的起始地址,可以简指定存储区的起始地址,可以简写为写为org或或o,该值是一个,该值是一个16位二进制常数,位二进制常数,可以用十进制、八进制或十六进制数表示。可以用十进制、八进制或十六进制数表示。n(5)length指定存储区的长度,可以简写为指定存储区的长度,可以简写为len或或l。nSECTIONS伪指令语法格式如下:伪指令语法格式如下:nSECTI
14、ONSnn name: property ,property ,propertynname: property ,property ,propertynname: property ,property ,propertyn链接器命令文件举例链接器命令文件举例nMEMORY PAGE 0: VECT:origin=0 x8000h,length 0 x040h PAGE 0: PROG:origin=0 x8040h,length 0 x600h PAGE 1: DATA:origin=0 x8000h,length 0 x400hSECTIONS.vectors VECT PAGE 0.tex
15、t PROG PAGE 0.bss DATA PAGE 1.const DATA PAGE 1;this function is FFT.title FFT.asm.mmregs.copy coeff.inc“ ;从从coeff.inc文件复制旋转因子系数文件复制旋转因子系数.def _c_int00sine1: .usect sine1,512 ;512=N/2,N=1024(最大最大N=1024) cosine1: .usect cosine1,512 sine: .usectsine,512 ;512=N/2,N=1024(最大最大N=1024) cosine: .usect cosin
16、e,512 fft_data: .usect fft_data,1024 d_input: .usect d_input, 1024 fft_out: .usect fft_out, 512 STACK .usect STACK,10 .bss d_twid_idx,1.bssd_data_idx,1.bssd_grps_cnt,1.sectfft_prg“。 。MEMORYPAGE 0 :EPROM : org = 0E000h, len=1000hVECS : org = 0FF80h, len=0080hPAGE 1 :SPRAM : org =0060h, len=0020hDARAM
17、 : org =0200h, len=1000hRAM : org =8000h, len=1500hSECTIONS sine1 : EPROM PAGE 0 cosine1 : EPROM PAGE 0 fft_prg : EPROM PAGE 0 .vectors : VECS PAGE 0 .bss : SPRAM PAGE 1 sine : align(1024) DARAM PAGE 1 cosine : align(1024) DARAM PAGE 1 d_input : RAM PAGE 1 fft_data : RAM PAGE 1 fft_out : RAM PAGE 1
18、STACK : SPRAM PAGE 1存储空存储空间名称间名称分配分配各个各个段到段到各个各个存储存储空间空间该伪指令就是用来指定存储器的模型该伪指令就是用来指定存储器的模型该伪指令将输出段分配到指定的存储器范围该伪指令将输出段分配到指定的存储器范围程序存储器程序存储器E000E1FFE200E3FFE400E4A2FF80EFFF正弦系正弦系数表数表余弦系余弦系数表数表程序程序代码代码0000 005F0060006100620063006C040005FF080009FF800087FF88008FFF900093FF数据存储器数据存储器 sine1 cosine1 fft_prg .v
19、ectors .bss 存储器映射存储器映射寄存器寄存器暂存单元暂存单元堆栈堆栈正弦系数表正弦系数表余弦系数表余弦系数表输入数据输入数据FFT 结果结果(实部、虚部)(实部、虚部)FFT结果结果(功率谱)(功率谱)sinecosine d_input fft_data fft_out 用用CCS开发简单的程序开发简单的程序1创建新的工程文件创建新的工程文件n工程文件中包含着设计中所有的源代码文件、工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。链接器命令文件、库函数、头文件等。(1)在)在CCS的安装目录的的安装目录的myprojects子目录下子目录下创建一个创建一
20、个myfile1目录。目录。 (2)启动)启动CCS,在,在Project菜单中选择菜单中选择New项,项,在在Project中输入中输入myfile1,CCS将创建一个名将创建一个名为为myfile1.pjt的工程。的工程。 2.将文件添加到工程中将文件添加到工程中(1)新建源文件)新建源文件 执行菜单执行菜单file/New/source files,并把文件并把文件保存在保存在myfile工程文件夹下。工程文件夹下。(2)在工程中添加源文件)在工程中添加源文件 执行菜单执行菜单project/add files to project,把此文,把此文件添加到工程中。件添加到工程中。3生成和
21、运行程序生成和运行程序(1)选择菜单命令)选择菜单命令ProjectRebuild All,对工程重新,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。进行汇编、编译和链接的相关信息。(2)选择菜单命令)选择菜单命令FileLoad Program,在当前目录,在当前目录的的Debug目录下选择目录下选择myfile.out并打开,将并打开,将Build生成生成的程序加载到的程序加载到DSP中。中。 (3)选择菜单命令)选择菜单命令DebugRun或在或在Debug工具栏上单工具栏上单击击Run按钮,运
22、行该程序。按钮,运行该程序。 举例举例n实现数组实现数组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.编写汇编源程序
23、编写汇编源程序n .mmregsn .datanTBL: .word n 0,1,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 M
24、VDD *AR2+,*AR3+n STM #a,AR1n LD #PROM,An 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
25、单击单击file/save菜单命令,在菜单命令,在D:program filestimyprojects下保存文件名为下保存文件名为mymove,并选择保存类型为并选择保存类型为*.asm。3.建立链接命令文件建立链接命令文件n 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 PA
26、GE 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.将有关文件添加到工程中将有关文件添加到工程
27、中n从从project菜单中选取菜单中选取add files to project命令,命令,选择文件选择文件mymove.asm,双击,双击“找开找开”按钮,按钮,将将mymove.asm添加到工程中。添加到工程中。n从从project菜单中选取菜单中选取add files to project命令,命令,选择文件选择文件mymove.cmd,将,将mymove.cmd添添加到工程中。加到工程中。6.汇编、编译和链接产生汇编、编译和链接产生.out文件文件n点击点击project菜单中的菜单中的rebuild all。在监视窗口。在监视窗口显示汇编、编译和链接的相关信息。如果没有显示汇编、编译和链接的相关信息。如果没有错误,将产生错误,将产生mymove.out文件;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 油漆板材购销合同(标准版)
- 历史事件解读
- 邯郸市教育局市直学校选聘考试真题2024
- 广西平陆运河集团有限公司招聘考试真题2024
- 重难点解析人教版八年级物理上册第5章透镜及其应用-生活中的透镜专项训练试题(解析版)
- 2025年房地产开发经营试题及答案
- 解析卷-人教版八年级上册物理《物态变化》专题攻克试卷(解析版)
- 考点解析-人教版八年级上册物理光现象《光的直线传播》同步练习试卷(含答案解析)
- 2025年城市客运企业主要负责人和安全生产管理人员考试复习题及答案
- 2025年燃气经营企业从业人员专业考试全真模拟试题及答案
- 物业管理标准化管理体系员工离职、内部调职管理标准作业规程
- 全液压转向器应用基础知识26新
- 大班数学《来自毕业餐会》活动反思
- 昆明城市空间形态
- GB/T 28553-2012汽轮机蒸汽纯度
- GB/T 16921-2005金属覆盖层覆盖层厚度测量X射线光谱方法
- 政治理论水平任职资格考试题库
- 新形势下群众工作的理论与实践课件
- 2023年交银国际信托有限公司招聘笔试题库及答案解析
- 高联难度几何题100道-打印整理版
- 公共管理英语 第一篇 教学内容 (15)课件
评论
0/150
提交评论