目录
1.C54系列基本项目汇编语言及汇编工具介绍 ............................ 1
1.1 C54系列基本项目汇编语言.................................... 1
1.1.1 DSP程序设计语言简介 .................................. 1 1.1.2 C54X汇编语言程序的编辑、汇编和链接 .................... 1 1.1.3 C54汇编源程序的完整结构 ............................... 2 1.2 C54系列基本项目汇编工具..................................... 3
1.2.1 CCS的简介 ............................................. 3
2 .DSP的基本项目操作 ............................................... 4
2.1 源文件的编写与汇编 .......................................... 5
2.1.1源文件的编写 ........................................... 5 2.1.2源文件复位向量文件 ..................................... 5 2.1.3 文件的汇编............................................. 6 2.2文件的链接................................................... 7
2.2.1链接命令文件 ........................................... 7 2.2.2链接输出映像文件 ....................................... 8
3.课程设计总结..................................................... 11 4、参考文献........................................................ 11 5、附录............................................................ 12
1.C54系列基本项目汇编语言及汇编工具介绍
DSP基本项目文件的编写是DSP系统开发设计中必不可少的一部分,如果说硬件设计是系统基础的话,那么基本项目文件的设计就是系统的灵魂。DSP基本项目文件设计主要包括源文件的编辑、汇编文件的生成,链接命令的文件的编写、链接后输出文件的生成及程序的最终调试。
1.1 C54系列基本项目汇编语言
1.1.1 DSP程序设计语言简介
DSP 的软件开发一般有三种方法:
1. 直接编写DSP汇编汇编语言源文件; 2. 编写C语言程序;
3. 混合编写既有C语言代码又有汇编语言代码的的程序。
本项目文件的设计主要用第一种设计方法,即直接用DSP汇编语言编写源程序文件。DSP汇编语言源程序是有代码和数据组成的,要运行的程序代码和数据必须放到可由CPU寻址的存储空间中去,且以代码块和数据块的形式存放,也就是程序的定位,DSP程序的定位是在链接时借助命令链接文件.cmd来实现的。
1.1.2 C54X汇编语言程序的编辑、汇编和链接
汇编语言的源程序可以在任何一种文本编辑器中进行,如WORD、EDIT、TC等。当汇编语言源程序编写完成后,还必须经过汇编和链接后才能运行。如图1-1给出了汇编语言程序的编辑、汇编和链接过程,具体如下:
1、编辑
利用各种文本编辑器,如WORD、EDIT和TC等,可编写汇编语言源程序。 2、汇编
当汇编语言源程序编写好以后,可利用C54的汇编器ASM500,对一个或多个源程序分别进行汇编,并生成.lst(列表)文件和.obj(目标)文件。
3、链接
所谓链接,就是利用C54的链接器LNK500,根据链接器命令文件(.cmd)对已经汇编过的一个或多个目标文件(.obj)进行链接,生成存储器映射文件(.map)和输出文件(.out)。
4、调试
对输出文件(.out)进行调试
1
文本编辑器 .asm 源文件 汇编器 .obj 目标文件 链接器 .out 输出文件 调试程序 -o -1 -m .lst 列表文件 .map 存储器映射文件 16进制转换程序Hex 500
图1-1 汇编语言程序的编辑、汇编和链接过程示意图
1.1.3 C54汇编源程序的完整结构
在汇编源程序中,以.asm为源程序的扩展名,用“段”来组织程序间的结构。程序一般有数据段、堆栈段和代码段组成。
段整体上分为已初始化段和未初始化段,已初始化段有.text、.data、.sect,未初始化段有.bss、.usect。各段作用如下所示:
? .text用于设置可执行代码段,是已初始化段; ? .data用于存放有初值的数据块,是已初始化段;
? .sect汇编器伪指令建立的自定义段,常用于定义中断向量表,是已初始化段;
? .bss(保留空间段)用于为未初始化变量保留一块存储空间,是未初始化段;
? .usect用于为堆栈保留一块存储空间,是汇编命令建立的自定义段,是未初始化段;
外部符号是指在一个模块中定义、又可以在另一个模块中应用的的符号。可以用伪指令.def、.ref或.global来定义某些符号为外部符号。
? .def指令在当前模块中定义,又可以在其他模块中应用的符号。 ? .ref指令在当前模块中使用在别的模块中定义的符号。 ? .global指令可以是上面的任一种情况。
程序的基本结构有四种:顺序结构、分支结构、循环结构和子程序结构。 COFF目标文件有以下两种基本类型的段。 (1)初始化段
初始化段中包含有数据或程序代码。它包括 ? .txt段是已初始化段; ? .data段是已初始化段;
? .sect汇编器伪指令建立的自定义段也是已初始化段。 (2)未初始化段
2
在存储空间中,它为未初始化数据段保留空间,包括: ? .bss是未初始化段;
? .usect汇编命令建立的自定义段也是未初始化段
有几个汇编器伪指令可以用来将数据和代码的各个部分与相应的段落联系。汇编的过程中,根据汇编命令用适当的段将各个部分程序代码和数据联系在一起,构成目标文件。
1.2 C54系列基本项目汇编工具
CCS C5000 (Code Composer Studio)是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪于一体,极大的方便了DSP开发的与设计,是目前使用最广泛的DSP开发环境之一。
1.2.1 CCS的简介
CCS(Code Composer Studio)是一种针对TMS320系列DSP的集成开发环境。CCS有两种工作模式,即软件仿真器和硬件在线编程。软件仿真器模式可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程可以实时运行在DSP芯片上,与硬件开发板相结合进行在线编程和调试应用程序。
TI公司共有CCS1.10、CCS1.20、CCS2.0、和CCS2.10等不同时期的版本,针对不同系列的DSP芯片分为C2000、C3000、C5000、和C6000等不同的型号。各种不同版本和型号之间的差异不是很大。通常一种型号的CCS只适用于一种系列的DSP芯片。例如本设计中用的是CCS C5000它使用于C5000系列的DSP芯片包括’C54X和’C55X(本处为TMS320VC54X)。用户只需在CCS配置程序中设定DSP的类型和开发平台类型即可。
CCS的组成
CCS的主要组件下图1-2所示:
? TMS320C54X集成代码产生工具:它用来对C语言、汇编语言或混合语言编程的DSP源程序进行编译汇编,并链接成可执行的DSP 程序。主要包括汇编器、链接器、C/C++编译器和建库工具等。
? CCS集成开发环境:此环境集编译、汇编、链接、软件仿真、硬件调试和实时跟踪等功能于一体,包括编辑工具、工程管理工具和调试工具等。
? DSP/BIOS实时内核插件及其应用程序接口API:他们主要为实时信号处理应用而设计,包括DSP/BIOS配置工具、实时分析工具等。
? 实时数据交换的RTDX插件及其相关应用程序接口API:他们对目标系统实时监控,实现DSP程序与其他应用程序的数据交换。
? 有TI公司以外的第三方提供的应用模块插件。
3
相关推荐: