CS5000 2.2的使用方法
一、 CCS文件名介绍
在使用CCS前,应该先了解以下软件的文件名约定: ? Project.pjt CCS定义的工程文件 ? Program.c C程序文件
? Program.asm 汇编语言程序文件
? Filename.h 头文件,包括DSP/BIOS API模块 ? Filename.lib 库文件
? Project.cmd 连接命令文件 ? Program.obj 编译后的目标文件
? Program.out 可在目标DSP上执行的文件,可在CCS监控下调试/执行
? Program.cdb CCS的设置数据库文件,是使用DSP/BIOS API必须的,其他没有使用DSP/BIOS API的程序也可以使用,当新建一个设置数据库时,会产生下面的文件:
? Programcfg.cmd ? Programcfg.h54 ? Programcfg.s54
二、编写一个简单的程序
这一部分将介绍如何在CCS下面新建一个程序,及如何编译、连接、下载、调试程序。
1.新建一个工程文件
(1) 打开桌面上图标CCS 2 ('C5000),出现下图界面:
(2) 点击菜单Project、然后在出现的下拉菜单中点击New弹出下图所示的窗口。然后在“Project”中输入项目名字,如example,则会在C:\\ti\\myprojects目录下建立一个文件夹example,并在example文件夹下建立项目文件example.pjt(也可自己定义其它的路径)。
(3) 点击“完成”按钮,出现界面如下:
(4) 此时即可加入各种文件项目中,也可马上建立一个源文件然后加入到项目中(建立源文件的方法是:点击File——New Source,即弹出一个可供编辑的窗口,在窗口中输入内容,然后保存为相应的文件(如果是汇编代码,则保存为文件名后缀为ASM的文件,依次类推),最后即可把此建立的文件添加到项目中。下面介绍把文件添加到项目中的方法。 2. 往工程中加入文件
首先把光盘中的example文件来下的example.asm,example.cmd,vectors.asm三个文件
添加到C:\\ti\\myprojects\\example下。
(1) 选择Project/Add Files to Project,在文件类型选项中选择*.s*文件,选择example.asm,然后点击“打开”按钮,即把文件添加到了项目中。
(2) 再重复上一步骤,把vectors.asm添加到项目中。选择Project/Add Files to Project。在文件类型选项CMD文件(*.cmd),选择example.cmd,然后点击“打开”按钮。
(3) 此时,可以在工作窗口的工程视窗中example.pjt旁的+号,展开工程查看其中的文件。结果如下图所示:
(4) 注意此时,一些包含的文件不会出现在include目录下,编译后CCS会自动加入,不必手动执行。
3.浏览代码
和Windows的浏览器相似,只要打开+号展现下面的文件,然后双击文件的图标,在主窗口就会显示相应文件的原始代码。
4. 编译/执行程序
(1)选择Project/Rebuild All,或工具条中的相应按钮。
(2)编译成功后,选择File/Load Program,选择你刚编译的可执行程序example.out,并单击打开。
(3)选择Debug/Run,或工具条中的相应图标或运行程序。
5. 程序调试的环境应用
(1)跟踪/调试程序
(1)选择Debut/Restart,重新执行程序。
(2)不全速运行,而是选择Debug/StepInto或按F8,单步执行。
(3)单步执行程序的同时,选择View/CPU Registers/CPU Register观察主要寄存器的变换。
(2)关于出现问题的处理
如果在CCS的编译连接过程出现问题,CCS都会给出提示,用户可以通过阅读提示,寻找问题出现在什么地方。
如果是语法上的错误,请查阅相关的语法资料;如果是环境参数设置上有问题,一般应在Project/Options中进行相应的修改(新安装程序时对默认设置不熟悉的用户最好不要随意修改);如果是下载过程中出现问题,可以尝试Debug/Reset DSP,或是按下硬件上的复
位键。
三、CCS软件应用和DSP编程
1. 概述
本节介绍DSP语言软件的开发流程和涉及到的软件开发工具。一个DSP应用软件的标准开发流程如图所示。
由下图可见,软件开发过程中将涉及到C编译器、汇编器、链接器等开发工具。不过,这里的C编译器不像在PC上开发C程序一样会输出目标文件(.obj),而是输出满足C54X条件的汇编程序(.asm)。而C54X中的C编程效率是较低的,所以它的C编译器才输出汇编程序,让用户可以对该汇编程序进行最大限度的优化,提高程序效率。C编译器将在本章后面介绍。下面从汇编程序开始介绍软件开发流程的各个环节。
C源程序C编译器汇编源程序宏汇编器COFF目标文件目标文件库连接器COFF执行文件运行支持库交叉参考列表绝对列表C5X DSP调试工具 编制一个汇编程序,需要经历下列步骤:
(1) 用文本编辑器(Editor)编辑满足C54X汇编器(Assembler)格式要求的汇编源程序。
(2) 调用汇编器汇编该源文件,如果源文件中调用了宏,汇编器还会到宏库中搜索该宏。
(3) 汇编之后生成格式为公共目标文件格式(COFF,Common Object File Format)的目标文件(.obj),称为COFF目标文件。
(4) 调用链接器(Linker)链接目标文件,如果包含可运行支持库和目标文件库,链接器还会到所保护的库中搜索所需要的成员。
(5) 链接之后生成可执行的COFF执行文件(.out)。 (6) 将COFF执行文件下载到C5XDSP中执行,同时也可借助调试工具(Debugging Tool)对程序进行跟踪调试或优化,也可利用交叉参考列表器(Cross-reference Lister)和绝对列表器(Absolute Lister)生成一些包含调试信息的表。
下面先介绍汇编源文件(.asm)格式。
2. 汇编源文件(.asm)
C5X的程序以段(Section)为基本单元构成,一个程序文件由若干段构成,每段又由若干语句(Statement)构成。
C5X的程序段分为初始化(Initialized)段和未初始化(Uninitialized)段两大类。初始化段可以是程序代码,也可以是程序中用到的常量、数据表等。我们可以从程序下载的角度来理解,初始化就是需要往程序空间写数据(代码或数据)的段,如同初始化程序空间一样。而未初始化段为变量,在下载时,这些变量是没有值的,所以无需向程序空间写,只需留出一段空间以便在运行时存放变量的值。所以这段空间在程序未运行前是没有初始化的。
段的名称和属性可以由用户自定义,如果用户不定义,汇编器将按默认的段来处理。C5X汇编器默认的段有3个:“.text”、“.data”、“.bss”。其中,“.text”为程序代码段,“.data”为数据段,“.bss”为未初始化段。用户自定义用“.sect”和“.usect”两个汇编指示符来完成,其中“.sect”用于定义初始化段,“.usect”用于定义未初始化段,语法如下:
[symbol] .sect “section_name” [symbol] .usect “section_name”,length
3. 汇编器
本节介绍C5X汇编器的使用。在编辑好汇编文件后就可以调用汇编器对文件进行汇编。先来看看C5X汇编器的情况。
1、汇编器概述
汇编器把汇编语言源文件汇编成COFF目标文件。C5X汇编器为:asm500(algebraic assembler),用于汇编采用C54X的助记符指令编写的源文件,这个汇编器可完成如下工作:
(1) 处理汇编语言源文件中的源语句,生成一个可重复定位的目标文件; (2) 根据要求,产生源程序列表文件,并提供对源程序列表文件的控制;
(3) 将代码分成段,并为每个目标代码段设置一个段程序计数器SPC(Section Program Counter),并把代码和数据汇编到指定的段中,在存储器中为未初始化段留出空间;
(4) 定义(.def)和引用(.ref)全局符号(global symbol),根据要求,将交叉参考列表加到源程序列表中;
(5) 汇编条件段;
(6) 支持宏调用,允许在程序中或在库中定义宏。
汇编器接受汇编语言源文件作为输入,汇编语言源文件可以是文本编辑器直接编写的,也可以是由C语言经编译后得到的。
2、汇编器调用方法
可以在命令行用如下命令格式调用汇编器,也可以在集成开发环境下由CCS调用 asm500[input file[object file[listing file]]][-options] asm500为调用代数汇编器。
Input file为汇编源文件名。如果不写扩展名,汇编器将使用缺省的.asm。
Object file为汇编器输出的COFF目标文件名。如果不写扩展名,汇编器将使用缺省的.obj,如果连目标文件名都不写,汇编器将使用输入的文件名作为目标文件名。
Listing file为汇编器输出的列表文件名。如果不写列表文件名也不写列表选项-1或-x,汇编器将不会生成列表文件。如果有列表文件名,将生成列表文件;如果没有列表文件名,而有列表选项,汇编器将使用输入文件名生成扩展名为.list的列表文件。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库CCS5000 2.2的使用方法在线全文阅读。
相关推荐: