DSP基于CCS数据寻址方式实验
DSP实验手册实验一CCS使用及DSP的运算(精)
实验一 CCS使用及DSP 基本数学运算一、实验目的:1、熟悉CCS 集成开发环境,掌握工程的生成方法;2、熟悉SEED-DTK5416实验环境;3、掌握CCS 集成开发环境的调试方法;4、了解数在计算过程中的定标,掌握数的定点、浮点表示方法,定点、浮点基本运算以及定点、浮点间的相互转换。
二、实验内容:1、 DSP源文件的建立;2、 DSP程序工程文件的建立;3、编译与链接的设置,生成可执行的DSP 文件;4、进行DSP 程序的调试与改错;5、学习使用CCS 集成开发工具的调试工具;6、观察实验结果;三、实验知识背景:在DSP 编程过程中,数以二进制、十进制、与十六制表示均可。
在定点DSP 的运算过程中,数一般采用二进制与二进制补码的形式进行运算的。
其中二进制数只能代表正数不能代表负的数,而二进制补码记数系统弥补了这一缺点。
它的构成如下;在二进制的基础上,加一符号位。
符号位位于二进制数的最高位当为正数时,符号位为0,为负数时,符号位为1当采用二进制补码进行数的运算时,具有如下的两个优点:可以将加法与减法统一成加法运算符号位可以进行扩展,而其数值不变,这可以使一个比较小的数存放到比较大的寄存器当中例:1×2 + 0×1 = -2 (11110)2 = 1×(-16)+ 1×8 + …… +当将其符号位扩展三位,放入一8位的寄存器中1×2 + 0×1 = -2 (11111110)2 = 1×(-128)+ 1×64 + …… +这将为运算提供极大的方便,因而在定点的DSP 中,大多数情况采用二进制补码形式。
C5000系列的DSP 硬件只支持定点运算,浮点运算要通过软件来实现。
其运算字长为16位,也就是说,DSP 所能表示的整数的范围也就决定了,其范围为-32768到32767。
而在很多情况下,数学运算过程中不一定是整数,而且动态范围也不是固定不变的。
dsp实验报告
Dsp实验报告班级:电信08-1学号:80811121姓名:黄伟实验一CCS(Code Composer Studio 2.0)安装与认识一、实验目的二、1.掌握 Code Composer Studio 2.0 的安装和配置。
三、2.了解 Code Composer Studio 2.0 软件的操作环境和基本功能。
四、 3. 了解 CCS环境下软件工程的建立,编译、日案件调试运行的基本方法。
二、实验设备要求安装CCS2(Code Composer Studio 2)的PC机。
三、实验步骤1、安装ccs软件打开CCS软件安装目录(CCS 开发软件),所有的开发软件都放在这个目录下。
请选择 CCS 5000.EXE 文件,双击CCS5000进行安装,如图2-1,2-2,2-3,2-5,2-6所示。
图2-1 CCS安装文件夹图2-3图2-4图 2-5 CS5000 软件安装示意图3图 2-4 CS5000 软件安装示意图3图 2-3 CCS5000 软件安装示意图2图 2-2 5000 软件安装示意图 1安装完毕CCS5000,再安装升级补丁C5000-2.20.00-FULL-to-C5000-2.21.00-FULL.exe ,2、配置ccs 软件我们做的实验是使用c5416模拟仿真,所以配置时选择C5416 Device Simuliator 驱动程序,其图如下(启动setup ccs )图2-9确认选择c5416 Device Simulator图2-6 开发软件图标3、创建新的工程(截图略)4、编辑源文件源文件需要两种:一种是实现功能的源程序,一种是连接的命令文件(1)C 语言源程序volume.c#include "volume.h"int inp_buffer[BUF_SIZE]; /* BUF_SIZE 的定义见volume.h */ int out_buffer[BUF_SIZE];int *input; int *output;int volume = 1;struct PARMS str = { 2934,9432,213,9432,&str };/***************************************************************************//* */ /* NAME: read_signals() *//* *//* FUNCTION: read input signal. */ /* *//* PARAMETERS: none. */ /* */图2-10 关闭配置窗口/* RETURN VALUE: TRUE. */ /**//************************************************************************** */int read_signals(int *input){/* read reference signal *//* read input signal */r eturn(TRUE);}/************************************************************************** *//**//* NAME: write_buffer() */ /**//* FUNCTION: write to the output buffer. Use the volume variable *//* to control the volume. */ /**//* PARAMETERS: input , output, num. *//**//* RETURN VALUE: TRUE. *//**//************************************************************************** */int write_buffer(int *input,int *output,int count){w hile( count--){*output++ = (*input++) * volume;}r eturn(TRUE);}/************************************************************************** *//**//* NAME: main() *//**//* FUNCTION: Volume Control: Read input buffer *//* multiply by volume coeficient and write to *//* output buffer.*//*/* PARAMETERS: none. *//**//* RETURN VALUE: none. */ /**//************************************************************************** */main(){i nt num = BUF_SIZE;while(TRUE) /* loop forever */{input = &inp_buffer[0];output = &out_buffer[0];/* read input signals from PC file */read_signals(input);/* write to output buffer */write_buffer(input, output, num);}}(2)命令文件和命令文件volume.cmdMEMORY{PAGE 0:VECT : o=80h,l=80hPRAM : o=100h,l=1f00hPAGE 1:DRAM : o=2000h,l=1000h}SECTIONS{.text : {}> PRAM PAGE 0.data : {}> PRAM PAGE 0.cinit : {}> PRAM PAGE 0.switch : {}> PRAM PAGE 0.const : {}> DRAM PAGE 1.bss : {}> DRAM PAGE 1.stack : {}> DRAM PAGE 1.vectors: {}> VECT PAGE 0}5、编译源文件,产生公共目标文件源程序需要编译/汇编/链接,产生目标代码。
DSP实验手册实验一CCS使用及DSP的运算(精)
实验一 CCS使用及DSP 基本数学运算一、实验目的:1、熟悉CCS 集成开发环境,掌握工程的生成方法;2、熟悉SEED-DTK5416实验环境;3、掌握CCS 集成开发环境的调试方法;4、了解数在计算过程中的定标,掌握数的定点、浮点表示方法,定点、浮点基本运算以及定点、浮点间的相互转换。
二、实验内容:1、 DSP源文件的建立;2、 DSP程序工程文件的建立;3、编译与链接的设置,生成可执行的DSP 文件;4、进行DSP 程序的调试与改错;5、学习使用CCS 集成开发工具的调试工具;6、观察实验结果;三、实验知识背景:在DSP 编程过程中,数以二进制、十进制、与十六制表示均可。
在定点DSP 的运算过程中,数一般采用二进制与二进制补码的形式进行运算的。
其中二进制数只能代表正数不能代表负的数,而二进制补码记数系统弥补了这一缺点。
它的构成如下;在二进制的基础上,加一符号位。
符号位位于二进制数的最高位当为正数时,符号位为0,为负数时,符号位为1当采用二进制补码进行数的运算时,具有如下的两个优点:可以将加法与减法统一成加法运算符号位可以进行扩展,而其数值不变,这可以使一个比较小的数存放到比较大的寄存器当中例:1×2 + 0×1 = -2 (11110)2 = 1×(-16)+ 1×8 + …… +当将其符号位扩展三位,放入一8位的寄存器中1×2 + 0×1 = -2 (11111110)2 = 1×(-128)+ 1×64 + …… +这将为运算提供极大的方便,因而在定点的DSP 中,大多数情况采用二进制补码形式。
C5000系列的DSP 硬件只支持定点运算,浮点运算要通过软件来实现。
其运算字长为16位,也就是说,DSP 所能表示的整数的范围也就决定了,其范围为-32768到32767。
而在很多情况下,数学运算过程中不一定是整数,而且动态范围也不是固定不变的。
DSP技术及其应用实验报告 CCS软件基本运算
DSP技术及其应用实验实验题目:CCS软件基本运算实验人:学号:班级:实验地点:一. 实验目的1.学习DSP算术指令的使用;2.学习并掌握DSP的基本寻址方式。
二. 实验器材1.CVT-DSP实验箱、DSP仿真器。
三. 实验内容1.编写程序,实现数据的算术运算;四. 基础知识1.DSP寻址方式简介在上一个实验中我们仅仅使用了一些寄存器,或者说是使用了寄存器寻址,DSP的寻址方式很多,可以分为以下几类:立即数寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映射寄存器寻址、堆栈寻址,以及一些特殊的寻址比如:位倒序寻址、循环寻址。
下面简单的说明一下立即数寻址和直接寻址。
1)立即数寻址这种寻址方式最简单,指令里包括了立即操作数。
在一条指令中可对两种立即数编码。
一种是短立即数(3、5、8或9bits),另一种是16bits的长立即数。
立即数可包含在单字或双字指令中。
3-,5-,8-或9-bit值在单字指令中,16-bit值在双字指令中。
比如LD 指令允许使用3、5、8、9、16比特的立即数,FRAME指令只允许使用8比特的立即数,RPT允许使用8、16比特的立即数,而象ADD、ADDM、OR、ORM等只能使用16比特的立即数。
以下是一些立即数寻址的指令例子:2)直接寻址在直接寻址中,指令代码包含了数据存储器地址的低七位。
这7-bit作为偏移地址与数据页指针(DP)或堆栈指针(SP)相结合共同形成16-bit的数据存储器实际地址。
如下图所示。
其中CPL=0时:与9-bit的DP相结合形成数据存储器地址。
而9-bit的DP指向的是数据存储空间的512个数据页中的一页。
比如下面的程序:当CPL=1:加上SP基地址形成数据存储器地址。
示例略。
注:处理器复位后CPL默认值为0。
提示:实验算术指令由于不需要外部资源,可以不需要仿真器和实验箱。
我们可以平时自己用软件仿真,多多实验。
但是复杂的算法最好还是在线仿真,因为程序是流水线执行,软件仿真有时与实际硬件执行结果有所不同。
实验一CCS的使用及DSP基本数学运算解读
实验一 CCS 的使用及DSP 基本数学运算一、实验目的1、熟悉CCS 集成开发环境,掌握工程的生成方法;2、熟悉SEED-DEC2407 实验环境;3、掌握CCS 集成开发环境的调试方法;4、了解数在DSP 中的基本计算过程。
二、实验原理TI 公司为TMS320系统的集成与调试所提供的工具包括:标准评估模块Evaluation Module (EVM )、扩展开发系统eXtenfed Development System (即硬仿真器,如XDS510)、集成开发环境Code Composer Stdio(CCS )。
标准评估模块(EVM )是TI 或TI 的第三方为TMS320 DSP 的使用者设计生产的一种评价DSP 的硬件平台,其外观和布局结构如图1.1。
扩展开发系统(XDS )是功能强大的全速仿真器,用以系统级的集成与调试。
PC 机与XDS 及EVM 板的连接方式如图1.2。
图1.1 标准评估模块(EVM )外观及布局图1.2 DSP 开发调试环境硬件连接示意图发布的Code Composer Studio开放型集成DSP 开发环境(IDE )功能强大、直观、易用。
具有编程、编译、链接、在线调试等功能。
CCS2.0开发调试软件的主界面如图1.3。
图1.3 CCS2.0开发调试软件的主界面DSP 的中央处理单元CPU 是内部总线上的核心模块,负责完成数据处理的任务。
即取数,逻辑运算,送回数据。
由三部分组成:输入比例部分(定标器)、中央算术逻辑部分(CALU )、乘法器。
TMS320LF240x 系列CPU 模块的内部功能结构如图1.4。
图1.4 CPU 模块的内部功能结构TMS320LF240x 系列DSP 有2个16位的状态寄存器ST0和ST1,含有状态位和控制位。
ST0和ST1可以被保存到数据存储器(SST )或从数据存储器中加载(LST ),从而可以保存和恢复子程序的机器状态(现场保护)。
CCSV5.5_DSP(C5535)实验手册
Байду номын сангаас
耿相铭、盛哲、周尊全等 V1.01
2015/6/12
目录
一、 基础实验 ............................................................................................................................................. 4 1.1 CCS v5 基本操作 ............................................................................................................................... 4 1.1.1 实验目的 ................................................................................................................................... 4 1.1.2 实验设备 ................................................................................................................................... 4 1.1.3 实验内容 ................................................................................................................................... 4 1
DSP实验报告四:汇编语言程序设计-数据存取实验
实验四:汇编语言程序设计-数据存取实验一、实验目的:(1)了解内部存储器空间的分配及指令寻址方式。
(2)学习利用CCS修改、填充DSP 内存单元的方法。
(3)学习操作TMS320C5xxx 内存空间的指令。
二、实验仪器:安装CCS3.1(CodeComposerStudioV3.1)的PC 机。
三、实验步骤:(1)建立工程参照实验1,实验2的方法建立工程。
该实验的示例源程序及.cmd文件存放在…\Lab03-Memory文件夹下。
(2)添加汇编语言源文件和.cmd文件,方法与实验2相同。
(3)设置连接器:本实验所用程序是汇编语言程序,故参照实验2的设置方法设置。
(4)生成输出文件:参照实验1和实验2的方法。
(5)装入程序运行:执行File / Load Program ,在随后打开的对话框中选择刚刚建立的.out 文件(在该实验所选择文件夹下的Debug子文件夹下)。
四、实验结果:(1)显示程序:选择菜单“View”的“Memory…”项;在“Title”中输入PROG,在“Address”项中输入0x1000,选择“Page”项为“Program”;单击“OK”按钮;“PROG”窗口中显示了从地址1000H开始的程序存储器内容。
根据cmd 文件中的设置,下载后的机器代码的入口应从1000H处存放。
(2)修改程序区存储单元程序区单元的内容由CCS的下载功能填充,但也能用手动方式修改;双击“PROG”窗口地址“0x1000:”后的第一个数,显示“Edit Memory”窗口,在“Data”中输入0x1234,单击“Done”按钮,观察“PROG”窗口中相应地址的数据被修改。
(3)观察修改数据区①显示片内数据存储区DARAM0:选择菜单“View”的“Memory…”项;在“Title”中输入DARAM0,在“Address”项中输入0x200;单击“OK”按钮;“DARAM0”窗口中显示了从地址200H开始的数据内存;这片地址属于片内DARAM0。
CCS程序设计与DSP硬件实验
CCS程序设计与DSP硬件实验实验项⽬5、CCS程序设计与DSP硬件实验⼀、实验⽬的(1)掌握CCS环境下程序编辑、编译、运⾏、下载、调试的过程。
(2)掌握DSP处理器的汇编、C语⾔程序设计⽅法。
(3)掌握DSP的硬件访问。
⼆、实验原理及知识点第⼀部分 DSP实验箱简介与CCS第⼆部分 CCS 软件安装第三部分 TDS510USB仿真器安装与CCS设置测试三、实验内容及步骤⼀、实验原理和⽅法开发TMS320C6xxx 应⽤系统⼀般需要以下⼏个调试⼯具来完成:1.软件集成开发环境(CCS):完成程序编译、⽬标⽂件产⽣、下载,进⾏程序和硬件的联合仿真调试。
2.仿真器:实现硬件仿真调试时与硬件系统的通信、控制和读取硬件系统的状态和数据。
CCS 通过⼯程来管理⽂件,⼀般包括以下⼏种⽂件:1) 源程序⽂件:C 语⾔或汇编语⾔⽂件(*.c 或*.asm),所编写的代码都写在各个源⽂件中;包含了所有要实现功能的代码,是⼯程的核⼼。
2) 头⽂件(*.h):主要定义了芯⽚内部寄存器结构、中断服务程序等内容。
3) 链接命令⽂件(*.cmd):分配RAM空间,⽤来将下载到RAM中的程序进⾏调试,是因为DSP编译器编译结果是未定位的,DSP也没有相应系统来执⾏代码,DSP系统的配置需求也不尽相同,因此需要定义代码的存储位置。
4) 库⽂件(*.lib,*.obj):包含了寄存器的地址和对应标⽰符的定义,还包含标准C/C++运⾏⽀持的库函数。
⼆.汇编语⾔DSP程序设计实验(⼀)实验原理与⽅法1.汇编语⾔程序在执⾏时直接从⽤户指定⼊⼝开始。
2.由于CCS的代码链接器默认⽀持C 语⾔,在编制汇编语⾔程序时,需要设置链接参数,选择⾮⾃动初始化,注明汇编程序的⼊⼝地址。
(⼆)实验步骤与内容1.运⾏ CCS Setup连接实验箱与PC机,打开电源给实验箱供电,点击setup code composer studio v3.3,运⾏CCS Setup,设置CCS,就是建⽴CCS与⽤户的⽬标板或软仿真器之间的通信。
DSP实验:常用指令及数据存储实验
DSP实验一:常用指令及数据存储实验一、实验目的1、了解DSP开发系统的组成和结构;2、熟悉DSP开发系统的连接;3、熟悉CCS的开发界面;4、熟悉C54X系列的寻址系统;5、熟悉常用C54X系统指令的用法6、掌握TMS320C54的程序空间和数据空间的分配7、熟悉操作TMS320C54数据空间的指令二、实验设备计算机、CCS2.0版软件,DSP仿真器、实验箱。
三、实验系统相关资源1、DSP芯片引脚XF连接LED5,可通过ssbx,rsbx改变XF的值来控制LED52、系统时钟频率为10MHz3、TMS320VC54存储器分配图四、实验步骤1、用仿真机将计算机与数字信号处理实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软件。
2、新建一个工程:点击Project-new,输入项目名Exp1, 并将工程文件保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS软件不能识别以中文命名的文件夹。
3、编写源程序:3.1 新建一个源文件File-New-Source File,出现文本编辑窗口3.2 复制以下代码到编辑窗口;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main;声明_main可被其他模块引用,程序加载到目标板后,;会自动跳转到标号为_main的汇编指令STACK: .usect ".stack",10h.text_main:stm #STACK+10h,sp ;设置堆栈指针STM #0, CLKMD ; (to divider mode before setting) TstStatu1:LDM CLKMD, AAND #01b, A ;poll STATUS bitBC TstStatu1, ANEQSTM #0xF7FF, CLKMD ; set C5402 DSP clock to 10MHz loop:ssbx xf ;将XF置1,熄灭LED5call delay ;调用延时子程序,延时rsbx xf ;将XF置0,点亮LED5call delay ;调用延时子程序,b loop ;程序跳转到"loop";延时子程序delay:stm 270fh,ar3 ; 270fh=9999loop1:stm 0f9h,ar4 ; 0f9h=249loop2:banz loop2,*ar4-banz loop1,*ar3-ret.end注意:(1)源代码的书写有一定的格式,每一行代码分为三个区:标号区、指令区和注释区。
试验一CCS操作试验-机械与材料工程学院-西安文理学院
DSP器件及应用实验指导手册西安文理学院机械电子工程系目录实验一 CCS 操作实验 (2)实验二存储器实验 (5)实验三发光二极管循环点亮实验 (10)实验四数码显示实验 (12)实验五硬件中断实验 (14)实验六液晶显示实验 (16)实验七定时器实验 (18)实验八步进电机控制实验 (20)实验九用DSP芯片生成正弦信号发生器 (23)附录:数据流程图及端口地址 (24)实验一 CCS 操作实验一、实验目的1、熟悉CCS2.0软件的使用。
2、了解SZ-DSPF开发教学平台的使用。
二、实验设备计算机、DSP硬件仿真器、SZ-DSPF开发教学平台。
三、实验原理了解怎样连接DSP仿真器、对CCS的仿真配置及怎样在CCS内新建工程并生成*.out文件。
四、实验步骤安装CCS2.0的Simulator方式:双击桌面上的Setup CCS2(…C5000)图标,关闭Import Configuration窗口,在System Configuration中的My System的下面可看到一个类似板卡的图标,如果该图标的名称是“tisim54x”的话,就可直接关闭该窗口,不存盘退出。
如果该图标的名称不是“tisim54x”的话,在该图标上单击右键,选择remove 删除该结构,然后在Available Board Types中双击“tisim54x”的图标(如果有的话),弹出Board Properties的对话框点击“next”、“finish”然后关闭Code Composer Setup窗口,存盘退出即可。
如果在Available Board Types中没有“tisim54x”的图标,则在右边框内单击“Install a Device Driver”,在路径“c:\ti\driver\”(此目录为CCS的安装目录)中打开tisim54x.dvr 文件,在Available Board Types中可看到“tisim54x”的图标,然后按上述操作。
DSP基于CCS数据寻址方式实验
实验一 CCS的用法一、实验目的1、了解TMS320C54X汇编语言程序的基本格式,以及汇编、链接的基本过程。
2、初步熟悉CCS的用法。
二、实验要求1、了解CCS菜单命令及产生各个显示窗口的操作2、操作各种仿真命令·进入、退出CCS·选择当前窗口、改变窗口大小·加载程序·运行程序(包括单步执行)·检查修改CPU寄存器·检查修改存储器单元内容·用观察窗口检查变量、CPU寄存器或存储单元的内容三、实验条件1、硬件DSK板及软件开发平台工具CCS。
2、源程序清单lab1.asm,详见教材3。
2节。
3、链接命令文件lab1。
cmd,详见教材3。
2节.四、实验内容1、双击桌面上的CCS2(‘5000)图标,启动CCS集成开发环境。
2、创建一个新的工程:在Project菜单中选择New项,并输入工程名如lab1,然后单击完成按钮创建新工程.3、将文件添加入工程中:①从Project菜单中选取Add Files to Project命令,在弹出的对话框中选择lab1。
asm文件并单击打开按钮;或者在工程lab1.pjt 处单击右键,选择菜单命令Add Files to Project。
②采用类似方法将lab1.cmd文件添加入工程。
4、对工程进行汇编、编译、链接:执行菜单命令Project→Rebuild All,或者在工具栏上单击Rebuild All图标.5、加载程序:执行菜单命令File→Load Program,在弹出的对话框中选择lab1。
out并单击打开按钮。
6、运行程序:选择Debug中的Run运行程序或单击工具栏的Run图标、Single Step图标运行程序。
五、试验程序lab 1:************************************************* lab1.asm y= a1*x1+a2*x2+a3*x3+a4*x4 *************************************************。
CCS程序设计和DSP硬件实验
实验项目5、CCS程序设计与DSP硬件实验一、实验目的(1)掌握CCS环境下程序编辑、编译、运行、下载、调试的过程。
(2)掌握DSP处理器的汇编、C语言程序设计方法。
(3)掌握DSP的硬件访问。
二、实验原理及知识点第一部分 DSP实验箱简介与CCS第二部分 CCS 软件安装第三部分 TDS510USB仿真器安装与CCS设置测试三、实验内容及步骤一、实验原理和方法开发TMS320C6xxx 应用系统一般需要以下几个调试工具来完成:1.软件集成开发环境(CCS):完成程序编译、目标文件产生、下载,进行程序和硬件的联合仿真调试。
2.仿真器:实现硬件仿真调试时与硬件系统的通信、控制和读取硬件系统的状态和数据。
CCS 通过工程来管理文件,一般包括以下几种文件:1) 源程序文件:C 语言或汇编语言文件(*.c 或*.asm),所编写的代码都写在各个源文件中;包含了所有要实现功能的代码,是工程的核心。
2) 头文件(*.h):主要定义了芯片内部寄存器结构、中断服务程序等内容。
3) 链接命令文件(*.cmd):分配RAM空间,用来将下载到RAM中的程序进行调试,是因为DSP编译器编译结果是未定位的,DSP也没有相应系统来执行代码,DSP系统的配置需求也不尽相同,因此需要定义代码的存储位置。
4) 库文件(*.lib,*.obj):包含了寄存器的地址和对应标示符的定义,还包含标准C/C++运行支持的库函数。
二.汇编语言DSP程序设计实验(一)实验原理与方法1.汇编语言程序在执行时直接从用户指定入口开始。
2.由于CCS的代码链接器默认支持C 语言,在编制汇编语言程序时,需要设置链接参数,选择非自动初始化,注明汇编程序的入口地址。
(二)实验步骤与内容1.运行 CCS Setup连接实验箱与PC机,打开电源给实验箱供电,点击setup code composer studio v3.3,运行CCS Setup,设置CCS,就是建立CCS与用户的目标板或软仿真器之间的通信。
DSP实验二CCS操作
DSP 实用技术课程实验报告课程名称:实验名称:姓名:学号:班级:指导老师:实验时间:实验二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 projec 菜t 单项,加入文件ccs_basic.s54和ccs_basic.cmd;b 在工程视图中选中GEL files 文件夹,单击鼠标右键,在弹出的菜单中选择Load GEL 选项,载入ccs_basic.ge;l2. 编译和连接a 编译:选择Project-->Build Option ,在Compile 表单的Category 列表中,选择Basic选项,并设置Generate debug info为full symbolic debug 选项,选择Files 选项,并在设置Asm File Ext 中写入“s54为”汇编语言扩展名;b 连接:选择Project-->Build Option ,在linker 表单中的Autoinit mode 选项中选择no autointialization 模式,Output Filename 中输入.\debug\ ccs_basic.ou,t Code Entry Point 中输入main,Map Filename 中输入ccs_basic.map,然后保存选项设置。
dsp的实验报告和ccs的基本操作
(1)源程序文件:C语言或汇编语言文件(*.ASM或*.C)
(2)头文件(*.H)
(3)命令文件(*.CMD)
(4)库文件(*.LIB,*.OBJ)
五、实验步骤
1.设置开发环境,点击Save & Quit保存并运行CCS
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
二、实验设备
PC兼容机一台,SEED-DTK5502实验箱。
三、实验内容
1. DSP源文件的建立;
2. DSP程序工程文件的建立;
3.学习使用CCS集成开发工具的调试工具。
四、实验原理
图1 CCS配置窗口
2.打开CCS后,新建一个新的project。
图2 CCS界面
3.编译文件
图3编译工具栏
4.下载文件到CPU
5.装载数据进来
图4下载数据界面1
图5下载数据界面2
6.查看寄存器的值
图6查看寄存器值窗口
7.查看输入输出波形
图7输入数据波形
图8输出数据波形
六、实验结果
图9整体界面
从图9的右上角寄存器查看窗口可以查看寄存器的值,在右边图形界面可以查看输入输出值。显而易见,该输出波形的值是输入数值的2倍。
七、实验体会
通过这一次试验,我基本熟识了ccs这一个软件,熟识了开发了DSP的基本步骤。由于条件有限,本实验只是在ccs这个软件上的的模拟仿真。在做实验的时候,出现的错误:添加头文件,语法错误都是小不了,但是只要自己耐心地修改程序,多点请教老师,错误就很快地被解决。
实验一 DSP集成开发环境CCS
CALL SUM;调用子程序SUM
end: B end
SUM:STM #a,AR3;(AR3)=a-----属于立即寻址
STM #x,AR4;(AR4)=x
[x1 x2 x3 x4]=[8 6 4 2];
(1)程序:
1)dp1.asm(源程序)
.mmregs;将TMS320C54x各寄存器名定义为全局符号,这样就可直接引用寄存器符号
STACK .usect "STACK",10h;在数据存储器中留出16个单元作为堆栈区,名为“STACK”
.bss a,4;为a分配4个存储单元
3)将TEST.out载入后,按”File---Data—Load…”,加入FLOWERS.dat文件,该文件存放图像的灰度值。
图7
4)按”View---Graph—image”,根据以下参数设置:
图8
5)按”Debug---Go main”,先观察并画出输入图像。(输入/输出图像占有同样的内存单元)
(3)运行程序并观察结果。
1)按Project—Rebuild all,编译和链接程序,若无错误,则按File—Load Program,载入可执行文件:dp1.out。
2)按debug—Run,运行程序。
3)按View—Memory…,观察数据存储单元中的结果数据。
图5
4)观察运行结果,回答以下问题:
图4
2)编写源程序和链接命令文件,并添加到工程中。
[1]按File---New---Source File,将源程序dp1.asm写入并保存为“dp1.asm”,文件的路径为:
DSP原理与应用实验报告-CCS的使用
实验报告课程名称DSP原理与应用实验名称CCS的使用专业通信工程班级学号姓名指导教师2013年3 月25 日实验一 CCS的使用实验名称CCS的使用评分实验日期2013 年 3 月25 日指导教师姓名专业班级通信1081 学号一、实验目的1.掌握Code Composer Studio的安装和配置步骤过程。
2.了解Code Composer Studio软件的操作环境和基本功能,了解TMS320C55xx 软件开发过程。
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
二、实验设备PC兼容机一台,SEED-DTK5502实验箱。
三、实验内容1. DSP 源文件的建立;2. DSP 程序工程文件的建立;3. 学习使用CCS 集成开发工具的调试工具。
四、实验原理1.软件集成开发环境:完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助手段。
2.Code Composer Studio主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
3.用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:(1)源程序文件:C语言或汇编语言文件(*.ASM 或*.C)(2)头文件(*.H)(3)命令文件(*.CMD)(4)库文件(*.LIB,*.OBJ)五、实验步骤1.点击桌面Setup CCS,设置开发环境,点击Save & Quit保存并运行CCS图1 CCS配置窗口2.打开CCS后,新建一个新的project,将头文件、命令文件和源文件添加到该工程,在源文件中编写程序图2 CCS界面3.编译文件图3 编译工具栏4.下载文件到CPU5.装载数据进来图4 下载数据界面1图5 下载数据界面2 6.查看寄存器的值图6 查看寄存器值窗口7.查看输入输出波形图7 输入数据波形图8 输出数据波形六、实验结果图9 整体界面从图9的右上角寄存器查看窗口可以查看寄存器的值,在右边图形界面可以查看输入输出值。
DSP实验一 CCS软件的使用
实验一CCS软件的使用CCS是TI公司开发的集编辑、编译、调试等功能为一体的DSP开发工具,我们本次实验通过一个简单的程序来学习CCS软件的基本使用方法。
一.实验目的:1.了解240X系列DSP程序的结构及文件组织2.了解CCS开发环境功能,掌握其使用方法二.实验器材1.CCS软件,DSP仿真器2.示波器(可选)三.实验内容1.运行CCS软件,建立工程2.输入程序3.编译工程,下载并执行实验程序,检查实验结果四.基础知识1.源代码书写格式在CCS中源代码具有自己的书写格式,简单归纳如下:(1)每一行代码分三个区:标号区、指令区、注释区①标号区必须顶格写,主要是定义变量、常量、程序标签时的名称,标号区占3个TAB的间隔,即12个字符。
②指令区位于标号区之后,以空格或TAB隔开。
如果没有标号,也必须在指令前面加上空格或TAB,不能顶格,指令码占2个TAB间隔,然后是操作数。
③注释区在标号区、指令区之后,以分号开始。
注释区前面也可以没有标号区和指令区;另外,还有专门的注释行,以*打头,必须顶格开始。
如果功能说明较多以分格线框起来。
(2)一般区分大小写(3)CCS集成开发环境对书写格式没有做要求,但养成良好的代码书写格式,增加代码的可读性,避免低级的错误,对今后软件的开发是有帮助的。
另外,其他汇编语言的编程风格也可以借用过来,如标示符命名规则、程序说明的要求等。
2.矢量文件矢量文件是DSP程序中非常重要的文件,用来管理程序复位和中断向量的配置。
当有中断发生并且处于允许状态时,程序指针跳转到中断向量表中对应的中断地址,由于中断服务程序较长,通常中断矢量文件存放的是一个跳转指令,指向实际的中断服务程序。
; SOLUTION FILE FOR VECtor.ASM.ref _c_int0.sect "vectors" ;定义主向量段;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;Interrupt vector table for core;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~reset B _c_int0 ;00h resetint1: B int1 ;02h INT1int2: B int2 ;04h INT2int3: B int3 ;06h INT3int4: B int4 ;08h INT4int5: B int5 ;0Ah INT5int6: B int6 ;0Ch INT6int7: B int7 ;0Eh reservedint8: B int8 ;10h INT8 user-definedint9: B int9 ;12h INT9 user-definedint10: B int10 ;14h INT10 user definedint11: B int11 ;16h INT11 user definedint12: B int12 ;18h INT12 user definedint13: B int13 ;1Ah INT13 user definedint14: B int14 ;1Ch INT14 user definedint15: B int15 ;1Eh INT15 user definedint16: B int16 ;20h INT16 user definedint17: B int17 ;22h TRAPint18: B int18 ;24h NMIint19: B int19 ;26h reservedint20: B int20 ;28h INT20 user definedint21: B int21 ;2Ah INT21 user definedint22: B int22 ;2Ch INT22 user definedint23: B int23 ;2Eh INT23 user definedint24: B int24 ;30h INT24 user definedint25: B int25 ;32h INT25 user definedint26: B int26 ;34h INT26 user definedint27: B int27 ;36h INT27 user definedint28: B int28 ;38h INT28 user definedint29: B int29 ;3Ah INT29 user definedint30: B int30 ;3Ch INT30 user definedint31: B int31 ;3Eh INT31 user defined3.链接配置文件一个完整的DSP程序至少包含三个部分:主程序、矢量文件、链接配置文件(*.cmd).链接配置文件确定了程序链接成最终可执行代码时的选项,其中有很多条目,实现不同方面的功能,其中最常用的也是必须的两条:(1)存储器的分配(2)指定程序入口下面是本次实验的链接文件,对于一般实验,该链接配置文件已足够了/* SOLUTION FILE FOR LAB11.CMD */-stack 40MEMORY{PAGE 0:VECS origin = 0000h, length = 0040hPVECS origin = 0044h, length = 0100hFLASH: origin = 150h, length = 7EAFhSARAM_P: origin = 8100h, length = 1000hPAGE 1:B2: origin = 0060h, length = 020hB0: origin = 200h, length = 100hB1: origin = 300h, length = 100hSARAM_D: origin = 0C00h, length = 400hPERIPH: origin = 7000h, length = 1000hEXT: origin = 8000h, length = 8000hPAGE 2:IO_EX: origin = 0000h, length = 0FF00hIO_IN: origin = 0FFF0h, length = 0Fh}SECTIONS{reset: > VECS PAGE 0.vectors > VECS PAGE 0.pvecs: > PVECS PAGE 0.text: > FLASH PAGE 0.cinit: > FLASH PAGE 0.const: > SARAM_D PAGE 1.bss: > SARAM_D PAGE 1.data: > B0 PAGE 1.stack: > B1 PAGE 1.data0: > B2 PAGE 1.buffer: > SARAM_D PAGE 1}4.将仿真器的JTAG与DEMO板正确连接,接上电源5V USB插入PC机前端的USB口,如果没有弹出任何东西,表明USB驱动正确,如果弹出发现新硬件表明USB没有驱动。
实验报告一
实验报告一
一、实验目的
1.了解DSP结构;
2.熟悉CCS开发环境;
3.熟悉TDB-C54X plus DSP实验箱的硬件环境;
4.掌握C54X plus 汇编寻址方式;
二、实验内容
1.C54X plus 会变初始化程序;
2.C54X plus 各种汇编寻址方式的源程序;
三、实验结果
1.立即数寻址
执行前:
执行后:
0X2015:
2.累加器寻址
执行前:
执行后:
3.直接寻址(DP指针)执行前:
执行后:
4.直接寻址(SP指针)执行前:
执行后:
5.间接寻址执行前:
执行后:
6.绝对寻址执行前:
执行后:
四、实验总结
本次实验主要是了解和认识各种寻址方式,通过观察执行前后片内各数据地址的值,与实际期望,验证实验猜想。
这次是第一次接触dsp实验,在组装使用实验箱的时候遇到较大的问题,例如驱动问题,安装好后无法识别等问题。
最后在老师的耐心指导下都顺利解决!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一CCS 的用法、实验目的1、了解TMS320C54X 汇编语言程序的基本格式,以及汇编、链接的基本过程。
2、初步熟悉CCS 的用法。
二、实验要求1、了解CCS 菜单命令及产生各个显示窗口的操作2、操作各种仿真命令•进入、退出CCS•选择当前窗口、改变窗口大小•加载程序•运行程序(包括单步执行)•检查修改CPU寄存器•检查修改存储器单元内容•用观察窗口检查变量、CPU 寄存器或存储单元的内容三、实验条件1、硬件DSK 板及软件开发平台工具CCS。
2、源程序清单lab1.asm ,详见教材3.2 节。
3、链接命令文件lab1.cmd ,详见教材3.2 节。
四、实验内容1、双击桌面上的CCS2(‘5000) 图标,启动CCS 集成开发环境。
2、创建一个新的工程:在Project 菜单中选择New 项,并输入工程名如lab1 ,然后单击完成按钮创建新工程。
3、将文件添加入工程中:①从Project 菜单中选取Add Files to Project 命令,在弹出的对话框中选择lab1.asm 文件并单击打开按钮;或者在工程lab1.pjt 处单击右键,选择菜单命令Add Files to Project 。
②采用类似方法将lab1.cmd 文件添加入工程。
4、对工程进行汇编、编译、链接:执行菜单命令Project ^Rebuild All,或者在工具栏上单击Rebuild All图标。
5、加载程序:执行菜单命令File f Load Program ,在弹出的对话框中选择lab1.out 并单击打开按钮。
6、运行程序:选择Debug 中的Run 运行程序或单击工具栏的Run 图标、Single Step 图标运行程序。
五、试验程序lab 1:************************************************* lab1.asm y= a1*x1+a2*x2+a3*x3+a4*x4 *************************************************.title "lab1.asm".mmregsx,4STACK .usect"STACK",10h ;申请16 栈区空间.bss;创建4 个存储单元的x 和a ,一个存储单元的y .bss a,4.bss y,1.def start.datatable: .word 1,2,3,4 ;装载数据.word 8,6,4,2.text ;代码段start: STM #0,SWWSRSTM #STACK+10h,SP ;定义堆栈段STM #table,AR1 ;AR1 指向tableSTM #x,AR2 ;AR2 指向xSTM #7,AR0LD #0,Aloop: LD *AR1+,A ;move 8 values STL A,*AR2+ ;将AR2 内容赋予ABANZ loop,*AR0- ;into data memoryCALL SUM;call SUM subrotineend: B endSUM: STM #a,AR3 ;将a 赋予AR3 STM #x,AR4 ;x 赋予AR4RPTZ A,#3STL RET .endA,@y六、实验结果1, 启动CCS 后配置CCS 集成开发环境 2, 添加工程文件3, 汇编、编译、链接、并进行加载4, 加载所给出的程序,并运行。
观察内存单元以及 CPU 寄存器的变化5,程序执行结果O-xOOOOGO 4 D O M OOOOG JC .0 OCO C^xOOOO ■OxOOO&DO 5©0 ooG K O 0CDOxOOOO A O JC OOO&OO S SDxOOOO 0x0000 OxOOOFJkDxOOOO 0x0oco O JC FFFF—Q-KOOD&O059DxOOOO 0x0000 0x0000O JC OOOOOO SC C'xOOOG 0x0000O JC OOOOO JC OOOOOOSF D JC .0 0 OOO JI OOO&OO €03£ r9 j. _ 1MH ・Ojtooa&oo£oD JC OOOI C K G0C2Oiti : 0030-K COOOOO£3ijtDO 04CjtC DO 000^4 3.J 亡ooaoo£4D K D00£oxooceOitC 02 4□ J{QDOOOD€7DJCD O DZ O JC QDQ&OO¥ O K OOO&OO^SGwoose匚 jtcoooootaend r end.匚卫匚ooooots D JE OOOO OxDOCO Ox.O ODOC ■<■: O-Z0 : C EC O JC DOOO OJCDOCO DxOODO O JC ODOOOD£E O JC OODO Q JC O0€OOxOODO O JS ODODOOJZD JCL D O DO D JH -DOCO 0x00口□OxOOO&OOTSDirD tJ DO0^0 000OnOiOODQ JK ODOODO^S O JC OODO O JE OOOO Q K OOOOO JC ODOOOO^E D JE DOOOO JC DO<JO o 嗣go¥O JC COOOOO^EDCO K OOCO丁 曰 1* 16 i3it [Dat^ f七、实验体会经过实验熟悉了CCS软件开发平台的使用方法。
对于各个文件(.asm、.cmd、.obj、.out)的作用有了一定的了解。
实验二数据寻址方式一、实验目的1、熟悉TMS320C54X的各种寻址方式。
2、继续练习CCS软件的用法。
二、实验条件本实验已准备的程序列于表2.1中表2.1数据寻址方式实验程序三、实验步骤1、双击桌面上的CCS2('5000 )图标,启动CCS 集成开发环境。
2、在File菜单中选择Open项,打开并阅读每一种寻址方式实验源程序和链接命令文件。
3、创建新工程并添加文件(包括.asm源文件和.cmd链接命令文件)4、汇编、编译、链接生成输出文件并加载程序。
5、用单步方式执行程序,观察程序中各条指令的执行结果。
6、在程序中添加若干条此类寻址方式的指令,并汇编、链接、执行。
四、实验程序Lab 2a :・ ********************************5; Immediate Addressing・ ********************************5.title "lab2a.asm".def start.textstart: LD #100,A ;立即寻址LD #10h,4,ARSBX SXMLD #32769,B :将32769 赋予BLD #4000h,16,Bhere B here.end.title"lab2b.asm".def startSAMPLE .set 0060h.bss x,10.datatable: .word 1 ;数据装载.word.word.word.word 5.textstart: LD#4AB8h,ASTL A,SAMPLELab 2b :・ ********************************; Absolute Addressing・ ********************************STM #0060h,AR2RPT #4MVPD table,*AR2+ ;将table 赋予AR2 指向的地址,AR2+1RPT #4MVKD #0061h,*AR2+ ;将0061h 指向的内容赋予AR2 ,并依次加1LD x,BLD 0061h,Ahere B here.endLab 2c :・ ********************************5; Accumulator Addressing・ ********************************5.title "lab2c.asm"STACK .usect "STACK",10h.def start.bss x,10.datatable: .word 1234h,5678h,9abch,0def0h.textstart: STM #STACK+10h,SPLD #table,A;将table 地址赋予 A; 将0001 赋 予 地 址STM #0060h,AR2 RPT#3READA*AR2+ ;读取 AR2 指向地址内容后 AR2 内容 +1LD #ADD_1,A CALA Ahere B hereADD_1: ADD #1,ARET.endLab 2d :・ ********************************5; Direct Addressing・ ********************************5.title "lab2d.asm" .def start .bss x,1 .bss y,1 .textstart: ST #0001, *(0180h)0180hST #1000, *(01ffh)ST #500, *(0200h)LD #3,DPLD @x,A ;DP+x 地址的内容赋予A;LD #4,DPADD @y,Ahere B here.endLab 2e :・ ****************************************5; Indirect Addressing・ ****************************************5.title "lab2d.asm".def start.bss x,10hstart: ST #1000h,*(0060h)ST #2000h,*(0061h)ST #3000h,*(0062h)ST #4000h,*(0063h) 将4000h 赋予地址0063hLD #1000h,ASTM #0060h,AR1Memory-Mapped RegisterAddressingMAR *AR1+ STM #2,AR0 LD *AR1+0,A;将 AR1 指向地址内容赋予 ALD *AR1,Bhere B here.endLab 2f :・ ****************************************・ ****************************************.title "lab2f.asm".def start.mmregs.textstart: STM#1234h,AR1STM #5678h,AR2; 5678h 赋予 AR2STM #2,SWWSRLDMAR1,AMVMM AR1,AR3 ; AR1 内容赋予 AR3STLM A,AR2RPT #2POPM *AR1+;将堆栈内容弹出堆栈Lab 2g :・ ********************************; Stack Addressing・ ********************************.titl e"lab2g.asm" .def startSTACK: .usect "STACK",10h.bss x,10h .textstart: STM#STACK+10h,SP ST #1234h,*(x) ST #5678h,*(x+1) ST #9abch,*(x+2)STM#x,AR1RPT #2PSHD *AR1+ ;将 AR1 指向地址内容压入堆栈・ ********************************五、实验结果1,立即寻址2,绝对寻址将AR2的值逐渐赋予X后,从地址0x0061 (0x0002 )再次对X 进行赋值3,累加器寻址在实验过程中,对于此时A的取值即:FFFFFFE010不理解。