实验一 CCS的安装与CCS操作界面的熟悉

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 CCS的安装与CCS操作界面的熟悉
一、实验目的
学会安装与设置Code Composer Studio。

熟悉CCS软件的操作界面。

二、实验设备
CCS安装光盘(本次安装程序在D:\DSP\ccs2.0ForC5000)、装有Windows 98以上操作系统的PC机
三、实验内容及步骤
S的安装
安装前需要卸载系统原来的C5000,进入控制面板进行卸载完毕后,再开始下面的步骤。

(1)找到CCS的安装软件,点击安装程序setup.exe,双击启动安装。

安装完成后在桌面上会有“CCS 2 C5000”和“SETUP CCS 2 C5000”两个快捷方式图标,分别对应CCS应用程序和CCS配置程序。

如下图:
(2)双击运行“SETUP CCS 2 C5000”配置程序,配置驱动程序。

本次实验没有用到实验箱,只需配置软件驱动程序。

在弹出的“Import Configurantions”对话框中,先点击“Clear”键,清除以前的配置,然后选择“C5402 Simulator”,点击“Import”,最后点击“Save and Quit”按钮,完成配置。

S操作界面的熟悉
(1)在桌面上双击“CCS 2 C5000”,弹出一个TI仿真器并行调试管理器窗口。

如下图:
(2)在管理器窗口的“open”菜单下选择“C54xx(C5402) Simulator”命令,将弹出一个CCS运行主窗口(如果直接弹出CCS运行主窗口,此步可略)。

(3) 点击Help_>Contents打开TMS320C54x Code Composer Stdio Help,在左边Contents列表中点击最后一个TMS320C5402 DSK,浏览了解其下所有子列表的内容,熟悉DSK板的基本硬件、配置及功能。

(4)对照教材介绍CCS的地方,逐一熟悉CCS中的12项菜单的功能,包括File、Edit、View、Project、Debug、Profiler、Option、GEL、Tools等菜单(结合实验二建立项目熟悉更好)。

四、心得体会:
从小事做起,不要小看细节。

装软件的时候认真看提示,不懂的地方就问一下老师或者同学。

还是应该把书本好好看一下才行。

英文也要学好点,不然软件中的不少帮助文件都看不懂。

实验二、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
列表中,选择B asic选项,并设置Generate debug info为full symbolic
debug选项,选择Files选项,并在设置Asm File Ext 中写入“s54”为
汇编语言扩展名;
如图2-1 2-2所示;
b) 连接:选择Project-->Build Option,在linker表单中的Autoinit
mode选项中选择no autointialization模式,Output Filename中输
入.\debug\ ccs_basic.out,Code Entry Point 中输入main,Map
Filename中输入ccs_basic.map,然后保存选项设置,如图2-3所示
类似。

图2-1 编译选项的选择
图2-2 自定义文件扩展名
图2-3 连接选项的选择
c) 选择Project→Build构建整个项目,产生可执行文件
ccs_basic.out;
d) 选择File->Load Program,装载可执行文件ccs_basic.out。

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。

解释如下:
这是因为DSP的连接不仅仅是将“*.obj”文件转换为“*.out”文件,而且在转换的过程中
系统必需要有个“*.cmd”文件,也就是配置文件。

配置文件在连接过程中定义的DSP的
RAM空间,然后将程序中的各个段分配到所定义的空间,也就是对存储空间起配置的作用。

在cmd文件中
在MEMORY中:
PAGE 0:
VECS: org=0x0080, len=0x80 意思是定义一个在页面0中,VECS的存储部分从0x80开始,其存储空间的长度为0x80。

在SECTIONS中:
vectors :> VECS PAGE 0 的意义是将程序中的vectors段放到PAGE0中的VECS 中,所以会有:“向量段:起始地址0x0080,存储区长度为0x0080;”。

2).解释代码:
STACK_ADDR .set 0x0500 ;bottom of stack
;allocate data in .bss section
.bss a,2 ;allocate 5 word for variates
.bss x,2
.bss y,1
;allocate data in .data section
.data
table: ;data follows ...
.word 10,5
.word 8,6
.mmregs ;enable memory mapped registers
.global main ;define global symbols
;------------------------------------------------------------------------------
.text
main:
stm #STACK_ADDR, SP ;set stack
stm #0x00a8, PMST ;relocate Interrupt Vector Table
stm #0x0000, SWWSR ;no software wait for all memory
;================================================
stm #a, AR2 ;AR1 point to a
stm #table, AR3
rpt #1 ;move 2 ai values
mvdd *AR3+, *AR2+ ;from data memory into data memory
stm #x, AR2 ;AR1 point to a
rpt #1 ;move 2 xi values
mvdd *AR3+, *AR2+ ;from data memory into data memory
call SUM ;call function to do sum
;dead loop part to lock PC in a know area when program ends
dead_loop:
nop
nop
nop
b dead_loop
;================================================
; y=a1*x1+a2*x2
SUM:
stm #a, AR3 ;AR3指向a(地址0x2000)
stm #x, AR4 ;AR4指向x(地址0x2002)
rptz A, #1 ;累加器A清0,RC等于1,下面的指令执行1+1次mac *AR3+, *AR4+, A ;实现y=a1*x1+a2*x2
stl A, *(y) ;保存A到y指向的地址中
ret
;------------------------------------------------------------------------------
;Interrupt Vector Table, for simplicity Only RESET interrupt is defined .sect "vectors"
int_RESET:
b main ;when reset, jump to main
nop
nop
.space 124*16 ;no other interrupt used, keep them space
;end of lab1.s54
四:实验心得体会:学好英语对做实验有很大的好处。

相关文档
最新文档