《汇编语言程序开发工具》由会员分享,可在线阅读,更多相关《汇编语言程序开发工具(116页珍藏版)》请在金锄头文库上搜索。
1、2012年10月17日8时48分DSP原理及应用1第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具 内容提要内容提要可编程可编程DSPDSP芯片开发需要一套完整的软、硬件开芯片开发需要一套完整的软、硬件开 发工具。通常可分成代码生成工具和代码调试工具两发工具。通常可分成代码生成工具和代码调试工具两 大类。大类。 代码生成工具是指将高级语言或汇编语言编写的代码生成工具是指将高级语言或汇编语言编写的 DSPDSP程序转换成可执行的程序转换成可执行的DSPDSP芯片目标代码的工具程芯片目标代码的工具程 序,主要包括汇编器、链接器和序,主要包括汇编器、链接器和C C编译器以及一些辅编译器以及一
2、些辅 助工具程序等。助工具程序等。代码调试工具包括代码调试工具包括C/C/汇编语言源码调试器、仿真汇编语言源码调试器、仿真 器等。器等。本章主要介绍代码生成工具,包括本章主要介绍代码生成工具,包括C54xC54x软件开软件开 发流程、汇编语言程序的编写、编辑、汇编和链接过发流程、汇编语言程序的编写、编辑、汇编和链接过 程、程、COFFCOFF段的一般概念、汇编器和链接器处理段的段的一般概念、汇编器和链接器处理段的 方法以及程序的重定位等。方法以及程序的重定位等。 2012年10月17日8时48分DSP原理及应用2第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具 4.1 TMS320C5
3、4x软件开发过程 4.2 汇编语言程序的编辑、汇编和链接过程 4.3 COFF的一般概念 4.4 源程序的汇编4.5 链接器的使用2012年10月17日8时48分DSP原理及应用3第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.1 4.1 TMS320C54xTMS320C54x软件开发过程软件开发过程 C54xC54x的应用软件开发主要完成以下工作:的应用软件开发主要完成以下工作:(1)(1) 选择编程语言编写源程序选择编程语言编写源程序 C54xC54x提供提供2 2种编程语言,即汇编语言和种编程语言,即汇编语言和C/C+C/C+语言。语言。对于完成一般功能的代码,这两种语言都
4、可使用,但对对于完成一般功能的代码,这两种语言都可使用,但对于一些运算量很大的关键代码,最好采用汇编语言来完成,于一些运算量很大的关键代码,最好采用汇编语言来完成,以提高程序的运算效率。以提高程序的运算效率。(2)(2) 选择开发工具和环境选择开发工具和环境 C54xC54x提供了两种开发环境。即非集成开发环境和集成开提供了两种开发环境。即非集成开发环境和集成开发环境发环境CCSCCS。 2012年10月17日8时48分DSP原理及应用4第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.1 4.1 TMS320C54xTMS320C54x软件开发过程软件开发过程 1.1. C54x应
5、用软件开发流程C54x应用软件的开发可在TI公司提供的开发环境中进行,用户可以用C/C+语言或汇编语言编写源文件,经C编译器、 汇编器生成COFF格式的目标文件,再用链接器进行链接,生 成在C54x上可执行的目标代码,然后利用调试工具对可执行的目标代码进行仿真和调试。当调试完成后,通过Hex代码转换工具,将调试后的可执行目标代码转换成EPROM编程器能接受的代码,并将该代码固 化到EPROM中或加载到用户的应用系统中,以便DSP目标系统 脱离计算机单独运行。 2012年10月17日8时48分DSP原理及应用5第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具1.1. C54x应用软件开发
6、流程开发过程的目的是产生一个可以由C54x目标系统执行的模块。C源文件C编译器汇编 源文件汇编器汇编 源文件COFF 目标文件链接器可执行的COFF文件宏源文件存档器宏库存档器目标 文件库建库工具运行时 支持库EPROM 编程器交叉引用 列表器调试工具TMS320C54x绝对地址 列表器HEX代码 转换工具2012年10月17日8时48分DSP原理及应用6第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具TI公司提供的DSP开发环境和工具主要包括以下三个部分: 代码生成工具 代码调试工具 实时操作系统2012年10月17日8时48分DSP原理及应用7第第4 4
7、章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具(1)代码生成工具: C编译器:用来将C/C+语言源程序自动编译为 C54x的汇编语言源程序。 汇编器:用来将汇编语言源文件汇编成机器语言COFF目标文件。 链接器:将汇编生成的、可重新定位的COFF目标模块组合成一个可执行的COFF目标模块。 文档管理器:允许用户将一组文件(源文件或 目标文件)集中为一个文档文件库。 2012年10月17日8时48分DSP原理及应用8第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具 助记符指令代数式指令翻译器:用来将包含助记符指令的汇编语言源文件转换
8、成包含代数式指令 的汇编语言源文件。 建库实用程序:用来建立用户自己使用的、并用C/C+语言编写的支持运行的库函数。 十六进制转换程序:可以很方便地将COFF目标文件转换成TI、Intel、Motorola等公司的目标文件 格式。 (1)代码生成工具:2012年10月17日8时48分DSP原理及应用9第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具(1)代码生成工具: 绝对制表程序:将链接后的目标文件作为输入,生成.abs输出文件。 交叉引用制表程序:利用目标文件生成一个交叉引用清单,列出链接的源文件中的符号以及它们的定义和引用情况。 2012年10月17日
9、8时48分DSP原理及应用10第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具(2)代码调试工具: C/汇编语言源码调试器:与软件仿真器、评价模块、软件开发系统、软件仿真器等配合使用。 软件仿真器:是一种模拟DSP芯片各种功能并在非实时条件下进行软件调试的调试工具,它不需 目标硬件支持,只需在计算机上运行。 初学者工具DSK:是TI公司提供给初学者进行DSP编程练习的一套廉价的实时软件调试工具。 2012年10月17日8时48分DSP原理及应用11第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具2.2. C54x的开发工具(2)代码调试工具: 软件开
10、发系统SWDS:是一块PC插卡,可提供 低成本的评价和实时软件开发,还可用来进行软件 调试,程序可在DSP芯片上实时运行。 可扩展的开发系统仿真器(XDS510):可用来 进行系统级的集成调试,是进行DSP芯片软硬件开发 的最佳工具。 评价模块EVM板:是一种低成本的开发板,可 进行DSP芯片评价、性能评估和有限的系统调试。 2012年10月17日8时48分DSP原理及应用12第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程汇编语言程序的编辑、汇编和链接过程 汇编语言源程序可以在任何一种文本编辑器中进汇编语言源程序可以在任何一种文本编辑
11、器中进行。如笔记本、行。如笔记本、WORDWORD、EDITEDIT、TCTC等。等。当汇编语言源程序编写完成后,还必须经过汇编当汇编语言源程序编写完成后,还必须经过汇编和链接后才能运行。和链接后才能运行。2012年10月17日8时48分DSP原理及应用13第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程汇编语言程序的编辑、汇编和链接过程 示意图示意图汇编器汇编器调试程序调试程序链接器链接器文本编辑器文本编辑器.asm 源文件.obj 目标文件.out 输出文件. cmd 链接命 令文件. lst 列表文件. map 存储器 映像文件十
12、六进制十六进制 转换程序转换程序 HEX500HEX500- o- m- l2012年10月17日8时48分DSP原理及应用14第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程汇编语言程序的编辑、汇编和链接过程 1.1. 编辑编辑 利用各种文本编辑器,如笔记本、利用各种文本编辑器,如笔记本、WORDWORD、EDITEDIT和和TCTC等,可编写汇编语言源程序。等,可编写汇编语言源程序。 2.2. 汇编汇编 当汇编语言源程序编写好以后,可利用当汇编语言源程序编写好以后,可利用 C54xC54x的的汇编器汇编器ASM500ASM500,对
13、一个或多个源程序分别进行汇编对一个或多个源程序分别进行汇编, ,并生成列表文件并生成列表文件(.(.lst)lst)和目标文件和目标文件(.(.obj)obj)。 2012年10月17日8时48分DSP原理及应用15第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程汇编语言程序的编辑、汇编和链接过程 2.2. 汇编汇编 常用的汇编命令: asm500 %1 s 1 x 调用汇编器命令调用汇编器命令源文件名源文件名将程序所有定义的符号放将程序所有定义的符号放 在目标文件的符号表中在目标文件的符号表中生成一个生成一个 列表文件列表文件. .l
14、stlst 生成一个生成一个 交叉汇编表交叉汇编表 2012年10月17日8时48分DSP原理及应用16第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.2 4.2 汇编语言程序的编辑、汇编和链接过程汇编语言程序的编辑、汇编和链接过程 3.3. 链接链接 所谓链接,就是利用所谓链接,就是利用 C54xC54x的链接器的链接器LNK500LNK500,根根 据链接器命令文件据链接器命令文件(.(.cmd)cmd)对已汇编过的一个或多个目对已汇编过的一个或多个目 标文件标文件(.(.obj)obj)进行链接,生成输出文件进行链接,生成输出文件(.(.out)out)和存储和存储 器映像文
15、件器映像文件(.(.map)map) 。 常用的汇编器命令: lnk500 %1.cmd lnk500: 调用链接器命令调用链接器命令 %1.cmd: 链接命令文件名,该文件须指明目标文件、 输入文件、输出文件、链接选项和存储器配置要求等。 2012年10月17日8时48分DSP原理及应用17第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.34.3 COFFCOFF的一般概念的一般概念 汇编器和链接器生成的目标文件,是一个可以由汇编器和链接器生成的目标文件,是一个可以由 C54xC54x器件执行的文件。这些目标文件的格式称之为器件执行的文件。这些目标文件的格式称之为 公共目标文件格
16、式公共目标文件格式( (COFF)COFF)。 在编写汇编语言程序时,在编写汇编语言程序时,COFFCOFF采用代码段和数据采用代码段和数据 段的形式,以便于模块化的编程,使编程和管理变得段的形式,以便于模块化的编程,使编程和管理变得 更加方便。更加方便。这些代码段和数据段简称为段。汇编器和链接器这些代码段和数据段简称为段。汇编器和链接器提供一些伪指令来建立和管理各种各样的段。提供一些伪指令来建立和管理各种各样的段。 2012年10月17日8时48分DSP原理及应用18第第4 4章章 汇编语言程序开发工具汇编语言程序开发工具4.34.3 COFFCOFF的一般概念的一般概念 4.3.14.3.1 COFFCOFF文件的基本