还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
很棒的运用具体讲义CCS很棒的CCS运用具体讲义DSP试验试验二TI DSP集成开发环境CCS的运用昆明理工高校信息工程与自动化学院电工电子教学试验中心主讲杨秋萍讲师CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采纳Windows的简介CCS是一种针对CCS有两种工作模式
1、软件仿真器模式可以脱离
2、硬件在线编程模式本次试验主要采纳软件仿真器模式系统配置采纳标准配置文件进行系统配置的步骤步骤1启动DSP芯片的开发与设计,是目前运用最为广泛的TMS320可以实时运行在CCS配置程序DSP的集成开发环境,在DSP芯片,在PC机上模拟DSP芯片上,与硬件开发板相结合在双击桌面上的Setup CCS19DSP开发软Windows操作系统DSP的指令集和弹出对话风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地便利了件之
一一、CCS系列下,采纳图形接口界面,供应环境配置、源文件编辑、程序调试、跟踪和分析等工具工作机制,主要用于前期算法实现和调试
7.为文件I/O添加探针测试点利用探针来从计算机中的文件读取数据,对于算法开发来说是很有用的针的用途将主机文件中的数据如利用Matlab产生传输到目标冲区中,供相应算法运用将计算输出从目标板的缓冲区中取出并存放到主机的文件中,以便分析用来利用数据更新某窗口,如图形显示窗口本部分利用探针将主机文件数据传送到目标板作为测试数据,25Watch datalO探DSP板的缓当到达另外,探针位置时,利用断点来更新全部打开的窗口1File Load Program,选择volumel.out,并单击Open2双击工程视图文件volume,c3将光标置于main函数中的语句处datalO;此处datalO函数作为一个占位符无任何功能的函数现在该函数是一个便利的位置来设置探针,以便从主机传入数据4)单击工具按钮Toggle Probe Point,选择边区标出一个菱形小蓝点,标示探针已经设置若选择边区Option CustomizeEditor Properties来设置,在该行用蓝色高亮来显示,用Option CustomizeColor来变更颜色5)从File菜单选择File I/OFile I/O对话框出现以便选择输入、6)在File Input标签下,单击Add Fileo7)阅读到建立的volume1工程文件夹并选择sine.dat件类型项目下选择数据文件格式sine,dat文件包含了一个正弦波形的16进制数值)接着出现了sine,dat的限制窗口当执行程序时,可利用该限制窗口来在数据文件中作起先、停止、回卷、快进操作8)在File/IO对话框中,变更Address为inp buffer,修改并选中Wrap Around框Address域定义了来自文件的数据应放到哪里volume,c中声明的大小为BUFSIZE的一个整型数组(定义于volume,h的一个常量)Length域定义了每次探针点能从数据文件中读取多少样本由于在volume.h中定义了常量BUFSIZE为(0x64),所以这里设置域为100oWrap Around选项使得当CCS读取数据到文件末尾时能够再次从文件头起先读取这就允许数据文件可以被视为一个连续数据流,尽管该文件中只包含1000各数据,而探针每次读取9)单击Add ProbePoint,使得Break/Probe Points对话框中的26效,可以运用输出文件Open(可在文Length为100,inp_buffer是在BUFSIZE是LengthlOO个数据值Probe Points无单击标签出现10)在Probe Point列表中,单击VOLUME.C line61No Connection行使之高亮11)在Connect To域,单击下拉箭头并从列表中文件选择sine,dat12)单击Replace,这样Probe Point列表将显示为探针与文件sine,dat已经连接单击0K,那么现在File I/O对话框就将显示文件与探针相连单击0K关闭File I/O对话框
8.显示图形假如现在运行程序,那么程序的运行结果将无法显示出来通过设置视察变量来视察与inp_buffer和out_buffer数组相关联的地址中的数据但是须要视察很多数据,并且显示的只是数据,而不是数据相应的曲线图波形图CCS供应了多种方式来将程序处理的数据可视化1选菜单View GraphTime/Frequencyo2在Graph Property对话框中,修改Graph Title为Input,Start Address为inp_buffer,Acquisition BufferSize为100,DisplayData Size为100,DSP DataType为16-bit signedinteger,Autoscale为Off,Maximum Y-value为1000o3单击OK,显示Input Buffer的一个Input图形窗口就出现了4在Input graph窗口单击鼠标右键并在弹出菜单中选择Clear Display5再次选菜单View GraphTime/Frequencyo将Graph Title修改为Output,并将Start Address修改为out_buffer,其余值默认6单击0K,显示Output图形窗口在该窗口中单击鼠标右键,从弹出菜单中选择Clear Displayo
五、试验操作同学按上述讲解步骤完成试验的操作并熟识CCS的运用27sYjPbH3yqWiN9Flx%oUgM8D+v!nSeK6C-tZlRdI4A sXjPbH3yq%pVhN8E0w$oTfL7D-u#mSdJ5B tYkQcI3z*rXi0aG2x%pVhN8E0w$nT sYjPbH3y qWiO9Flx%oUgM8D+v!nSeK6C-tZ!RdI4A sXjPbH3y q%pVhN8E0w$oTfL7D-u#mSdJ5B tYkQcI3z*rXiOaG2x%pVh N8E0w+v!nTeK6C-tZlRdI4A sXjPbH3yqWiN9Flx$oUgM8D+v!nSeK6C tG2y%pVhN8E0w$oTfL7D-u#mSd J5B tYkQcI3z*rXiOaG2y%p VhN8E0w$nTfL7C-u#mSdJ5B sYkQcH3z*rXi0aG2x%pVhM8E0w$nTf L7C-u#mRdJ5BsA4IcRlZt C6KeSm!v+D7Mg Uo$xlF9NhWqy2HbPjXs A4IcRlZtC A4JdR1ZU-C6K fTn!vOE8MgUp%xlFaOiWq*z3HbPkY sA5JdR l#u-C6KfTn!v0E8MgVp%xlG aOiWq*z3HbQk YsB5JdRl#u-C6LfTn!wOE8M9NhVq y2GbPj Xr^A4IcQlZt B6KeSm!v+D7L gUo$wlF9NhWqy2GbPjXrA4IcRlZt B6KeS m!v+D7MgUo$x1F9NhWqy2HbPjXs A4IcRlZ t C6KeSn!v+D7MgUo$xlF9NiWqy3HbPjXkY sB5Jd Rm#u-C7LfTn$wOE8NhVp%x2GaOiXr*z3IcQk YsB5JdSm#u-D7LfTn$wOE8NhVp%y2GaOjXr*z3IcQ kYtB5JeSm#u-D7LfTo$wOE9NhVp%y2GaOjX r*z4IcQkZt B5JeSm#NiWqy3HbPjY sA4Id RlZt-C6KeTn!v+E8MgUo%xlF90iWqz3HbPjYs A4JdRlZu-C6KeTn!v+E8M Up%xlFaOiWqgz3HbPkYsA5JdRlZu-C6KfT n!vOE8MgUp%x!FaOiWq*z3H4IcQkZtB5KeS m#v+D7LfUo$wOF9NhVqy2G aPjXr*A4IcQl Zt B5KeSm#v+D7LgUo$wlF9N hVqy2GbPjXr A4IcQlZ tB6KeSm!v+D7LgU o$wlF9NhWqy2HbPjXrA4Ic RlZMgVp%xlGa OiWq*z3HbQkY sB5JdRl#u-C6LfTn!wOE8Mh Vp%xlGaOiWr*z3HcQkY sB5J dRm#u-C7LfTn!w0E8MhVp%x2GaOiXr*z3HcQkYs B5JdSm#u-C7LfTn$wOE8NhVp%q y2HbP jXsA4IcRlZt C6KeSn!v+D8MgUo$xlF9NiW qy3HbPjXsA4IdRlZt-C6Ke Sn!v+D8MgUo%xlF90iWqy3HbPjYsA4JdRl Zt-C6KeT n!v+E8MgUo%xlF90B5JdSm#u-D7L fTo$wOE8NhVp%2GaOjXr*z3IcQkYt B5JeS m#u-D7L0E8Nh Vp%x2GaOiXKeySm!v+D7MgUo$wlF9NhW qy2H bPjXsA4IcRl ZtC6K eSn!v+D7MgUo$xlF9NiWqylRdI4A sXjPb0aG2y%pVhN8E0w$nTf L7C-u#mSdJ5BsYkQcH3z*rXi0aG2x%p VhM8E0w$nTfL7C-u OaG2Flx%pUgM8E+v!nTeK6C-uZIRdJ4A sYjPbH3yqWiO9F lx%oUgM8D+v!nTeK6C-tZlRdI4AUg M8E0v!nTfK6jPbG2yqVhN9F0w$oUgL7D+v#mSeK5B tZlQcI4A*rXjPaG2yqVhN9F0w$cI4ArXjP bH2yqWhN9Flw$w$nTfL7C-u#mRdJ5BsYkQcH3z*rWi0aGlx%VhM8E0w!n YsB5JdRl#u-C6LfTn!w0E8MhVp%xlGa0iWjPXr*A4IcQIZt B6KeSm!v+D7LgUo$wlFkZt B5KeSm#u+D7LfUo$wOF9NhVpy2GaPjXr*A4I cQIZt B5KeSm#v+D7LgUo$wOQkYt B5JeSm#u+D7L fTo$wOE9NhVpy2Ga0jXr*z4IcQkZt B5KeSm#u+D7L fUo3IcQkYtB5JdSm#u-D7Lf To$wOE8NhVp%2GaOjXr*z3IcQkYt B5JeSm#u+D+D8MgUo%yxlF90iWqy3H bPC7LfTn$wOE8NhVp%x2GaOi Xr*z3IcQkYt B5J6KeSn!v+D7MgUo$xlF9Ni Wqy3H bPjXsA4IdRlZt-C6Kx2Ga0iWr*z3HcIcRIZt B6KeSm!v+D7MgUo$xlF9Nh Wqy2HbPjXsA4IcR IZtC6KeSn!$oUgM8D+v!nSeK6C tZlRdI4A sXjPbH2yqW hN9Flx$oUgM7D+v-u#3yqWi09Flx%oUgM8D+v!nTeK6C-tZ!RdI4AsYjPb H3yqWiN9Flx RdJ4AsYkPbH3zqWiO9Flx%pUgM8E+v!nTe K6C-uZ lRdJ4A sYjPqWi0aFlx%pUgM8E0v!n TfK6C-uZlRdJ5AsYkPbH3zqWiO9Flx%dJ5BsYkQ bH3z*q Wi OaG1x%pVgM8E0v!nTfL6C-u#lG2x%pVhM8E0w$nTfL7C-u#mRdJ5BsYkQ cH3z*rW iOaGlx%pVhM8E0w!nT fL6C-u#mRdJ5BsYk QbH3z*qWi0aGlx%pVgM8E0v!nTfL6C-uftlRdJ5AsYkQbH3z*qWiOa F lx%pUgM8E0v!nTfK6C-uG2yqVhN9Flw$o UgL7D+v#mSeK6J5BsY kQbH3z*rWiOaGlx%p VoUgM7D+v!mS eK6B tZ1Q I4ArXjPbG2yqCV hN9Flw$oUgL7D+v#mSeK6B tZlQcI4A*rXj PaG2yqVhN9F0w$oUfL7D+v#mSeK5B tZkQcI47MgUo$xlF9NiWqy3HbPjX sA4IdRlZt-C6KeSn!v+D8MrA4IcRlZt B6KeSm!v+D7MgU o$wlF9NhWqy2HbPJXsfTn!w0E8MgVp%xy2GbPjXr*A4IcQ IZtB6KeSm#v+D7E8MgVp%xl FaOiWq*z3HbQ kYsA5J dRl#u-C6LfTn!wOPj YsA4JdRlZu-C6KfTn!v+E8M gUp%xlFaOiWq z3Hn!v+D8MgUo%xlF9NiWq y3HbPjYs A4J dRlZt-C6Key2HbPjXs A4Ic RIZtC6KeSn!v+D7MgUo$xlF9NiVhM8E Ow!n TfL6C-u#mRdJ5B sYlx$oUgM7D+v!mSeSdJ5B sYkQcH3z*rXi0aG2x%pVh M8E0w$nTf L7C-jOaG2y%pVhN9E0w$oTfL7D-u#mSdJ5B tYkQcI$o UfL7D+u#mSeK5B tZkQcI4z*rXjPav!mSeK6B tZlQcI4ArXjPbG2yqVhN9Flw$oUgL7D+v#mSeK5BtZlQcI4A*rXjPaG2yqV hN9F0w$oUfL7D+v#mSeK5B tZkQcI4z*rXjP aG2ypVhN9E0w$oUfL7D+u#mG2yqVh N9Flw$oUgL7D+v#mSeK6B tZlQcI4A*rXjPa G2yq VhN9F0w$v!nTfL6C-u#lRdJ5AsYkQb H3z*qW iOaFlx%pVgM8E0v!nArXJPbG2y2x%pVhM8E Ow!nTf L6C-u#mRdJ5Xs A4IcRlZt C6KeSn!v+D7MgUo$xlF9NiWq6KeSm#v+D7LgU o$wlF9NhWqy2GbPjXr A4Io$wOF9NhVpy2GaPjXr*A4IcQ kZtB5KeSm2GaOjXr*z3IcQk YtB5J eSm#u+D7LfTo$w0xlF90iWqy3HbPj YsA4JdRlZt-C6Kx2G aObPjXsA4IcRlZtC6KeSn!v+D7M gUo$xlF9ZtB6KeSm#v+D7Lg Uo$wlF9NhWqy2GbPj+D7LfUo$wOF9NhVpy2GaPjX r*A41c QkZtJ5B tYkQcI4z*rXj0aG2y%6C-u ZlRdJ4AAM8E0w!nTfL6C-u#lRdJ5B sYkQbH3z*y qWhu#mSdJ5BsYkQcH3z*rXi0iN9Flx$oUgM8D+v!nSeK6C tZtYkQcI3z*r Xi0aG2y%pVhN8E0w$nTfL7C-u#mSdJ5B sYkQcH3z*rXiOaG2x%pVhM8E0w$nTfL7C-u#mRdJ5BsY kQ0w$o TfL7D-u#mSdJ5B tYkQcI3z*rXiO!u#mSeK5BtZkQcI4z*rXjPaG2y VhN#lRdJ5A sYkPbH3z*qWiOaF1x%pUgM8NhVp%Py2GaOiXr*z3I cQkYtB5JdSm#uaOiWr*z3Hc QkYsB5JdRm#u-C7LfTn$PjXrA4IcQlZl#u-C6LfTn!vOE8MgVpcQkZt B5K eSm#u+D7LfUo$wOF9N hVqJXr*z4IcQkYtB5JeSm#u+D7LfTo$wcQ kYsB5JdSm#u-C7Lf Tn$wOE8NhB5JdRm#u-C6Lf Tn!wOE8MhVp%QIZtB5KeSm#v+D7LgUo$i09Flx%oUgM8E+v!n TeK6C-tZlR dJ4AsY jPbH3yqWiN9Flx%o UgM8D+v!nSeK60aG2y pVhN9E0w$oTfL7D-u#mSeJ5B tYkQkPbH3zqWiO9Flx%oB tZkQcI4A*r*qWi0aFlx%pVgM8E0v!nTfK6C-u#lG2x%pVhM8E0w!nTfL7C-u#mRd J5B hN8E0w$oT fL7D-u#mSdJ5B sYkQcIbH3yqWiN9Flx%o UgM8D+v!4z*r XqWiOaFlx%pUgM8E+v!nTfK6C-uZl#u-D7Lf Tn$wOE8NhVp%2GaOjXr*LfT n!wOE8MhVp%xy2GaOiWr*z3Hc QcRIZtB6KeS m!v+D7MgUo$wlF9Nh B5KeS m#v+D7LfUo$wOF9NhVqy2Sm#u-D7LfTo$wO E9NhVpy2GaO jPjYsA4JdRl ZthVp%x2G aOiXr*zA4IcRlZ tC6KeSn!v+D7MgUo$xcQ IZtB6KeSm#v+D7LgUo$wlF9N6C-uZlRdJ4AsYjPbH3y qWi09F9E0w$oTfL7D+u#mSe J5B tYkQ%p$oUgL7D+v#mSeK5B tZlQcI4A*gM7D+v!mSeK6C tZlRcI4A rX8D+v!nTeK6C-tZIRd I4I4z*rXj0aG2y%pVhN9E0w$oTfL7D-u#mSdJWiO9Flx%pUgM8E+v!nTeK6C-uZlRd J线编程和调试应用程序
二、CCS快捷图标,框可供使用的配置步骤2清除以前定义的配置步骤3选择与目标系统相匹配的配置文件步骤4将所选中的配置文件加入到系统配置中步骤5安装驱动程序点击序对话框步骤6保存系统配置打开置保存在系统寄存器中,完成
三、CCS中常用文件名和应用界面
1、常用文件名*.cmd链接吩咐文件;*.obj由源文件编译或汇编后所生成的目标文件;*.out完成编译、汇编、链接后所形成的可执行文件,可在试和执行钮钮Intall aDevice Driver,弹出选择器件驱动程系统配置窗口序File菜单,单击Save按钮,将系统配CCS的系统配置CCS监控下调
202、应用界面
四、试验举例
1.创建新工程利用CCS创建一个新工程,然后向该工程中添加源代码文件和库文件1CCS的安装书目为c:\ti,首先在文件夹c:\ti\myprojects\下建立一个新的文件夹,命名为volume102将c:\ti\tutorial\targetsim54xx或dsk5402等\volumel文件夹中的内容拷贝到该新建的文件夹中3启动CCSo假如须要的话,对CCS进行配置,使其工作在C54x simulator模式下4从CCS的Project菜单下选择子菜单New将出现Project Creation对话框在对话框中Project Name处输入volumel,Location处用阅读方式选入在第一步中所建立的文件夹volumel的位置,在Project Type处选择Executable.out类型,在Target中选择CCS所配置的目标DSP类型最终单击Finish完成5通过上述步骤Code ComposerStudio就建立了一个工程文件,名为volumel.pjt,该工程文件用于存储工程配置以及在工程中所用到的若干文件可在工程项目视察窗口Project view处看到
2.向工程中添加文件21一个工程项目包括源程序、库文件、链接吩咐文件和头文件等1在CCS中选择菜单Project ddFiles toProject,然后选文件volume,c,并单击Open(也可在工程图标处单击鼠标右键在快捷菜单中选Add Files toProject,或将文件拖入工程视图窗口的文件夹中)2)在CCS中选择菜单Project ddFiles toProject,并在文件类型选框中选汇编源文件(*.a*,*.s*),然后选vectors,asm和load.asm这两个文件并单击Open这些文件中包含了设置复位RESET中断到程序的C入口c_int00的一些汇编指令(对于更加困难的程序,可在vectors,asm文件中定义更多的中断向量也可利用DSP/BIOS来自动定义全部的中断向量)3)在CCS中选择菜单Project ddFiles toProject,并在文件类型选框中选择链接吩咐文件(*.cmd),然后选volume,cmd并单击Open,该吩咐文件将汇编程序的段映射到DSP的存储空间中4)在CCS中选择菜单Project ddFilestoProject,进入编译库文件夹(c:\ti\c5400\cgtools\lib),在文件类型选框中选择目标文件类型和库文件类型(*.*,*.lib),为所配置的目标DSP选rts.lib文件并单击Open该库文件为目标DSP供应了运行时间(runtime)支持(对于一些目标DSP,运行时间库可以是一个更特别的文件名,如rts ext.lib5在工程视图窗口,用鼠标右键单击工程文件volume,pjt并在快捷菜单中选择Scan AllDependencieso这时volume,h应出现于工程视图窗口中的库Libraries文件夹中6单击Project左边的小加号+,将绽开工程列表volumel.pjt,Libraries,以及Source该列表即为工程视图o无需手工向工程中加入include文件,因为CCS将会在编译过程中自动找到这些文件编译之后在工程视图中将出现这些include文件.假如要从工程中移出一个文件,只要在相应文件处单击鼠标右键在弹出的快捷菜单中选Remove fromproject即可编译时CCS在以下路径依次查找工程文件包含有源文件的文件夹;在compiler或assembler选项中从左到右依次列出的文件夹
223.察看源代码在工程视图中volume,c上双击,就可在CCS右边窗口中察看源代码请留意该程序中的以下部分在进入main函数后打印出一条消息,并进入死循环循环体中程序调用了datalO以及其他一些过程函数在过程函数中,将输入缓冲区input buffer中的每一个数值乘以增益gain,并将结果放入输出缓冲区用汇编载入例程,该例程依据传递给它的指令周期本例中datalO函数除了返回之外不做其他任何动作我们在这里不运用C代码来完成I/O,而是利用从主机的文件中读入数据并放入
4.编译并运行程序编译并运行程序的步骤1)选Project Rebuild All或单击工具按钮新编译,并链接工程中的全部文件编译过程信息显示在口中2)在默认状况下,将当前工程书目下的CCS工具条可变更生成文件的存放位置3)选File LoadProgram,并在对volumel.out,单击Open打开(默认在书目文件夹下)这样CCS就将程序载入目标显示出相应的反汇编指令CCS也将在窗口底部自动打开一个标签区域来显示程序送往stdout的输出4)选View Mixed Source/ASM,将同时看到5)在混合模式窗口中单击一条汇编伪指令本身,条指令的帮助6)选Debug GoMain起先从main函数处执行程序23output buffer)程序也将调processingLoad取值来消耗CCS中的一个探针ProbePoint来inp_buffer区域Rebuild AllCCS重CCS下部的窗debug子书目中生成.out文件通过框中选刚刚编译生成的文件c:\ti\myprojects\volumel\Debug\DSP,并打开一个反汇编窗口,c源代码和汇编结果代码并按F1键,CCS将搜寻该程序暂停在main处,话并用黄色的箭头标识7选Debug Run或单击工具按钮Run来运行程序8选Debug Halt来暂停程序执行9从菜单View中选MixedSource/ASMo将看到不带相应汇编的c代码从而可以便利地进行下一个任务修改程序选项,修正语法错误
5.修改并运行程序在前面的介绍中,预处理吩咐井ifdef and#endif包围的程序部分不会被执行,因为没有定义FILEIOo在这一部分将在CCS中设置一个预处理选项1选Project Build0ptionso2在Build Options窗口的Compiler标签下,从列表栏选择Processor,在Define Symbols域键入FILEI0,然后按Tab键(注窗口上部的编译吩咐中含有了选项-d再次编译时程序中的#ifdef FILEIO之后的语句将被包含依据所运用的DSP板的不同其他选项也将发生变更)3)单击0K保存新的选项设置4)选Project RebuildAll或单击工具按钮(RebuildAll)o只要变更了工程选项,就必需重新编译全部的文件5)选File LoadProgram并选择文件volumel.out0(也可以在编译之后自动装入,选择Option Customize,并单击Program LoadOptions标签,然后选中LoadProgramAfter BuildOption)6)选Debug GoMain起先从main函数处执行程序程序暂停在main处,并用黄色的箭头标识7)选Debug Run或单击工具按钮(Run)来运行程序8)选Debug Halt来暂停程序执行
6.运用断点以及变量视察窗口在开发测试程序的过程中,常常须要在程序执行中察看变量的取值,将利用断点以及变量视察窗口来达到此目的在达到断点后,运用单步执行吩咐241)选File ReloadProgramo2)在工程视图中双击文件volume,c,打开代码窗口将光标置于下面的语句行datalO;3)单击工具按钮(Toggle Breakpoint)或按F9O选择边区(编辑区左边的灰色竖条部分)标示出断点已经设置(红色点图标)假如选择边区无效(用Option CostomizeEditor Properties来设置),择行显示用粉红色高亮显示(用Option CostomizeColor可变更颜色)4)选View WatchWindow,在CCS的右下角将出现一个分别区域,程序运行时该区域显示视察变量的取值默认时选中局部视察标签Locals,显示当前执行的函数中的局部变量5)假如程序没有停留在main处,选Debug GoMain6)选DebugRun,或按F5,或图标7)选Watchl标签在Name栏单击并键入datalO,即键入要视察的变量名称8)单击watch window的白色区域来保存这时变量取值将马上显示出来9)单击工具按钮(Step Over)或按F10数次,将跳到调用处10单击Remove AllBreakpoints。
个人认证
优秀文档
获得点赞 0