实验一CCS使用及DSP基本数学运算课件

上传人:磨石 文档编号:243156135 上传时间:2024-09-17 格式:PPT 页数:80 大小:3.95MB
返回 下载 相关 举报
实验一CCS使用及DSP基本数学运算课件_第1页
第1页 / 共80页
实验一CCS使用及DSP基本数学运算课件_第2页
第2页 / 共80页
实验一CCS使用及DSP基本数学运算课件_第3页
第3页 / 共80页
点击查看更多>>
资源描述
单击此处编,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验一CCS使用及DSP基本数学运算,*,实验一,CCS,使用及,DSP,基本数学运算,实验一CCS使用及DSP基本数学运算,一、实验目的,1,熟悉,CCS,集成开发环境,掌握工程的生成方法;,2,熟悉,SEED-DTK5416,实验环境;,3,掌握,CCS,集成开发环境的调试方法;,4,了解数在计算过程中的定标,掌握数的定点、浮点表示方法,定点、浮点基本运算以及定点、浮点间的相互转换。,实验一CCS使用及DSP基本数学运算,二、实验内容,1,DSP,源文件的建立;,2,DSP,程序工程文件的建立;,3,编译与链接的设置,生成可执行的,DSP,文件;,4,进行,DSP,程序的调试与改错;,5,学习使用,CCS,集成开发工具的调试工具;,6,观察实验结果;,实验一CCS使用及DSP基本数学运算,三、实验背景知识,1.,为什么,DSP,运算要做数的定标,2.,数的定标方法,Q,表示法,S,表示法,实验一CCS使用及DSP基本数学运算,四、实验程序结构说明,1.math.c,这个文件中包含了实验关于,DSP,运算的主演函数。主要有:,fixed,add(int x,int y),:定点加法运算;,fixed,sub(int x,int y),:定点减法运算;,fixed,mul(int x,int y),:定点乘法运算;,fixed,div(int x,int y),:定点除法运算;,float,add(double x,double y),:浮点加法运算;,float,sub(double x,double y),:浮点减法运算;,float,mul(double x,double y),:浮点乘法运算;,float,div(double x,double y),:浮点除法运算;,float,fixed(double x),:浮点转定点运算;,fixed,float(int x),:定点转浮点运算;,实验一CCS使用及DSP基本数学运算,2.math.cmd,文件,DSP,的链接文件,也叫命令文件 。,命令文件的组成,file1.obj /,子目标文件名,1,file2.obj /,子目标文件名,2,file3.obj /,子目标文件名,3,- o prog.out /,连接器操作指令,用来指定输出文件,- m prog.m /,用来指定,MAP,文件,MEMORY,略,SECTIONS,略,otherlink.cmd,实验一CCS使用及DSP基本数学运算,MEMORY,伪指令,MEMORY,用来建立目标存储器的模型,可以定义目标系统的各种类型的存储器及容量,MEMORY,PAGE 0,:,name0(attr),:,origin = constant,length = constant,name0n(attr),:,origin = constant,length = constant,PAGE 1,:,name1(attr),:,origin = constant,length = constant,name1n(attr),:,origin = constant,length = constant,PAGE n,:,namen(attr),:,origin = constant,length = constant,namenn(attr),:,origin = constant,length = constant,实验一CCS使用及DSP基本数学运算,SECTIONS,伪指令,SECTIONS,在程序里添加段名。,SECTIONS,.text,:,所有,.text,输入段名, load,加载地址,run =,运行地址,.data,:,所有,.data,输入段名, load,加载地址,run =,运行地址,.bss,:,所有,.bss,输入段名, load,加载地址,run =,运行地址,.other,:,所有,.other,输入段名, load,加载地址,run =,运行地址,实验一CCS使用及DSP基本数学运算,存储模型说明:,.cinit,:存放程序中的变量初值和常量,.const,:存放程序中的字符常量、浮点常量和用,const,声明的常量,.switch,:存放程序中,switch,语句的跳转地址表,.text,:存放程序代码,.bss,:为程序中的全局和静态变量保留存储空间,.far,:为程序中用,far,声明的全局和静态变量保留空间,.stack,:为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果,实验一CCS使用及DSP基本数学运算,.,sysmem,:用于程序中的,malloc,、,calloc,、和,realoc,函数动态分配存储空间,.vectors,:中断向量表,.data,:常数数据,如对变量的初始化数据,.trap,:,.,cio,:,实验一CCS使用及DSP基本数学运算,地址说明,链接器为每个输出段都在目标存储器里分配两个地址:一个是加载地址,一个是运行地址,通常情况下两个地址是相同的,可以认为输出段只有一个地址,这时就可以不加“,run=,运行地址”这条语句;,有时需要将两个地址分开,比如将程序加载到,FLASH,,然后放到,RAM,中高速运行,这就用到了运行地址和加载地址的分别配置,实验一CCS使用及DSP基本数学运算,“,load,加载地址”的几种写法:,首先“,load”,关键字可以省略, “”可以写成“,”, “加载地址”可以是:地址值、存储区间的名字、,PAGE,关键词等,“,run =,运行地址”中的“,=”,可以用“,”,实验一CCS使用及DSP基本数学运算,3.rts.lib,库文件,rts.lib,是一个库文件,主要包含了有关,C,的运行环境与相应的函数的代码。,该库文件存放在,CCS,的,cgtoolslib,中 。,实验一CCS使用及DSP基本数学运算,4. GEL,文件,GEL,文件的功能是用于初始化,DSP,,实现对各种寄存器的初始化。,GEL,在,CCS,下有一个菜单,可以根据,DSP,的对象不同,设置不同的初始化程序。,实验一CCS使用及DSP基本数学运算,不同的DSP程序,其.cmd文件、.lib文件和.gel文件大小一样吗?,实验一CCS使用及DSP基本数学运算,五、实验步骤,1,硬件连接,将,USB,仿真器的,USB,插头插入,PC,机的,USB,插槽中;将,DSP,仿真器的,JTAG,插头与,SEED-DEC54xx,单元的,J8,相连接;启动计算机,当计算机启动后,打开,SEED-DTK5416,的电源。观察,SEED-DTK_IO,单元的,+5V,、,+3.3V,、,+15V,、,-15V,的电源指示灯是否均亮;若有不亮的,请断开电源,检查电源。,实验一CCS使用及DSP基本数学运算,2,打开,CCS,集成开发环境,进入,CCS,的操作环境,实验一CCS使用及DSP基本数学运算,新建源文件,创建一个未知名的源文件,实验一CCS使用及DSP基本数学运算,编写源代码并保存,设保存源程序名为,math.c,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,创建其它源程序(如,.cmd,)可重复上述步骤,实验一CCS使用及DSP基本数学运算,创建或打开一个工程,建立新工程,点击,ProjectNew,实验一CCS使用及DSP基本数学运算,工程名及路径可任意确定,实验一CCS使用及DSP基本数学运算,点击完成,已新建一个名为,DTK-MATH.prj,的工程,路径为,D:ti5000myprojectsDTK-MATH,注:不认可汉字路径,实验一CCS使用及DSP基本数学运算,加载源文件到工程,点击,Project,,选择,Add Files to Project,,添加,math.c,、,math.cmd,、,rts.lib,文件到工程中。,实验一CCS使用及DSP基本数学运算,添加源文件到工程,在下拉菜单中选择,.c,点击打开,即可添加源程序到工程中,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,同样的方法可以添加文件,math.cmd,、,rts.lib,到工程文件中,在下面窗口中可以看到,math.c,、,rts.lib,文件已经加到工程文件中。,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,加载,GEL,文件,对各种寄存器的初始化,FileLoad GEL,例如:,FileLoad GELCCS-FFTdtk-boot.gel,实验一CCS使用及DSP基本数学运算,文件操作,以下操作可对工程中的文件进行打开、删除、查看属性等操作。,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,设置编译与连接选项,实验一CCS使用及DSP基本数学运算,设置相应的编译参数,一般情况下,按默认值就可以,实验一CCS使用及DSP基本数学运算,进行连接的参数设置,设置输出文件名、堆栈的大小以及初始化的方式,实验一CCS使用及DSP基本数学运算,设置连接顺序。当使用,rts.lib,时将其放在最后,实验一CCS使用及DSP基本数学运算,编译,生成目标文件:*,.out,点击,Project,Rebuild all,,若正确则生成,DTK-math.out,;,若是修改程序,可以使用,Project,Build,命令,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,Load,文件并运行,加载文件:,File,load program,debug,DTK-MATH.out,载入,debug,文件夹下的可执行文件,DTK-MATH.out,运行,Debug,Run,(,F5,),实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,装载完毕,实验一CCS使用及DSP基本数学运算,点击窗口左侧的,Go Main,回到,C,程序的入口,实验一CCS使用及DSP基本数学运算,进入,C,程序入口,实验一CCS使用及DSP基本数学运算,保存调试环境,点击,File,Workspace,Save Workspace,保存调试环境,以便下次调试时,不再需要重新进行设置。,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,调试工具,断点调试,打开,CPU,与外设寄存器的观察窗,设置:,Debug/Breakpoints,运行:,Debug/Run,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,运行程序到第一个断点,在STDout观察窗内看定点运算是否正确;然后再运行程序到第二个断点,观察浮点运算是否正确。再运行程序,观察浮点与定点之间的转换是否正确。,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,观察,CPU,寄存器、,Memory,实验一CCS使用及DSP基本数学运算,在图示窗口中可观察到CPU个寄存器的值和外围寄存器的值,实验一CCS使用及DSP基本数学运算,查看数据:,View/Memory,实验一CCS使用及DSP基本数学运算,调试工具(,Debug,),在下拉菜单中可选择复位,CPU,、进入,C,主程序、重新开始等操作。,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,探测点调试,Probe Points,查看程序执行到某一位置时各寄存器的值,设置:,Debug/Probe points,与断点的区别:,实验一CCS使用及DSP基本数学运算,实验一CCS使用及DSP基本数学运算,这是CCS弹出有关Probe Points的设置表,进行如下设置,实验一CCS使用及DSP基本数学运算,六实验说明,1.,源程序错误,在函数,fixed_add(),中的,z,的定义未加“;”号;, 函数,float_add(),中的,号缺右边而未完整。,2.,链接错误,DSP,的空间分配重叠,DATA: origin = 3000h, length = 0120h /* Internal Data RAM */,STACK: origin = 3100h, length = 0500h /* Stack Memory Space */,未给系统分配,.stack,堆栈段,/.stack STACK PAGE 1,实验一CCS使用及DSP基本数学运算,六实验说明,1.,源程序错误,在函数,fixed_add(),中的,z,的定义未加“;”号;, 函数,float_add(),中的,号缺右边而未完整。,2.,链接错误,DSP,的空间分配重叠,DATA: origin = 3000h, length = 0120h,STACK: origin = 3100h, length = 0500h,未给系统分配,.stack,堆栈段,/.stack STACK PAGE 1,实验一CCS使用及DSP基本数学运算,附件一: 程序解析,实验一CCS使用及DSP基本数学运算,程序结构,#define Qx 4,#define Qy 4,#define Qz 4,void main(),fixed_add(1556,40);,fixed_sub(334,222);,fixed_mul(188,188);,fixed_div(188,18);,float_add(2.5e3,1.2e3) ;,float_sub(2.0e2,3.0e2);,float_mul(2.0e2,3.0e2);,float_div(2.0e4,2.0e2);,float_fixed(9.735e1);,fixed_float(1557);,实验一CCS使用及DSP基本数学运算,1.,加法,/,减法运算的,C,语言定点模拟,设浮点加法运算的表达式为:,float x,,,y,,,z,;,z=x+y,;,将浮点加法,/,减法转化为定点加法,/,减法时最重要的一点就是必须保证两个操作数的定标值一样。,若两者不一样,则在做加法,/,减法运算前先进行小数点的调整。,为保证运算精度,需使,Q,值小的数调整为与另一个数的,Q,值一样大。,实验一CCS使用及DSP基本数学运算,结果不超过,16,位表示范围,设,x,的,Q,值为,Qx,,,y,的,Q,值为,Qy,,且,QxQy,,加法,/,减法结果,z,的定标值为,Qz,,则:,z,x+y,实验一CCS使用及DSP基本数学运算,定点加法可以描述为:,int x,y,z;,long temp;/*,临时变量*,/,temp,y(Qx,Qz),若,QxQz,z,(int)(temp(Qz,Qx),若,QxQz,实验一CCS使用及DSP基本数学运算,举例:定点加法。,设,x,0.5,,,y,3.1,,则浮点运算结果为,z,x+y,0.5+3.1,3.6;,Qx,15,,,Qy,13,,,Qz,13,,则定点加法为:,x,16384,;,y,25395;,temp,253952),29491;,因为,z,的,Q,值为,13,,所以定点值,z,29491,即为浮点值,z,29491/8192,3.6,实验一CCS使用及DSP基本数学运算,void fixed_add(int x,int y),long temp;,int z;,temp=y=Qz),z=temp(Qx-Qz);,else,z=temp(Qz-Qx);,fprintf(stdout,the result of fixed_add was %i !n,z);,实验一CCS使用及DSP基本数学运算,举例:定点减法。,设,x,3.0,,,y,3.1,,则浮点运算结果为,z,x-y,3.0-3.1,-0.1;,Qx,13,,,Qy,13,,,Qz,15,,则定点减法为:,x,24576,;,y,25395,;,temp,25395;,temp,x-temp,24576-25395,-819;,因为,QxQz,,故,z,(int)(-8192),-3276,。由于,z,的,Q,值为,15,,所以定点值,z,-3276,即为浮点值,z,-3276/32768-0.1,实验一CCS使用及DSP基本数学运算,void fixed_sub(int x,int y),long temp;,int z;,temp=y=Qz),z=temp(Qx-Qz);,else,z=temp (Qx+Qy-Qz);,实验一CCS使用及DSP基本数学运算,举例:定点乘法。,设,x = 18.4,,,y = 36.8,,则浮点运算值为,z =18.436.8 = 677.12;,根据上节,得,Qx = 10,,,Qy = 9,,,Qz = 5,,所以有:,x = 18841,;,y = 18841,;,temp = 18841L;,z = (18841L*18841)(10+9-5) = 354983281L14 = 21666;,因为,z,的定标值为,5,,故定点,z = 21666,即为浮点的,z = 21666/32 = 677.06,实验一CCS使用及DSP基本数学运算,void fixed_mul(int x,int y),long temp;,int z;,temp=(long)x;,z=(temp*y)(Qx+Qy-Qz);,fprintf(stdout,the result of fixed_sub was %i !n,z);,实验一CCS使用及DSP基本数学运算,3.,除法运算的,C,语言定点模拟,设浮点除法运算的表达式为:,float x,y,z;,z = x/y;,假设经过统计后被除数,x,的定标值为,Qx,,除数,y,的定标值为,Qy,,商,z,的定标值为,Qz,,则:,z = x/y,实验一CCS使用及DSP基本数学运算,定点表示的除法为:,int x,y,z;,long temp;,temp = (long)x;,z = (temp(Qz-Qx+Qy)/y;,实验一CCS使用及DSP基本数学运算,举例:定点除法。,设,x = 18.4,,,y = 36.8,,浮点运算值为,z = x/y = 18.4/36.8 = 0.5;,根据上节,得,Qx = 10,,,Qy = 9,,,Qz = 15,;所以有:,x = 18841, y = 18841;,temp = (long)18841;,z = (18841L(15-10+9)/18841 = 308690944L/18841 = 16384;,因为商,z,的定标值为,15,,所以定点,z = 16384,即为浮点,z = 16384/215= 0.5,实验一CCS使用及DSP基本数学运算,void fixed_div(int x,int y),long temp;,int z;,temp=(long)x;,z=(temp PRAM PAGE 0,.text PRAM PAGE 0,.vectors VECS PAGE 0,/.stack STACK PAGE 1,.trap SCRATCH PAGE 1,.const EXRAM PAGE 1,.data EXRAM PAGE 1,.bss EXRAM PAGE 1,.cio EXRAM PAGE 1,.switch EXRAM PAGE 1,实验一CCS使用及DSP基本数学运算,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!