汇编语言程序开发工具
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年8月11日5时4分 DSP原理及应用 11
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
汇编语言源程序可以在任何一种文本编辑器中 进行。如笔记本、WORD、EDIT、TC等。 当汇编语言源程序编写完成后,还必须经过汇 编和链接后才能运行。
2013年8月11日5时4分
2013年8月11日5时4分 DSP原理及应用 8
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
绝对制表程序:将链接后的目标文件作为输入, 生成.abs输出文件。 交叉引用制表程序:利用目标文件生成一个交
叉引用清单,列出链接的源文件中的符号以及它们的
定义和引用情况。
链接器
运行时 支持库 调试工具
可执行的 COFF文件 HEX代码 转换工具 EPROM 编程器 绝对地址 列表器 交叉引用 列表器
TMS320C54x
2013年8月11日5时4分
DSP原理及应用
5
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
TI公司提供的DSP开发环境和工具主要包括以下
三个部分:
COFF目标文件中的段有两种基本类型。
(2) 未初始化段 在存储空间中,为未初始化数据保留存储空间。
它包括:
.bss段——未初始化段;
.usect段——未初始化段,由汇编命令建立的命
名段(自定义段)。
2013年8月11日5时4分 DSP原理及应用 21
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 3. 段与目标存储器的对应关系 汇编器的任务:在汇编过程中,根据汇编命令用
.text 段(文本段),通常包含可执行代码;
.data 段(数据段),通常包含初始化数据;
.bss 段(保留空间段),通常为未初始化变量保留存储空间。
2013年8月11日5时4分 DSP原理及应用 19
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 2. 段的基本类型
COFF目标文件中的段有两种基本类型。
适当的段将各部分程序代码和数据连在一起,构成目
标文件。
链接器的任务:就是分配存储单元,将目标文件
中的段重新定位到目标系统的存储器中,这一过程称
为定位或分配。
2013年8月11日5时4分 DSP原理及应用 22
第4章 汇编语言程序开发工具
3. 段与目标存储器的对应关系
目标文件中的段与目标存储器之间的关系
2013年8月11日5时4分 DSP原理及应用 3
第4章 汇编语言程序开发工具
4.1 TMS320C54x软件开发过程
1. ’C54x应用软件开发流程
’C54x应用软件的开发可在TI公司提供的开发环境中进行, 用户可以用C/C++语言或汇编语言编写源文件,经C编译器、 汇编器生成COFF格式的目标文件,再用链接器进行链接,生 成在’C54x上可执行的目标代码,然后利用调试工具对可执 行的目标代码进行仿真和调试。 当调试完成后,通过Hex代码转换工具,将调试后的可执 行目标代码转换成EPROM编程器能接受的代码,并将该代码固 化到EPROM中或加载到用户的应用系统中,以便DSP目标系统 脱离计算机单独运行。
2013年8月11日5时4分 DSP原理及应用 15
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
3. 链接 所谓链接,就是利用’C54x的链接器LNK500, 根据链接器命令文件(.cmd)对已汇编过的一个或多 个目标文件(.obj)进行链接,生成输出文件(.out) 和存储器映像文件(.map) 。
2013年8月11日5时4分 DSP原理及应用 10
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(2)代码调试工具:
软件开发系统SWDS:是一块PC插卡,可提供 低成本的评价和实时软件开发,还可用来进行软件 调试,程序可在DSP芯片上实时运行。 可扩展的开发系统仿真器(XDS510):可用来 进行系统级的集成调试,是进行DSP芯片软硬件开发 的最佳工具。 评价模块EVM板:是一种低成本的开发板,可 进行DSP芯片评价、性能评估和有限的系统调试。
代码生成工具
代码调试工具 实时操作系统
2013年8月11日5时4分
DSP原理及应用
6
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
C编译器:用来将C/C++语言源程序自动编译为 ’C54x的汇编语言源程序。 汇编器:用来将汇编语言源文件汇编成机器语 言COFF目标文件。 链接器:将汇编生成的、可重新定位的COFF目 标模块组合成一个可执行的COFF目标模块。 文档管理器:允许用户将一组文件(源文件或 目标文件)集中为一个文档文件库。
2013年8月11日5时4分 DSP原理及应用 25
第4章 汇编语言程序开发工具
1. 未初始化段 (1) .bss伪指令 用于在bss段中保留若干个空间。 格式: .bss 符号, 字数
DSP原理及应用
12
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
示意图
. cmd 链接命 令文件
.asm 源文件 .obj 目标文件 .out 输出文件
文本编辑器
汇编器
-l
链接器
-m
-o
调试程序
. lst 列表文件
. map 存储器 映像文件
十六进制 转换程序 HEX500
2013年8月11日5时4分 DSP原理及应用 1
第4章 汇编语言程序开发工具
4.1 TMS320C54x软件开发过程
4.2 汇编语言程序的编辑、汇编和链接过程
4.3 COFF的一般概念 4.4 源程序的汇编 4.5 链接器的使用
2013年8月11日5时4分
DSP原理及应用
2
第4章 汇编语言程序开发工具
(1) 初始化段 初始化段 初始化段中包含有数据或程序代码。主要有: 未初始化段 .text段——已初始化段;
.data段——已初始化段;
.sect段——已初始化段,由汇编器伪指令建立
的自定义段。
2013年8月11日5时4分 DSP原理及应用 20
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 2. 段的基本类型
目标文件
目标存储器
.bss
RAM
E2PROM
.data
.text
ROM
2013年8月11日5时4分
DSP原理及应用
23
第4章 汇编语言程序开发工具
4.3.2 汇编器对段的处理 汇编器对段的处理是通过段伪指令来区别各个段 的,并将段名相同的语句汇编在一起。
汇编器有5条伪指令可识别汇编语言程序的各个 部分: ● .bss ——定义未初始化段 ● .usect ——定义未初始化段 ● .text ——定义已初始化段 ● .data ——定义已初始化段 ● .sect ——定义已初始化段
2013年8月11日5时4分 DSP原理及应用 18
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 1. 段(sections) 是COFF文件中最重要的概念。每个目标文件都分 成若干段。 段——是存储器中占据相邻空间的代码或数据块。 一个目标文件中的每个段都是分开的和各不相同的。 COFF目标文件都包含以下3种形式的段:
2013年8月11日5时4分
DSP原理及应用
9
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(2)代码调试工具:
C/汇编语言源码调试器:与软件仿真器、评 价模块、软件开发系统、软件仿真器等配合使用。
软件仿真器:是一种模拟DSP芯片各种功能并
在非实时条件下进行软件调试的调试工具,它不需 目标硬件支持,只需在计算机上运行。 初学者工具DSK:是TI公司提供给初学者进行 DSP编程练习的一套廉价的实时软件调试工具。
常用的汇编器命令:
lnk500 %1.cmd
%1.cmd: 链接命令文件名,该文件须指明目标文件、 lnk500: 调用链接器命令 输入文件、输出文件、链接选项和存储器配置要求等。
2013年8月11日5时4分 DSP原理及应用 16
第4章 汇编语言程序开发工具
4.3 COFF的一般概念
汇编器和链接器生成的目标文件,是一个可以 由’C54x器件执行的文件。这些目标文件的格式称 之为公共目标文件格式(COFF)。 在编写汇编语言程序时,COFF采用代码段和数 据段的形式,以便于模块化的编程,使编程和管理变 得更加方便。 这些代码段和数据段简称为段。汇编器和链接 器提供一些伪指令来建立和管理各种各样的段。
2013年8月11日5时4分 DSP原理及应用 17
第4章 汇编语言程序开发工具
4.3 COFF的一般概念
4.3.1 COFF文件的基本单元 COFF文件有3种类型:COFF0、COFF1、COFF2。
每种类型的COFF文件,其标题格式都有所不同, 但数据部分是相同的。
’C54x汇编器和C编译器产生的是COFF2文件。 链接器能够读/写所有类型的COFF文件,默认时 链接器生成的是COFF2文件,采用-vn链接选项可以选 择不同类型的COFF文件。
4.1 TMS320C54x软件开发过程
’C54x的应用软件开发主要完成以下工作: (1) 选择编程语言编写源程Байду номын сангаас ’C54x提供2种编程语言,即汇编语言和C/C++语言。
对于完成一般功能的代码,这两种语言都可使用,但对
于一些运算量很大的关键代码,最好采用汇编语言来完成, 以提高程序的运算效率。 (2) 选择开发工具和环境 ’C54x提供了两种开发环境。即非集成开发环境和集成 开发环境CCS。
2013年8月11日5时4分 DSP原理及应用 14
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
2. 汇编 常用的汇编命令:
asm500
%1
-s
-1 -x
生成一个 交叉汇编表 生成一个 列表文件.lst 将程序所有定义的符号放 在目标文件的符号表中
源文件名 调用汇编器命令
2013年8月11日5时4分 DSP原理及应用 7
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
助记符指令—代数式指令翻译器:用来将包含 助记符指令的汇编语言源文件转换成包含代数式指令 的汇编语言源文件。 建库实用程序:用来建立用户自己使用的、并 用C/C++语言编写的支持运行的库函数。 十六进制转换程序:可以很方便地将COFF目标 文件转换成TI、Intel、Motorola等公司的目标文件 格式。
2013年8月11日5时4分 DSP原理及应用 4
第4章 汇编语言程序开发工具
1. ’C54x应用软件开发流程 开发过程的目的是产生一个可以由’C54x目标系 统执行的模块。
宏源文件 C源文件 存档器 汇编 源文件 C编译器 宏库 汇编器 汇编 源文件 存档器 COFF 目标文件
建库工具
目标 文件库
第4章 汇编语言程序开发工具
内容提要
可编程DSP芯片开发需要一套完整的软、硬件开 发工具。通常可分成代码生成工具和代码调试工具两 大类。 代码生成工具是指将高级语言或汇编语言编写的 DSP程序转换成可执行的DSP芯片目标代码的工具程 序,主要包括汇编器、链接器和C编译器以及一些辅 助工具程序等。 代码调试工具包括C/汇编语言源码调试器、仿真 器等。 本章主要介绍代码生成工具,包括’C54x软件开 发流程、汇编语言程序的编写、编辑、汇编和链接过 程、COFF段的一般概念、汇编器和链接器处理段的 方法以及程序的重定位等。
2013年8月11日5时4分 DSP原理及应用 24
第4章 汇编语言程序开发工具
4.3.2 汇编器对段的处理 1. 未初始化段
未初始化段就是在’C54x存储器中保留空间, 通常它们被定位在RAM区。在目标文件中,这些段中 没有确切的内容。 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令.bss和.usect产生。
2013年8月11日5时4分
DSP原理及应用
13
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
1. 编辑
利用各种文本编辑器,如笔记本、WORD、EDIT
和TC等,可编写汇编语言源程序。
2. 汇编 当汇编语言源程序编写好以后,可利用’C54x 的汇编器ASM500,对一个或多个源程序分别进行汇 编,并生成列表文件(.lst)和目标文件(.obj)。
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
汇编语言源程序可以在任何一种文本编辑器中 进行。如笔记本、WORD、EDIT、TC等。 当汇编语言源程序编写完成后,还必须经过汇 编和链接后才能运行。
2013年8月11日5时4分
2013年8月11日5时4分 DSP原理及应用 8
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
绝对制表程序:将链接后的目标文件作为输入, 生成.abs输出文件。 交叉引用制表程序:利用目标文件生成一个交
叉引用清单,列出链接的源文件中的符号以及它们的
定义和引用情况。
链接器
运行时 支持库 调试工具
可执行的 COFF文件 HEX代码 转换工具 EPROM 编程器 绝对地址 列表器 交叉引用 列表器
TMS320C54x
2013年8月11日5时4分
DSP原理及应用
5
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
TI公司提供的DSP开发环境和工具主要包括以下
三个部分:
COFF目标文件中的段有两种基本类型。
(2) 未初始化段 在存储空间中,为未初始化数据保留存储空间。
它包括:
.bss段——未初始化段;
.usect段——未初始化段,由汇编命令建立的命
名段(自定义段)。
2013年8月11日5时4分 DSP原理及应用 21
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 3. 段与目标存储器的对应关系 汇编器的任务:在汇编过程中,根据汇编命令用
.text 段(文本段),通常包含可执行代码;
.data 段(数据段),通常包含初始化数据;
.bss 段(保留空间段),通常为未初始化变量保留存储空间。
2013年8月11日5时4分 DSP原理及应用 19
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 2. 段的基本类型
COFF目标文件中的段有两种基本类型。
适当的段将各部分程序代码和数据连在一起,构成目
标文件。
链接器的任务:就是分配存储单元,将目标文件
中的段重新定位到目标系统的存储器中,这一过程称
为定位或分配。
2013年8月11日5时4分 DSP原理及应用 22
第4章 汇编语言程序开发工具
3. 段与目标存储器的对应关系
目标文件中的段与目标存储器之间的关系
2013年8月11日5时4分 DSP原理及应用 3
第4章 汇编语言程序开发工具
4.1 TMS320C54x软件开发过程
1. ’C54x应用软件开发流程
’C54x应用软件的开发可在TI公司提供的开发环境中进行, 用户可以用C/C++语言或汇编语言编写源文件,经C编译器、 汇编器生成COFF格式的目标文件,再用链接器进行链接,生 成在’C54x上可执行的目标代码,然后利用调试工具对可执 行的目标代码进行仿真和调试。 当调试完成后,通过Hex代码转换工具,将调试后的可执 行目标代码转换成EPROM编程器能接受的代码,并将该代码固 化到EPROM中或加载到用户的应用系统中,以便DSP目标系统 脱离计算机单独运行。
2013年8月11日5时4分 DSP原理及应用 15
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
3. 链接 所谓链接,就是利用’C54x的链接器LNK500, 根据链接器命令文件(.cmd)对已汇编过的一个或多 个目标文件(.obj)进行链接,生成输出文件(.out) 和存储器映像文件(.map) 。
2013年8月11日5时4分 DSP原理及应用 10
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(2)代码调试工具:
软件开发系统SWDS:是一块PC插卡,可提供 低成本的评价和实时软件开发,还可用来进行软件 调试,程序可在DSP芯片上实时运行。 可扩展的开发系统仿真器(XDS510):可用来 进行系统级的集成调试,是进行DSP芯片软硬件开发 的最佳工具。 评价模块EVM板:是一种低成本的开发板,可 进行DSP芯片评价、性能评估和有限的系统调试。
代码生成工具
代码调试工具 实时操作系统
2013年8月11日5时4分
DSP原理及应用
6
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
C编译器:用来将C/C++语言源程序自动编译为 ’C54x的汇编语言源程序。 汇编器:用来将汇编语言源文件汇编成机器语 言COFF目标文件。 链接器:将汇编生成的、可重新定位的COFF目 标模块组合成一个可执行的COFF目标模块。 文档管理器:允许用户将一组文件(源文件或 目标文件)集中为一个文档文件库。
2013年8月11日5时4分 DSP原理及应用 25
第4章 汇编语言程序开发工具
1. 未初始化段 (1) .bss伪指令 用于在bss段中保留若干个空间。 格式: .bss 符号, 字数
DSP原理及应用
12
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
示意图
. cmd 链接命 令文件
.asm 源文件 .obj 目标文件 .out 输出文件
文本编辑器
汇编器
-l
链接器
-m
-o
调试程序
. lst 列表文件
. map 存储器 映像文件
十六进制 转换程序 HEX500
2013年8月11日5时4分 DSP原理及应用 1
第4章 汇编语言程序开发工具
4.1 TMS320C54x软件开发过程
4.2 汇编语言程序的编辑、汇编和链接过程
4.3 COFF的一般概念 4.4 源程序的汇编 4.5 链接器的使用
2013年8月11日5时4分
DSP原理及应用
2
第4章 汇编语言程序开发工具
(1) 初始化段 初始化段 初始化段中包含有数据或程序代码。主要有: 未初始化段 .text段——已初始化段;
.data段——已初始化段;
.sect段——已初始化段,由汇编器伪指令建立
的自定义段。
2013年8月11日5时4分 DSP原理及应用 20
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 2. 段的基本类型
目标文件
目标存储器
.bss
RAM
E2PROM
.data
.text
ROM
2013年8月11日5时4分
DSP原理及应用
23
第4章 汇编语言程序开发工具
4.3.2 汇编器对段的处理 汇编器对段的处理是通过段伪指令来区别各个段 的,并将段名相同的语句汇编在一起。
汇编器有5条伪指令可识别汇编语言程序的各个 部分: ● .bss ——定义未初始化段 ● .usect ——定义未初始化段 ● .text ——定义已初始化段 ● .data ——定义已初始化段 ● .sect ——定义已初始化段
2013年8月11日5时4分 DSP原理及应用 18
第4章 汇编语言程序开发工具
4.3.1 COFF文件的基本单元 1. 段(sections) 是COFF文件中最重要的概念。每个目标文件都分 成若干段。 段——是存储器中占据相邻空间的代码或数据块。 一个目标文件中的每个段都是分开的和各不相同的。 COFF目标文件都包含以下3种形式的段:
2013年8月11日5时4分
DSP原理及应用
9
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(2)代码调试工具:
C/汇编语言源码调试器:与软件仿真器、评 价模块、软件开发系统、软件仿真器等配合使用。
软件仿真器:是一种模拟DSP芯片各种功能并
在非实时条件下进行软件调试的调试工具,它不需 目标硬件支持,只需在计算机上运行。 初学者工具DSK:是TI公司提供给初学者进行 DSP编程练习的一套廉价的实时软件调试工具。
常用的汇编器命令:
lnk500 %1.cmd
%1.cmd: 链接命令文件名,该文件须指明目标文件、 lnk500: 调用链接器命令 输入文件、输出文件、链接选项和存储器配置要求等。
2013年8月11日5时4分 DSP原理及应用 16
第4章 汇编语言程序开发工具
4.3 COFF的一般概念
汇编器和链接器生成的目标文件,是一个可以 由’C54x器件执行的文件。这些目标文件的格式称 之为公共目标文件格式(COFF)。 在编写汇编语言程序时,COFF采用代码段和数 据段的形式,以便于模块化的编程,使编程和管理变 得更加方便。 这些代码段和数据段简称为段。汇编器和链接 器提供一些伪指令来建立和管理各种各样的段。
2013年8月11日5时4分 DSP原理及应用 17
第4章 汇编语言程序开发工具
4.3 COFF的一般概念
4.3.1 COFF文件的基本单元 COFF文件有3种类型:COFF0、COFF1、COFF2。
每种类型的COFF文件,其标题格式都有所不同, 但数据部分是相同的。
’C54x汇编器和C编译器产生的是COFF2文件。 链接器能够读/写所有类型的COFF文件,默认时 链接器生成的是COFF2文件,采用-vn链接选项可以选 择不同类型的COFF文件。
4.1 TMS320C54x软件开发过程
’C54x的应用软件开发主要完成以下工作: (1) 选择编程语言编写源程Байду номын сангаас ’C54x提供2种编程语言,即汇编语言和C/C++语言。
对于完成一般功能的代码,这两种语言都可使用,但对
于一些运算量很大的关键代码,最好采用汇编语言来完成, 以提高程序的运算效率。 (2) 选择开发工具和环境 ’C54x提供了两种开发环境。即非集成开发环境和集成 开发环境CCS。
2013年8月11日5时4分 DSP原理及应用 14
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
2. 汇编 常用的汇编命令:
asm500
%1
-s
-1 -x
生成一个 交叉汇编表 生成一个 列表文件.lst 将程序所有定义的符号放 在目标文件的符号表中
源文件名 调用汇编器命令
2013年8月11日5时4分 DSP原理及应用 7
第4章 汇编语言程序开发工具
2. ’C54x的开发工具
(1)代码生成工具:
助记符指令—代数式指令翻译器:用来将包含 助记符指令的汇编语言源文件转换成包含代数式指令 的汇编语言源文件。 建库实用程序:用来建立用户自己使用的、并 用C/C++语言编写的支持运行的库函数。 十六进制转换程序:可以很方便地将COFF目标 文件转换成TI、Intel、Motorola等公司的目标文件 格式。
2013年8月11日5时4分 DSP原理及应用 4
第4章 汇编语言程序开发工具
1. ’C54x应用软件开发流程 开发过程的目的是产生一个可以由’C54x目标系 统执行的模块。
宏源文件 C源文件 存档器 汇编 源文件 C编译器 宏库 汇编器 汇编 源文件 存档器 COFF 目标文件
建库工具
目标 文件库
第4章 汇编语言程序开发工具
内容提要
可编程DSP芯片开发需要一套完整的软、硬件开 发工具。通常可分成代码生成工具和代码调试工具两 大类。 代码生成工具是指将高级语言或汇编语言编写的 DSP程序转换成可执行的DSP芯片目标代码的工具程 序,主要包括汇编器、链接器和C编译器以及一些辅 助工具程序等。 代码调试工具包括C/汇编语言源码调试器、仿真 器等。 本章主要介绍代码生成工具,包括’C54x软件开 发流程、汇编语言程序的编写、编辑、汇编和链接过 程、COFF段的一般概念、汇编器和链接器处理段的 方法以及程序的重定位等。
2013年8月11日5时4分 DSP原理及应用 24
第4章 汇编语言程序开发工具
4.3.2 汇编器对段的处理 1. 未初始化段
未初始化段就是在’C54x存储器中保留空间, 通常它们被定位在RAM区。在目标文件中,这些段中 没有确切的内容。 由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。 未初始化段分为默认的和命名的两种,分别由 汇编器伪指令.bss和.usect产生。
2013年8月11日5时4分
DSP原理及应用
13
第4章 汇编语言程序开发工具
4.2 汇编语言程序的编辑、汇编和链接过程
1. 编辑
利用各种文本编辑器,如笔记本、WORD、EDIT
和TC等,可编写汇编语言源程序。
2. 汇编 当汇编语言源程序编写好以后,可利用’C54x 的汇编器ASM500,对一个或多个源程序分别进行汇 编,并生成列表文件(.lst)和目标文件(.obj)。