dsp实验-CCS操作(精) 下载本文

内容发布更新时间 : 2024/5/18 21:05:20星期一 下面是文章的全部内容请认真阅读。

实验二CCS操作 一、实验目的

1. 掌握TMS320C5400 系列汇编语言程序的基本格式; 2. 掌握程序编译、连接、运行和调试的基本过程; 3. 熟悉Code Composer Studio 的使用。 二、实验设备

1. 集成开发环境Code Composer Studio(以下简称CCS) 2. 实验代码ccs_basic.s54、ccs_basic.cmd 和ccs_basic.gel 三、实验内容、结果 1.基本操作:

1. 建立项目,并加入文件

a 运行CCS setup,选择C5402 Simulator,选择Project→New 菜单项,建立一个新的项目ccs_basic.pjt(注意建立路径,并选择Project→add files to new project 菜单项,加入文件ccs_basic.s54 和ccs_basic.cmd;

b 在工程视图中选中GEL files 文件夹,单击鼠标右键,在弹出的菜单中选择 Load GEL 选项,载入ccs_basic.gel; 2. 编译和连接

a 编译:选择Project-->Build Option,在Compile 表单的Category 列表中,选择Basic 选项,并设置Generate debug info 为full symbolic debug 选项,选择File s选项,并在设置Asm File Ext 中写入“s54”为汇编语言扩展名;

b 连接:选择Project-->Build Option,在linker 表单中的Autoinit mode 选项中选择no autointialization 模式,Output Filename 中输入.\\debug\\ ccs_basic.out,Code Entry Point 中输入main,Map Filename 中输入ccs_basic.map,然后保存选项设 置。

c 选择Project→Build 构建整个项目,产生可执行文件ccs_basic.out; d 选择File->Load Program,装载可执行文件ccs_basic.out。

2.练习

1 观察存储器映象文件ccs_basic.Map,理解存储器的配置情况; 2 观察和修改存储器单元的内容 1. 观察存储器映象Map 文件

选择File→Open 打开ccs_basic.Map 文件,可观察

a 存储器的配置情况:页面0 为程序空间,页面1 为数据空间; b 程序文本段:起始地址0x1000,存储区长度为0x0021;

c 数据段:其中需初始化数据段.data 起始地址0x2005,存储区长度为4; d 不需初始化数据段.bss 起始地址0x2000,存储区长度为5; e 堆栈段:起始地址0x0100,存储区长度为0x0400; f 向量段:起始地址0x0080,存储区长度为0x0080;

g 全局符号在存储器中的位置:共14 个符号,如符号.bss 在存储器中的位置为0x2000。将上述信息与cmd 文件中的设置比较,理解cmd 文件和连接器的关系。 答:cmd 文件为配置文件,配置文件在连接的过程中将定义DSP 的RAM 空间, 也就是对存储空间起一个配置作用。DSP 在程序中引入了各个段的概念,相应的连接时就需要进行各个段的分配。配置文件ccs.basic.cmd 内容如下: MEMORY { PAGE 0:

VECS: org=0x0080, len=0x80

PROM: org=0x1000, len=0x1000 /* 4k words */ PAGE 1:

STACK:org=0x100, len=0x400 /* 1k words */ DARAM: org=0x2000, len=0x1000 /* 4k words */ }

SECTIONS

{ .text:> PROM PAGE 0 vectors :> VECS PAGE 0 .bss :> DARAM PAGE 1 .data :> DARAM PAGE 1 }

可以发现以上信息基本与存储器映象文件ccs_basic.Map 中相同。memory 部分说明了存储空间的页数、长度、起始点和名称。Section 部分是对段的 配置说明:.text 段和向量段固定的连接至程序空间;.bss 段和.stack 段固定的 连接至数据空间,存储类型为RAM。连接后的配置结果为向量段从第0 页 的0x0080 地址开始存放,代码段从第0 页的0x1000 地址开始存放,堆栈段 从第1 页的0x100 地址开始存放,数据段从第1 页的0x2000 地址开始存放。 2. 输出文件ccs_basic.out 的运行和调试实验代码如下: STACK_ADDR .set 0x0500 ;设置堆栈底端地址 ;在变量段分配数据,为未初始化的变量保留空间 .bss a,2 .bss x,2 .bss y,1

;在数据段分配数据,存入初始化数据 .data table:

.word 10,5 ;初始化a1=10,a2=5 .word 8,6 ;初始化x1=8,x2=6 .mmregs ;开启系统默认的寄存器