DSP原理与应用——汇编语言程序开发工具

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HEX代码 转换工具
可执行的 COFF文件
EPROM 编程器
绝对地址 列表器
交叉引用 列表器
C编译器 汇编 源文件
建库工具 运行时 支持库 调试工具
TMS320C54x
第6章 汇编语言程序开发工具
2. ’C54x的开发工具 公司提供的开发环境和工具主要包括以下三个部
分: 代码生成工具 代码调试工具 实时操作系统
0005 00
0006 00
27
**********************************
28
** 为更多的变量定义另一个段 **
29
**********************************
30 0000
2
“”,2
31 0001
“”,8
第6章 汇编语言程序开发工具
32
****************************************
第6章 汇编语言程序开发工具
6.2 汇编语言程序的编辑、汇编和链接过程
3. 链接 常用的汇编器命令:
500
%1
500: 调用链接器命令
%1: 链接命令文件名,该文件须指明目标文件、 输入文件、输出文件、链接选项和存储器配置要求等。
第6章 汇编语言程序开发工具
6.3 的一般概念
汇编器和链接器生成的目标文件,是一个可以 由’C54x器件执行的文件。这些目标文件的格式称 之为公共目标文件格式1 ()。
第6章 汇编语言程序开发工具
6.1 320C54x软件开发过程 6.2 汇编语言程序的编辑、汇编和链接过程 6.3 的一般概念 6.4 源程序的汇编 6.5 链接器的使用
第6章 汇编语言程序开发工具
6.1 320C54x软件开发过程
’C54x的应用软件开发主要完成以下工作: (1) 选择编程语言编写源程序
’C54x提供2种编程语言,即汇编语言和语言。
(2) 选择开发工具和环境 ’C54x提供了两种开发环境。即非集成开发环境和集成
开发环境。
第6章 汇编语言程序开发工具
6.1 320C54x软件开发过程
1. ’C54x应用软件开发流程
宏源文件
C源文件
存档器 宏库
存档器 目标 文件库
汇编 源文件 汇编器 COFF 目标文件 链接器
第6章 汇编语言程序开发工具
1. 未初始化段 (1) 伪指令
用于在段中保留若干个空间。
格式:
符号,
字数
x, 1 , 10
第6章 汇编语言程序开发工具
1. 未初始化段
(2) 伪指令
用于为指定的命名段保留若干个空间。
格式: 符号
“段名”, 字数
第6章 汇编语言程序开发工具
6.3.2 汇编器对段的处理 2. 已初始化段
汇编语言源程序的每一行都可以由四个部分组成,语 法如下:
[标号][:] 助记符
[操作数]
[;注释]
第6章 汇编语言程序开发工具
6.2 汇编语言程序的编辑、汇编和链接过程
2. 汇编 常用的汇编命令:
500 %1 -s -1 -x
生成一个 交叉汇编表 生成一个 列表文件 将程序所有定义的符号放 在目标文件的符号表中 源文件名 调用汇编器命令
33
**
汇编更多代码到段
**
34
****************************************
35 0005
36 0005 110a :
0,B
37 0006 f166
#0,B
0007 000a
38 0008 f868

0009 0006’
39
****************************************
初始化段中包含有数据或程序代码。主要有: 段——已初未始初化始段化;段 段——已初始化段; 段——已初始化段,由汇编器伪指令建立
的自定义段。
第6章 汇编语言程序开发工具
6.3.1 文件的基本单元
2. 段的基本类型 目标文件中的段有两种基本类型。
(2) 未初始化段 在存储空间中,为未初始化数据保留存储空间。
软件仿真器:是一种模拟芯片各种功能并在 非实时条件下进行软件调试的调试工具,它不需目 标硬件支持,只需在计算机上运行。
初学者工具:是公司提供给初学者进行编程 练习的一套廉价的实时软件调试工具。
第6章 汇编语言程序开发工具
()
第6章 汇编语言程序开发工具
C5402 实物图
第6章 汇编语言程序开发工具
共计5个字
;初始化数据段 ;3组数据放入段
第6章 汇编语言程序开发工具
汇编语言源程序:
2
“”,2
“”,8

0,B
: #0,B

“”
044h,088h
;建立命名段,保留2个单元
;在段保留8个单元
;初始化文本段
;1字指令
;2字指令 ;2字指令
共计5个字
;建立命名段 ;2组数据放入命名段
第6章 汇编语言程序开发工具
第6章 汇编语言程序开发工具
3. 段与目标存储器的对应关系
目标文件中的段与目标存储器之间的关系
目标文件
目标存储器
E2
第6章 汇编语言程序开发工具
6.3.2 汇编器对段的处理 汇编器有5条伪指令可识别汇编语言程序的各个
部分:

——定义未初始化段

——定义未初始化段

——定义已初始化段

——定义已初始化段
经汇编后,得列表文件(部分):
2
**********************************
3
** 汇编一个初始化表到段 **
4
**********************************
5 0000
6 0000 0044
044h,055h,066h
0001 0055
0002 0066
第6章 汇编语言程序开发工具
2. ’C54x的开发工具 (1)代码生成工具:
C编译器 汇编器 链接器 文档管理器 建库实用程序 十六进制转换程序
第6章 汇编语言程序开发工具
2. ’C54x的开发工具 (2)代码调试工具:
汇编语言源码调试器:与软件仿真器、评价 模块、软件开发系统、软件仿真器等配合使用。
的程序代码。 ● 段——已初始化的数据段,段内有7
个字的数据。 ● 段——用命令生成的命名段,
段内有2个字的初始化数据。 ● 段——未初始化的数据段,在存储器中
为变量保留8个存储单元。
第6章 汇编语言程序开发工具
经汇编后,得列表文件(部分):
2 3 4 5 0000 6 0000
0001 0002 7 8 9 10 0000 11 12 13 14 0003

——定义已初始化段
第6章 汇编语言程序开发工具
6.3.2 汇编器对段的处理 1. 未初始化段
未初始化段就是在’C54x存储器中保留空间, 通常它们被定位在区。在目标文件中,这些段中没 有确切的内容。
由这些段定义的空间仅作为临时存储空间,在 程序运行时,可以利用这些存储空间存放变量。
未初始化段分为默认的和命名的两种,分别由 汇编器伪指令和产生。
*******************************
,8
*******************************
** 仍然在 段中
**
*******************************
0456h
行号 目标代码 段名
100d f010 0001 f842 0001 110a f166 000a F868 0006
它包括: 段——未初始化段; 段——未初始化段,由汇编命令建立的命 名段(自定义段)。
第6章 汇编语言程序开发工具
6.3.1 文件的基本单元 3. 段与目标存储器的对应关系
汇编器的任务:在汇编过程中,根据汇编命令用 适当的段将各部分程序代码和数据连在一起,构成目 标文件。
链接器的任务:就是分配存储单元,将目标文件 中的段重新定位到目标系统的存储器中,这一过程称 为定位或分配。
示意图
.asm 源文件
文本编辑器
.obj 目标文件
汇编器
-l
. cmd 链接命 令文件
.out 输出文件
链接器 - o
-m
调试程序
. lst 列表文件
. map 存储器 映像文件
十六进制 转换程序 HEX500
第6章 汇编语言程序开发工具
6.2 汇编语言程序的编辑、汇编和链接过程
1. 编辑
汇编语言源程序以为其扩展名
0044 0055 0066
0456
******************************* ** 汇编一个初始化表到段 ** *******************************
044h,055h,066h
*******************************
** 在段中为变量保留空间 **
6 6
00040444 00050555
6 00060666
14 04054656
2. ’C54x的开发工具 (2)代码调试工具:
可扩展的开发系统仿真器(510):可用来进行 系统级的集成调试,是进行芯片软硬件开发的最佳 工具。
评价模块板:是一种低成本的开发板,可进 行芯片评价、性能评估和有限的系统调试。
第6章 汇编语言程序开发工具
6.2 汇编语言程序的编辑、汇编和链接过程
7
**********************************
8
** 在段中为变量保留空间 **
9
**********************************
10 0000
,8
11
**********************************
12
** 仍然在 段中
**
13
**********************************
#1, A
0002 0001
21 0003 f842

0004 0001’
22
**********************************
23
** 汇编另一个初始化表到 段 **
24
**********************************
25 0004
26 0004 00
0,0,0
段——是存储器中占据相邻空间的代码或数据块。 一个目标文件中的每个段都是分开的和各不相同的。
目标文件都包含以下3种形式的段: 段(文本段) 段(数据段) 段(保留空间段)
第6章 汇编语言程序开发工具
6.3.1 文件的基本单元
2. 段的基本类型 目标文件中的段有两种基本类型。
(1) 初始化段 初始化段
可用和两个伪指令产生命名段。
第6章 汇编语言程序开发工具
3. 命名段 伪指令产生类似的段,为变量在中保留存储空间。 伪指令产生类似和的段,可以包含代码或数据。
伪指令产生可重新定位地址的命名段。
产生命名段伪指令格式:
符号
“段名”,字数 “段名”
第6章 汇编语言程序开发工具
6.3.2 汇编器对段的处理 4. 段程序计数器
14 0003 0456
0456h
第6章 汇编语言程序开发工具
15
**********************************
16
**
汇编代码到段
**
17
**********************************
18 0000
19 0000 100d :
0,A
20 0001 f010 :
汇编器为每个段都安排了一个单独的程序计数器 称之为段程序计数器。
链接器在链接时要对每个段进行重新定位。
第6章 汇编语言程序开发工具
【例6.3.1】段命令应用举例。
汇编语言源程序:
044h,055h,066h ,8
0456h

0,A
: #1,A

0,0,0
;初始化数据段 ;3组数据放入段 ;在段保留8个单元 ;0456h放入段 ;初始化文本段 ;1字指令 ;2字指令 ;2字指令
...... n
第6章 汇编语言程序开发工具
6.3 的一般概念
6.3.1 文件的基本单元 文件有3种类型:0、1、2。
’C54x汇编器和C编译器产生的是2文件。
链接器能够读/写所有类型的文件,默认时链接 器生成的是2文件,采用链接选项可以选择不同类型 的文件。
第6章 汇编语言程序开发工具
6.3.1 文件的基本单元 1. 段()
40
** 为中断向量定义一个自定义段 **
41
****************************************
42 0000
“”
43 0000 0044
044h,088h
000Βιβλιοθήκη Baidu 0088
第6章 汇编语言程序开发工具
汇编语言源程序经过汇编后,共建立了5个段: ● 段——文本段,段内有10个字可执行
已初始化段中包含有可执行代码或初始化数据。
已初始化段由、和三个伪指令建立。
第6章 汇编语言程序开发工具
2. 已初始化段 已初始化命令的句法: [段起点] [段起点] “段名”[,段起点]
第6章 汇编语言程序开发工具
6.3.2 汇编器对段的处理 3. 命名段(自定义段)
命名段由用户指定,与默认的,和段的使用相同, 但它们被分开汇编。
相关文档
最新文档