DSP原理与应用-第9章CCS.ppt
《DSP原理与应用-第9章CCS.ppt》由会员分享,可在线阅读,更多相关《DSP原理与应用-第9章CCS.ppt(61页珍藏版)》请在三一办公上搜索。
1、第九章 DSP集成软件开发环境,第九章 DSP集成软件开发环境,9.1 CCS集成开发环境9.2 C语言程序基础9.3 混合语言编程9.4 芯片支持库(CSL),9.1 CCS集成开发环境,CCS(Code Composer Studio)是TI公司为DSP推出的集成软件开发环境(IDE),提供了配置、建立、调试、跟踪和分析的工具,包括了应用程序开发必需的所有功能,便于对实时信号处理程序的编制和测试,能够加速开发进程,提高工作效率。,CCS是DSP领域第一个完整的、开放型集成开发环境(IDE)直观、易用无需停止DSP运行即可观察DSP的信息具有实时分析功能开放的环境可加入第三方插件(Plug-
2、Ins),CCS调试界面,CCS调试界面,菜单条,标题区,编辑工具条,编译工具条,数据显示窗口,图形显示窗口,变量观察窗口,C源程序编辑窗口,反汇编调试窗口,编译运行结果显示窗口,调试工具条,工程管理窗口,信号分析图形化以自然的格式观察信号在变量有效时修改其值并观察它们的影响多种专用的画图工具时域频域图FFTEye diagramConstellation plotImage displays,可视化图形,CCS集成环境的组成,软件开发流程,CCS集成开发环境,提供一些类似VC的代码编辑功能语法高亮显示,自动缩近,文字查找等等原程序可以与反汇编同时显示,CCS项目管理,应用程序按项目来管理,按
3、层次以图形化的方式显示*.cmd 文件*.h 头文件*.lib 库文件*.c 源程序,CCS图形化设置,各种编译选项,如C编译器选项,连接器选项等通过图形化方式来设置,不需要手工添加选项,1、设置断点将光标放置在需要设置断点的程序行前,点击Debug Breakpoints,或点击工具栏按钮,即可完成一个断点的设置,点击工具栏按钮 可清除所有的断点。2、复位的3种方法(1)Reset DSP:点击Debug Reset CPU,初始化所有的寄存器内容并暂停运行中的程序。使用此命令后,要重新装载.out 文件后,再执行程序。(2)Restart:点击Debug Restart,将PC 值恢复到当
4、前载入程序的入口地址。(3)Go main:点击Debug Go main,将程序运行到主程序的入口处暂停。3、执行程序的4种方法(1)连续 执行:点击Debug Run,程序运行直到遇到断点为止。(2)暂停执行:点击Debug Halt,程序停止运行。(3)动画执行:点击Debug Animate,用户反复运行程序,直到遇到断点为止。(4)自由执行:点击Debug Run Free,禁止所有断点运行程序。,CCS 常用功能,CCS 常用功能,4、单步执行的4 种方法(1)单步进入:快捷键F8,Debug Step Into,当调试语句不是基本的汇编指令时,此操作进入语句内部(2)单步执行:点
5、击Debug Step Over,此命令将函数或子函数当作一条语句执行,不进入内部调试(3)单步跳出:点击Debug Step Out,此命令作用为从子程序中跳出(4)执行到光标处:快捷键Crtl+F10,Debug Run to Cursor,此命令作用为将程序运行到光标处5、查看内存与变量(1)查看变量:使用View Watch Window 命令(2)查看寄存器:使用View Registers CPU Registers 命令(3)查看内存:使用View Memory 命令,6、显示图形 Probe(探点)1)适合于算法的开发,功能验证 2)可以完成这样的功能从一个文件中读入数据到一个
6、DSP的缓冲区将一个DSP的缓冲区写到文件中 3)探点类似于断点,又不同于断点运行到Probe point,DSP会停顿下来完成一些动作后(读写文件),程序继续运行 4)文件输入输出的设置:FileFile I/O 5)Probe的设置:类似断点的设置(用工具条)示例0901,CCS 常用功能,CCS支持一维图形,二维图象(标准的数据格式),眼图等显示方式有放大、缩小等功能可以方便直观地判断算法执行的效果,CCS 常用功能,GELGeneral Extension Language一种类似C的解释型语言,可实现循环等程序结构提供基本的程序控制命令,类似以前emulator提供的命令,GEL_G
7、o(),GEL_Reset()等等可以制作菜单(可以加入到CCS主菜单),对话框,滑动条,CCS 常用功能,9.2 C语言程序基础,一个最小的C应用程序至少要包含如下几个文件:1.主程序文件program.c,这个文件必需包含一个main()函数作为C程序的入口点;2.链接器命令文件link.cmd,这个文件定义了DSP的存储空间以及代码段、数据段是如何分配到这些存储空间的;3.C运行库rts6700.lib,C运行库提供了标准C函数,以及C环境下的初始化函数c_int00()函数。库文件及其源代码位于CCS安装目录下的c6000cgtoolslib子目录下。4.中断向量表文件vectors.
8、asm,这个文件的代码作为中断服务表,必须由链接命令文件分配到0地址,或由ISTP指向的地址。DSP复位后,首先从0地址开始运行,然后跳转到rts6700.lib库内C运行环境的入口点_c_int00,完成初始化操作,再调用main()函数,执行用户的程序。,CCS 常用文件,CMD文件,CMD文件由3部分组成:输入输出定义:*.obj文件:链接器要链接的目标文件*.lib文件:链接器要链接的库文件*.map文件:链接器生成的交叉索引文件*.out文件:链接器生成的可执行代码链接器选项MEMORY命令:描述系统实际的硬件资源SECTIONS命令:描述“段”如何定位,MEMORY命令描述目标系统
9、的存储空间,MEMORY PMEM:o=00000000h,l=00010000hBMEM:o=00010000h,l=00030000h,MEMORY 命令,names,origins,Lengths,MEMORY 存储器空间名:o=十六进制存储器起始地址,l=十六进制存储器长度,SECTIONS命令描述“段”如何定位,SECTIONS.text PMEM.csldata PMEM.stack PMEM.far PMEM.switch BMEM.tables BMEM.data BMEM.bss BMEM.sysmem BMEM.cinit PMEM.const BMEM.cio BMEM,
10、SECTIONS段名 存储器空间名,-o sample.out/定义输出文件名-m sample.map/定义存储器空间分配文件名-stack 100/定义堆栈大小-l rts6700.lib/引用库文件MEMORYPMEM:o=00000000hl=00010000hBMEM:o=00010000hl=00030000hSECTIONS.text PMEM.csldata PMEM.stack PMEM.far PMEM.switch BMEM.tables BMEM.data BMEM.bss BMEM.sysmem BMEM.cinit PMEM.const BMEM.cio BMEM,
11、CMD 文件示例,CMD 文件常用段名含义,SECTION“段”,Section“段”概念:一块连续的储存空间,用于存放代码块或数据块在编程时,“段”没有绝对定位,每个“段”都认为是从0地址开始的一块连续的储存空间,所以软件开发人员只需要将不同代码块和数据块放到不同的“段”中,而无需关心这些“段”究竟定位于系统何处优点:便于程序的模块化编程;便于工程化管理:可将软件开发人员和硬件开发人员基本上分离开重定位:由于所有的“段”都是从0地址开始,所以程序编译完成后无法直接运行的,要让程序正确运行,必须对“段”进行重新定位,这个工作由链接器完成cmd文件:MEMORY命令描述系统硬件资源,SECTIO
12、NS命令描述软件人员程序中用到的“段”如何定位到恰当的硬件资源上,SECTION 伪指令,5个SECTION伪指令.bsssymbol,size in word.text.data.sect“section name”symbol.usect“section name”,size in word其中symbol相当于变量名,size in word保留的存储单元长度(以字为单位)初始化段和未初始化段.bss和.usect为未初始化段,用于为变量、堆栈等保留一块存储空间.text、.data和.sect为初始化段,用于存放代码块或有初值的数据块系统定义的段和用户定义的段.text、.data和.
13、bss为系统已定义好的段名用户根据需要用.sect和.usect伪指令来定义段名,创建相应的“段”汇编程序中,程序员用“段”伪指令来组织程序的代码和数据,汇编器对“段”的处理,汇编器第一次遇到新“段”时,将该“段”的段程序计数器(SPC)置为0,并将随后的程序代码或数据顺序编译进该“段”中汇编器遇到同名“段”时,将它们合并,然后将随后的程序代码或数据顺序编译进该“段”中当汇编器遇到.text、.data和.sect伪指令时,汇编器停止将随后的程序代码或数据顺序编译进当前“段”中,而是顺序编译进遇到的“段”中当汇编器遇到.bss和.usect伪指令时,汇编器并不结束当前“段”,而只是简单地暂时脱
14、离当前“段”,随后的程序代码或数据仍将顺序编译进当前“段”中。.bss和.usect伪指令,可以出现在.text、.data或.sect“段”中的任何位置,它们不会影响这些“段”的内容,链接器对“段”的处理,链接器对“段”的处理有2个方面:将输入“段”组合产生输出“段”将多个.obj文件中的同名“段”合并一个输出“段”也可将不同名的“段”合并产生一个输出“段”将输出“段”定位到实际的存储空间中MEMORY命令:用于扫描系统实际的硬件资源SECTIONS命令:用于描述程序中定义了哪些“段”,这些“段”是否需要合并?如何合并?合并产生的输出“段”定位到实际硬件资源的何处?链接器通过*.cmd文件来
15、获得上述这些信息链接器还将检查各输出“段”是否重叠、是否超界,避免了人工检查边界带来的隐患,C运行环境,存储模型:C程序的代码和数据如何定位系统定义.cinit存放C程序中的变量初值和常量.const存放C程序中的字符常量、浮点常量和用const声明的常量.switch存放C程序中switch语句的跳针表.text存放C程序的代码.bss为C程序中的全局和静态变量保留存储空间.far为C程序中用far声明的全局和静态变量保留空间.stack为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果.sysmem用于C程序中malloc、calloc和reall
16、oc函数动态分配存储空间用户定义#pragma CODE_SECTION(symbol,section name)#pragma DATA_SECTION(symbol,section name),C运行环境,寄存器使用规则C编译器如何使用DSP的寄存器函数进入和返回前,寄存器的保护函数调用规则函数间的参数传递通过寄存器和系统堆栈进行调用函数与被调用函数必须对各自的寄存器进行保护从被调用函数返回前,被调用函数必须归还所有已占用的堆栈空间C和ASM混合编程C和ASM混合编程时,必须遵循寄存器使用规则和函数调用规则被C调用的ASM函数,其函数名前应加“_”中断服务程序ASM编写的中断服务程序必须对
17、所有用到寄存器进行保护,以免破坏C运行环境C编写的中断服务程序应用interrupt关键字声明,C运行环境,系统初始化在运行C程序前,必须建立C运行环境,此任务由C引导程序_c_int00完成_c_int00包含在库函数中,build时自动将其链接进可执行程序中,程序的入口地址必须设为_c_int00起始地址_c_int00的源程序存放在由rts.src分离出来的boot.asm中,用户可根据需要修改设置堆栈指针初试化全局变量:将.cinit”段“中数据拷贝到.bss”段“中调用C程序的主函数main(),软件编译流程,目标文件地址是浮动的,能被重定位链接器用.cmd文件对链接目标,进行重定位
18、列出目标文件、库文件和链接器选项用MEMORY命令描述目标系统存储空间配置用SECTIONS命令描述“段”如何定位Hex转换程序也使用cmd文件,配置转换选项,中断向量表,.ref _timer0_isr.ref _exint4_isr.ref _exint6_isr.ref _c_int00.global RESET_RST.sect vectors“RESET_RST:mvkl.S2 _c_int00,B0 mvkh.S2 _c_int00,B0 B.S2 B0 NOP 5NMI_RST:NOP 8RESV1:NOP 8RESV2:NOP 8INT4:b _exint4_isr NOP 7
19、,INT5:NOP 8 INT6:b _exint6_isrNOP 7INT7:NOP 8INT8:NOP 8INT9:NOP 8INT10:NOP 8INT11:NOP 8INT12:NOP 8INT13:NOP 8INT14:b _timer0_isrNOP 7INT15:NOP 8,C 语言语法接近自然语言,其可读性强、便于理解,在编制、修改、实现算法方面比用汇编语言开发容易。汇编语言掌控系统硬件的能力强于C 语言,设计出来的程序更加贴近硬件特性,能将硬件效能发挥到极致。因此,一般情况下用C 语言设计应用程序的总体框架、解决人机接口和对速度效率要求不太高的复杂算法,用汇编语言设计强调速度
20、的算法。,9.3 混合语言编程,C语言和汇编语言的混合编程有三种形式:1.在编写C语言代码中插入汇编语句,只需在汇编语句两边加上双引号和括号,在括号前面加上标识asm,如:asm(“NOP 5”);2.在编写C代码的过程中调用直接映射为内联的C6000指令的特殊函数,内联函数用前下划线表示,使用时同调用C语言的库函数一样调用它,如:m=_int_abs(n);3.用汇编代码编写独立的函数,在C代码中直接调用,混合编程的方法,1.采用C语言和汇编语言混合编程时,定义了一套严格的寄存器规则,调用函数保护了寄存器A0A9和B0B9,但当使用到寄存器A10A15或B10B15的时候,则必须自行对它们进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 应用 CCS
链接地址:https://www.31ppt.com/p-5428127.html