汕头大学电子系DSP实验报告1

汕 头 大 学 实 验 报 告


学院: 工学院    系:电子工程系    专业:电子信息工程      年级:09       成绩:

实验一 DSP基础实验(CCS入门)

一、           实验目的

二、熟悉CCS开发环境

三、了解DSP 54X EVM板的硬件环境

四、           实验内容

1.         打开或新建工程文件(.obj)

2.         查看了解工程的文件(.c, .cmd, .asm, .h, .lib等文件格式)

3.         编译工程文件(build),汇编连接后生成DSP的可执行文件(.out)

4.         使用FILE菜单中的load program命令调入可执行文件(.out)

5.         程序运行(run)或单步运行程序

6.         打开view菜单中的CPU Register观察DSP 54X EVM板存储器值和DSP寄存器值

7.         打开view菜单中的 memory,设定要观察的单元地址,观察DSP 54X的内存值

8.         打开view菜单中的watch windows窗口,观察变量值的变化

9.         打开debug菜单中的breakpoints在程序中建立断点,观察程序运行到断点时的变量值、存储器的变化

10.     在程序的空函数处设置探针,程序运行到探针这个地方,会从计算机上读取正弦波的数据,经过处理后,在view菜单中的graph中观看波形

五、           实验要求

打开运行一个小程序,熟悉CCS工程的文件结构,熟悉CCS各个功能的使用,并掌握DSP54X的工程建立、编译方法。自己编写一个小程序,进一步熟悉DSP的CCS开发平台

六、           实验环境

计算机、DSP仿真器、DSP 54X EVM板、CCS软件、EVM54X库文件

七、           实验程序框图

八、           实验问题

1.        解释实验一中建立的test工程中各个文件的作用

答:

1)        include头文件(.h)的主要作用头文件,一般用于定义程序中的函数、参数、变量和一些宏单元,同库函数配合使用。因此,在使用库时,必须用相应的头文件说明

2)        DSP/BIOS CONFIG FILES开发基于DSP/BIOS的程序保存BIOS配置之后自动产生的文件。

3)        在保存BIOS配置时候会产生program.cbd/programcfg.h54/programcfg.s54/programcfg.cmd/programcfg.h/programcfg_c.c(C5000的example,program为你的项目名),这些文件被分配在project不同目录。

4)        Source Files源程序,实现DSP系统指定功能的主要代码部分Program.cmd链接文件,在源文件经过汇编器(Assembler)输出的OBJ Files(目标文件)需要通过Linker(链接器)才能得到OUT files,在链接阶段Linker根据.cmd里面存储区、Section分配以及lib来链接rst.lib、csl.lib、DSP/BIOS library跟对段的重定位

5)        Library Filers的作用

Ø  Rst.lib:C语言实时运行支持库,建立C运行环境,由_c_int00主要完成设置堆栈指针、初始化全局变量、调用main()

Ø  Csl.lib:芯片支持库,实现片内外设的操作

Ø  DSPLIB/IMGLIB:信号处理库,利用针对不同DSP的优化的函数进行数学运算

Ø  通用的视/音LIB:例如263、264、jpeg、G.7XX、mp3、wmv

Ø  其他自己封装的LIB:例如bsl.lib(board source library),对DSP系统板上资源的操作

2.        解释探针与断点的区别

答:

1)        探针是停止目标设备,完成一个动作,即刻恢复目标系统的运行

2)        断点停止目标设备,直到手动恢复并且打开的窗口刷新目标系统的运行

3)        探针允许自动完成文件的输入与输出,断点不可以

 

第二篇:DSP实验报告三次1

                      DSP实验报告

             

               实验题目:  实验三  汇编指令练习2

            地点:    一教楼八机房          

        指导教师:     倪宁老师            

        学生班级:      信息1012           

        学生学号:   20246     姓名: 周宣民

        实验时间:    11.28                     

一、实验目的

1.熟悉CCS开发环境,学习CCS开发环境的使用方法。

2.在CCS中练习常用汇编指令,理解指令的执行过程。

二、实验内容

1.在Winxp环境下,安装CCS(OMPA)开发软件;

2.熟悉各菜单功能及使用方法;

3.熟悉CCS调试C54xx汇编程序的方法。

4.在CCS中练习常用汇编命令。

三、实验设备及软件

1. PC机一台;CCS(OMPA)开发软件一套;

四、实验步骤

1. 操作

(1) 首先运行“CCS  stetup” →CCS, 进行系统配置。

(2) 运行CCS

(3) 打开或创建一个工程文件

(4) 为工程文件添加源文件(*.asm), 若没有源文件,请先创建源文件。

(5) 对该工程进行编译链接,产生可执行文件。Build all

(6) 如果没有错误,则进行装载可执行程序操作。File→Load Program

(7) 进行调试. 可先进行复位操作。Debug → Restart

(8) 单步执行:Debug→Step  Over:

(9) 观察内存,观察寄存器。

(10)  回答相关问题。

五、实验题目

1.堆栈操作. 参考以下范例,编写一个具有50单元的堆栈, 将其中存储单元填充自已学号的后4位16进制数。如:某学生学号为2346,  对应用的16进制数为:2346H。将存储器的中的数据截屏,取名为:sy3_xx1012_学号_1.jpg

.title "sy3_xx1012_20246_1.asm"

size      .set  50   

stack        .usect "STK",size     ; 堆栈的,单元设置

                    .def _c_int00

                    .text

_c_int00: STM  #stack+size , SP  ;设置堆栈指针

                     LD   #0246H,A           ;堆栈区要填充的数加载A

                     STM  #10,AR1         ;设置循环次数

                     MVMM SP,AR4                    ;设置数据指针

loop:      STL  A, *AR4-                       ;循环,填充数据

           BANZ  loop, *AR1-

           .end

2. 以下范例的功能是什么?写出对应的计算表达式(公式), 若a= 3, b=4, x=5,则y=?   将存储器的中的数据截屏,取名为:sy3_xx1012_学号_2.jpg

.title "sy3_xx1012_20246_2.asm"

             .bss      a,1

             .bss      x,1

             .bss      b,1

             .bss      y,1

             .def _c_int00

             .data

table:   .word   3,5,4

             .text

_c_int00:  

             RSBX CPL  ;CPL=0 方式

             LD #1,DP

             STM #a,AR1

          RPT #2

          MVPD  table,*AR1+

          LD  #0,B

             LD  @a,T

        MPY @x,B

        ADD @b,B

        STL B, @y

       

end:  B  end

     .end

3. 以下指令序列的功能是什么? 输入以下的指令序列。将存储器的中的数据截屏,取名为:sy3_xx1012_学号_3.jpg

.title     "sy3_xx1012_20246_3.asm"  

                  .bss     y, 20

               .data   

table:    .word    7,7,7,8,8,8,7,7,9,10,11,12,13,14,15,16,17,18,19,20

          .def   _c_int00

         .text

_c_int00:

        STM   table,  AR1        ;table的地址存入AR1

        LDM   AR1, A             ; AR1--> A

        STM  #y, AR3

        RPT       #19                ;重复20

        READA  *AR3+           ; 程序存储器传送到数据存储器

         

end:     B            end

          .end

4. 计算: 求y=a1*x1+a2*x2+a3*x3+a4*x4  ,用双操作数指令计算。当x1,x2,x3,x4分别为:1,2,3,4; a1,a2,a3,a4均为3时,y=?(提示:不能用块循环结构), 将存储器的中的数据截屏,取名为:sy3_xx1012_学号_4.jpg

5. 用双操作数的方法计算: y=a*x+b , (其中a,b,c的值为自已学号的后3位,16进制数) (参考课件), 将存储器的中的数据截屏,取名为:sy3_xx1011_学号_5.jpg

六、实验结果

1.(截图如下)

sy3_xx1012_20246_1.jpg

             

sy3_xx1012_20246_2.jpg

sy3_xx1012_20246_3.jpg

sy3_xx1012_20246_4.jpg

sy3_xx1012_20246_5.jpg

七、心得体会

通过这次实验,让我觉得应该对书上的指令更加熟悉才能做好实验,现在的实验越来越难了,所以要多熟悉书上的知识。

相关推荐