程序编写和调试环境简介

上传人:宝路 文档编号:48365076 上传时间:2018-07-14 格式:PPT 页数:36 大小:1.67MB
返回 下载 相关 举报
程序编写和调试环境简介_第1页
第1页 / 共36页
程序编写和调试环境简介_第2页
第2页 / 共36页
程序编写和调试环境简介_第3页
第3页 / 共36页
程序编写和调试环境简介_第4页
第4页 / 共36页
程序编写和调试环境简介_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《程序编写和调试环境简介》由会员分享,可在线阅读,更多相关《程序编写和调试环境简介(36页珍藏版)》请在金锄头文库上搜索。

1、第4章: 程序编写和调试环境简介4.1 调试环境代码编译器CCS简介(教材P103) 4.2 程序的编写(教材P108) 4.3 CCS工程组成(教材P111-P126) 4.4 调试一个程序的简单步骤(教材P126) 4.5 C程序和汇编程序混合编程(教材P131)4.1 调试环境代码编译器CCS简介 本节要求:本节要求: 了解CCS开发环境具有的功能,能够操作CCS的 窗口、菜单和工具条。掌握CCS工程管理的概念 ,能够完成简单程序的编辑、汇编、连接和调试 。CCS是TI公司DSP软件的集成开发环境(IDE),本节以CCS2000为参照讲述。CCS集成开发环境简介Windows下工作,类似

2、于VC+的集成开发环境集成开发环境;采用图形接口界面,有编辑工具编辑工具和工程管理工具工程管理工具; 它将汇编器、链接器、C/C+编译器、建库工具等集成在一个统一的开发平台统一的开发平台中; CCS所集成的代码调试工具具有各种调试功能调试功能,能对TMS320系列DSP进行指令级的仿真指令级的仿真和可视化的实时数据可视化的实时数据分析分析。 丰富的输入/出库函数和信号处理库函数库函数。 CCS 2000系统的安装 用来对该编译器的运行环境进行配置。 程序调试仿真环境。系统配置uu原因原因:为使CCS IDE能工作在不同的硬件或仿真目标上。uu步骤步骤: 双击桌面上的Setup Setup CC

3、S 2(C 2000)图标,启动CCS设置。 在弹出对话框中单击“ClearClear”按钮,清除以前定义的配置 。 从列出的可供选择的配置文件配置文件中,选择能与使用的目标 系统相匹配的配置文件。 单击加入系统加入系统配置按钮,将所选中的配置文件输入到CCS 设置窗口当前正在创建的系统配置中。 单击“FileSaveFileSave(保存)”按钮,将配置保存在系统寄存器中。 当完成CCS配置后,单击“FileExitFileExit”按钮,退出CCS Setup。1.CCS的窗口双击桌面上CCS 2(C 2000)图标,启动CCS IDE显示CCS主界面。用来组织用户的若干程序并由此构成一个

4、项目,用户可以从工程列表中选中需要编辑和调试的特定程序。帮助用户查看机器指令,查找错误用户既可以编辑程序,又可以设置断点和探针,并调试程序。可以根据用户需要显示数据。查看、编辑内存和寄存器。查看、编辑内存和寄存器。显示对工程进行编译,汇编和连接时的一些状态信息,如果在编译、汇编和连接过程中发现错误,则该窗口显示出错误类型和错误位置。主菜单主菜单:用户可以通过条目来管理各窗口。2、CCS的菜单File(文件):文件管理,载入执行程序、符号及数据,文件输入输出等 Edit(编辑):文件及变量编辑,如剪贴、撤消、字符串查找等 View(查看):工具条显示设置,内存、寄存器和图形显示等 Project

5、(工程):工程管理(新建、打开、关闭及添加文件等)、编译、构建工程等 Debug(调试):断点、探针设置,单步执行、复位等Profiler(性能):性能菜单,包括时钟和性能断点设置等GEL(扩展功能):利用通用扩展语言设置扩展功能 Option(选项):选项设置,设置字体、颜色、键盘属性、动画速度、内存映射等 Tools(工具):包括引脚连接、端口连接、命令窗口、连接设置等 DSP/BIOS(实时分析工具):用来辅助CCS环境实现程序实时调试 Windows(窗口):窗口管理,包括窗口排列、窗口列表等 Help(帮助):CCS在线帮助菜单,包括用户手册、入门指南等Project菜单(工程文件被

6、存盘为*.pjt文件 )New 新建一个工程,将该工程保存至新建工程的文件夹里 。Add Files to Project 工程中支持C源文件(*.C)、汇编源文件 (*.ASM)、库文件(*.OBJ、*.LIB)和链接命令文件(*.CMD) 。工程管理会自动加入头文件和include引用的文件,不允 许添入其他类型的文件。Compile File 对C或汇编源文件进行编译。Biuld 对工程进行编译、汇编和连接,生成可执行文件 .OUT。 Rebuiled All 对工程中所有文件重新编译并链接生成输出文 件。Stop Build 停止对工程的编译、汇编和连接。Biuld Options 用

7、来设定编译器、汇编器和链接器的参数, 通常采用默认设置。Recent Project Files 显示最近打开过的工程。View菜单Dis-Assembly 观察汇编程序窗口;可在此窗口中对汇编程序进行修改。Memory 观察存储窗口;可选择观察的存储器类型和存储器的起始地址。CPU Registers 考察调试过程中CPU寄存器的和各个状态位的变化情况。Watch Window 观察调试过程中的变量,C表达式,地址和寄存器的值。 Mixed Source and ASM 在调试过程中即观察C程序又观察汇编程序。Debug菜单Breakpoints 将光标放在要设置断点的程序处可在程序中设置断

8、点;程序运行到断点处自动停止。Probe Points 在程序中设置探测点。StepInto 单步执行程序并进入调用的子程序。StepOver单步执行程序但不进入调用的子程序或中断服务程序。 StepOut 跳出子程序。Run 执行程序到断点、探测点或用户中断。Halt 用来停止程序的执行。Reset DSP 对处理器进行复位。Restart 将程序指针指向程序的起始地址,从程序最开始处执行程序。提示:善用CCS的Help3、CCS的工具栏uStandard Toolbar:包括新建、打开、保存、剪切、复制、粘贴、取消、恢复、查找、打印和帮助等uProject Toolbar:包括选择当前工程

9、、编译文件、设置和移 去断点/Probe Point等功能。 uEdit Toolbar:提供一些常用的查找和设置标签命令。uGEL Toolbar:提供了执行GEL函数的一种快捷方法。uASM/Source Stepping Toolbar:提供了单步调试C或汇编源程序的方法 uTarget Control Toolbar:提供了目标程序控制的一些工具 uDebug Window Toolbar:提供了调试窗口工具 4.2 程序的编写汇编伪指令分成7类(根据功能):定义段的伪指令; 初始化常数的伪指令; 调准段程序计数器的伪指令; 引用其他文件的伪指令; 条件汇编伪指令; 在汇编时定义符号的

10、伪指令; 执行其他功能的伪指令。1. 段定义伪指令作用:把汇编语言程序的各个部分划分在适当的段中。 .asect 创建具有绝对地址的初始化命名段;.bss 为未初始化的变量保留空间;.sect 定义已初始化的带命名段,其后的数据存入该段;.text 该段包含了可执行的代码;.usect 在一个未初始化的有命名的段中为变量保留空间。.data 通常包含了初始化的数据;段是通过叠加方式来建立的。例如在汇编器第一次遇到.data伪指令时,data指令后面的语句都被汇编在.data段中(直到汇编器遇到.text和.sect伪指令为止)。如果后来又在其他的段中遇到.data指令,其后的语句继续加到.da

11、ta段中。这样虽然程序中是多个.data段分散在各处,但汇编器只创建一个.data段,它可以连续地被分配到内存中。2.常数初始化伪指令.float和.bfloat 计算以IEEE格式表示的单精度(32位)浮点数,并存放在当前段的连续字中,高位先存。.float能自动按域的边界排列,.bfloat不能。.int和.word 把一个或多个16位数存放到当前段的连续字中。.int为无符号整型量,.word为带符号整型量。.long和.blong 把32位数存放到当前段连续的两个字中,高位字先存。.long能自动按长字的边界排列,.blong 却不能。 .string 把8位的字符从一个或多个字符串中

12、传送到当前段中。3. 引用其他文件的伪指令 .copy/.include 伪指令告诉汇编器开始从其他文件中读源语 句。 .def 确认一个在当前模块中定义的且能被其他模块使用的 符号。 .ref 确认一个在当前模块中使用但在其他段中定义的符号 。 .global 表明一个外部符号,使其他模块在连接时可以使用 。如果在当前段定义了该符号,那么该符号就可以被其他 模块使用,与.def功能相同;如果在当前段没有定义该符 号,则使用了其他模块定义的符号,与.ref功能相同。一个 未定义的全局符号只有当它在程序中使用的时候,链接器 才对其进行处理。4. 控制条件汇编的伪指令.if/.elseif/.el

13、se/.endif 这些指令告诉汇编器,根据表达式的值条件汇编一块代码。.if 表示一个条件块的开始,如果条件为真就汇编紧接着的代码;.elseif是表示如果.if的条件为假,而.elseif的条件为真,就汇编紧接着的代码;.endif结束该条件块。 .loop/.break/.endloop 告诉汇编器按照表达式的值循环汇编一块代码。.loop标注一块循环代码的开始;.break告诉汇编器当表达式为假时,继续循环汇编,当表达式为真时, 立刻转到.endloop后的代码去执行;.endloop标注一个可循环块的末尾。 4个基本的文件: C语言文件:后缀为.c,实现DSP要完成的功能。汇编语言文

14、件 后缀为.ASM,书写该文件所用指令为LF2407支持的汇编语言 指令。该程序中实现DSP要完成的功能。通常在该文件的最开 始写上.include“F2407REGS.H”,表明包含了F2407REGS.H头文件里定义的一些寄存器。 头文件 后缀为.H,定义DSP系统用到的一些寄存器映射地址和用户用到的常量和用户自定义的寄存器。头文件必须放在源程序的开 始,并使用“#include” 语句声明和添加。 命令文件(.CMD)后缀为.CMD,实现对程序存储器空间和数据存储器空间的分 配。该文件常用的伪指令:MEMORY和SECTIONS。4.3 CCS工程组成(1).pjt文件CCS工程文件。在

15、CC中,工程文件的扩 展名为.mak。 (2).lib文件CCS运行支持库(rts2xx.lib) 。 (3).h文件头文件(.h) 。 (4).c文件C源文件(.c) 。 (5).asm文件汇编语言源文件。 (6).cmd文件链接命令文件(.cmd) 。 (7)中断向量文件 vectors.asm (8).obj文件目标文件,COFF格式。 (9).out文件可执行文件,COFF格式。 头文件CCS工程中的头文件与其它基于C语言的开发环境中的头文件基本相同,主要是用来定义工程中的常量和数据 结构。为了提高开发效率,开发人员往往会将DSP片内的控制寄存器定义写成一个头文件,这样在各个基于相同型

16、 号DSP的开发中,可以共享这个定义控制寄存器的头文件。 中断向量定义与传统的单片机类似,DSP的中断也可以采用查询和 回调两种方式来处理。如果采用回调方式处理,其实现方 式是在中断向量地址处放置一个跳转语句,跳转到相应的 中断处理函数。在CCS中,需要编写一个.asm文件,定义 所有的中断向量。链接命令文件 链接器命令文件主要包含以下3部分内容: (1)输入文件名。就是链接的目标文件和文档库文件或者是其他的命令文件,可以没有。 (2)链接器选项。如-l、-stack、-o等,这些选项可以用在链接命令行,也可以用在命令文件中。 (3)MEMORY和SECTIONS都是链接命令,MEMORY命 令定义目标存储器的配置,SECTIO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号