DSP原理与应_第五章.ppt_第1页
DSP原理与应_第五章.ppt_第2页
DSP原理与应_第五章.ppt_第3页
DSP原理与应_第五章.ppt_第4页
DSP原理与应_第五章.ppt_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020年8月13日,数字信号处理器的原理和应用,第1章,第4章汇编语言程序开发工具,概述可编程数字信号处理器芯片的开发需要一套完整的软硬件开发工具。一般来说,它可以分为两类:代码生成工具和代码调试工具。代码生成工具是指将用高级语言或汇编语言编写的数字信号处理器程序转换成可执行的数字信号处理器芯片目标代码的工具程序,主要包括汇编程序、链接程序、C编译器和一些辅助工具程序。代码调试工具包括C/汇编语言源代码调试器、模拟器等。本章主要介绍代码生成工具,包括C54x软件开发过程、汇编语言程序的编译、编辑、汇编和链接过程、COFF段的一般概念、汇编器和链接器处理段的方法以及程序的重新定位。2020年8

2、月13日,数字信号处理器原理与应用,2,第4章汇编语言程序开发工具,4.1 TMS320C54x软件开发流程,4.2汇编语言程序的编辑、汇编和链接流程,4.3 COFF通用概念,4.4源程序汇编,4.5链接器的使用,2020年8月13日,数字信号处理器原理与应用,3,第4章汇编语言程序开发工具,4.1 TMS320C54x软件开发流程,C54x应用软件开发主要完成以下工作:(1)选择编程这两种语言可用于执行一般功能的代码,但对于一些计算量大的关键代码,最好使用汇编语言,以提高程序的运行效率。(2)选择开发工具和环境C54x提供了两种开发环境。即非集成开发环境和集成开发环境CCS。2020年8月

3、13日,数字信号处理器原理与应用,第4章,汇编语言程序开发工具,4.1 TMS320C54x软件开发流程,1。C54x应用软件开发流程,C54x应用软件开发可以在TI公司提供的开发环境中进行,用户可以用C/C语言或汇编语言编写源文件,并通过C编译器和汇编程序生成COFF格式的目标文件。然后与链接器链接,在C54x上生成可执行目标代码,然后使用调试工具模拟和调试可执行目标代码。调试完成后,通过十六进制代码转换工具,将调试好的可执行目标代码转换成EPROM程序员可接受的代码,并将代码固化到EPROM中或加载到用户的应用系统中,使DSP目标系统可以独立于计算机运行。2020年8月13日,数字信号处理

4、器原理与应用,第5章,汇编语言程序开发工具,和1。C54x应用软件开发流程。开发过程的目的是生成一个可由C54x目标系统执行的模块。2020年8月13日,数字信号处理器原理与应用,第6章,汇编语言程序开发工具,第2章,C54X开发工具,TI公司提供的数字信号处理器开发环境和工具主要包括以下三部分:代码生成工具、代码调试工具、实时操作系统,2020年8月13日,数字信号处理器原理与应用,第7章,汇编语言程序开发工具,第2章。C54x开发工具,(1)代码生成工具:C编译器:用于自动将C/C语言源程序编译成C54x汇编语言源程序。汇编程序:用于将汇编语言源文件汇编成机器语言COFF目标文件。链接器:

5、将组装的和可重定位的COFF目标模块组合成一个可执行的COFF目标模块。文档管理器:允许用户将一组文件(源文件或目标文件)聚合到文档文件库中。2020年8月13日,数字信号处理器原理与应用,第8章,汇编语言程序开发工具,第2页。C54x开发工具,助记指令代数指令翻译器:用于将包含助记指令的汇编语言源文件转换为包含代数指令的汇编语言源文件。库构建工具:用于构建用户使用的库函数,用C/C语言编写,支持运行。十六进制转换程序:它可以很容易地将COFF目标文件转换成钛,英特尔,摩托罗拉等公司的目标文件格式。(1)代码生成工具:2020年8月13日,数字信号处理器原理与应用,第9章,汇编语言程序开发工具

6、,第2页。C54x开发工具,(1)代码生成工具:绝对列表程序:以链接的目标文件为输入,并生成交叉引用列表器:使用目标文件生成交叉引用列表,列出链接源文件中的符号及其定义和引用。2020年8月13日,数字信号处理器原理与应用,第10卷,第4章汇编语言程序开发工具,第2页。C54x开发工具,(2)代码调试工具:C/汇编语言源代码调试器:与软件模拟器、评估模块、软件开发系统、软件模拟器等结合使用。软件模拟器:它是一个调试工具,模拟数字信号处理器芯片的各种功能,在非实时条件下调试软件。它不需要目标硬件的支持,只需要在计算机上运行。DSK,一个初学者的工具,是一套廉价的实时软件调试工具,由德州仪器提供给

7、初学者练习数字信号处理器编程。2020年8月13日,数字信号处理器原理与应用,第11章,汇编语言程序开发工具,第2页。C54x开发工具,(2)代码调试工具,SWDS软件开发系统是一个PC机卡,可以提供低成本的评估和实时软件开发,也可以用于软件调试,程序可以在DSP芯片上实时运行。可扩展开发系统模拟器(XDS510):可用于系统级集成调试,是DSP芯片软硬件开发的最佳工具。评估模块EVM板:这是一个低成本的开发板,可以进行数字信号处理器芯片评估,性能评估和有限的系统调试。2020年8月13日,数字信号处理器的原理和应用,第12卷,第4章,汇编语言程序的开发工具,4.2汇编语言程序的编辑、汇编和链

8、接过程,以及汇编语言源程序可以在任何类型的文本编辑器中执行。例如笔记本、WORD、EDIT、TC等。当汇编语言的源程序被编写时,必须在运行前进行汇编和链接。2020年8月13日,数字信号处理器原理与应用,13,第4章汇编语言程序开发工具,4.2汇编语言程序编辑、汇编和链接过程,原理图,2020年8月13日,数字信号处理器原理与应用,14,第4章汇编语言程序开发工具,4.2汇编语言程序编辑、汇编和链接过程,1。编辑,1 2。汇编:汇编语言的源程序写完后,可以用汇编程序ASM500的C54x和一个列表文件()来汇编一个或多个源程序。lst)和一个对象文件(。obj)可以被生成。2020年8月13日

9、,数字信号处理器原理与应用,第15页,第4章汇编语言程序开发工具,4.2汇编语言程序编辑,汇编与链接过程,2。汇编,常用汇编命令:asm500 %1 s 1 x,调用汇编命令,源文件名,程序的所有定义符号,生成列表文件。并生成一个交叉汇编表,2020年8月13日,数字信号处理器原理与应用,第16章,第4章汇编语言程序开发工具,4.2汇编语言程序编辑,汇编和链接过程,3。链接,所谓的链接是指使用链接器LNK500的C54x,根据链接器命令文件()。cmd)常用汇编命令:lnk500 %1.cmd,lnk500:调用链接器命令,%1.cmd:链接命令文件名,必须指明目标文件、输入文件、输出文件、链

10、接选项和内存配置要求。2020年8月13日,数字信号处理器的原理和应用,第17页,第4章汇编语言编程工具,4.3的一般概念,由汇编程序和链接程序生成的目标文件是一个可由C54x设备执行的文件。这些目标文件的格式称为通用目标文件格式(COFF)。COFF在编译汇编语言程序时,采用了代码段和数据段的形式,便于模块化编程,使编程和管理更加方便。这些代码段和数据段简称为段。汇编器和链接器提供一些伪指令来创建和管理不同的段。2020年8月13日,数字信号处理器的原理和应用,第18章,第4章汇编语言编程工具,4.3 COFF的一般概念,4 . 3 . 1 COFF文件的基本单元,有三种类型的COFF文件:

11、COFF0、COFF1和COFF2。每种类型的COFF文件都有不同的头格式,但数据部分是相同的。链接器可以读取/写入所有类型的COFF文件。默认情况下,链接器生成COFF2文件,可以使用-vn链接选项选择不同类型的COFF文件。C54x汇编程序和c编译器生成COFF2文件。2020年8月13日,数字信号处理器原理与应用,第19章,汇编语言编程工具,4 . 3 . 1 COFF文件的基本单元,1。章节,是COFF文件中最重要的概念。每个目标文件被分成几个部分。段是占用内存中相邻空间的代码或数据块。目标文件中的每个段都是独立且不同的。COFF目标文件包含以下三种类型的段:文本段(text segm

12、ent),通常包含可执行代码;数据段(data segment),通常包含初始化数据;bss部分(保留空间部分),通常为未初始化的变量保留存储空间。2020年8月13日,数字信号处理器原理与应用,20,第4章汇编语言程序开发工具,4 . 3 . 1 COFF文件基本单元,2。线段的基本类型,在COFF对象文件中有两种基本类型的线段。初始化部分未初始化部分,(1)初始化部分,其中包含数据或程序代码。主要有:文本部分初始化部分;那个。数据段已初始化该段;段初始化段,由汇编伪指令创建的自定义段。2020年8月13日,数字信号处理器原理与应用,21,第4章汇编语言程序开发工具,4 . 3 . 1 CO

13、FF文件基本单元,2。线段的基本类型,在COFF对象文件中有两种基本类型的线段。(2)未初始化段,在存储空间中,为未初始化的数据保留存储空间。它包括:bss部分未初始化的部分;使用未初始化的段,命名由汇编命令创建的段(自定义段)。2020年8月13日,数字信号处理器的原理与应用,第22页,第4章,汇编语言编程工具,4 . 3 . 1COFF文件的基本单元,第3页。段与目标存储器的对应关系,汇编程序的任务:在汇编过程中,根据汇编命令,将程序代码和数据的各个部分与适当的段连接在一起,形成目标文件。链接器的任务是分配存储单元,并将目标文件中的段重新定位到目标系统的内存中。这个过程称为定位或分配。20

14、20年8月13日,数字信号处理器原理与应用,第23卷,第4章汇编语言程序开发工具,第3页。段与目标内存之间的对应关系,目标文件中的段与目标内存之间的关系,理学学士。数据。文本、内存、E2Prom、只读存储器,2020年8月13日第4章,汇编语言程序开发工具,4.3.2汇编程序对段的处理,通过段伪指令区分每个段,并用相同的段名汇编语句。汇编程序有五条伪指令来标识汇编语言程序的每一部分。bss。使用。文本。数据。第节,定义未初始化段定义未初始化段定义已初始化段定义已初始化段,2020年8月13日,数字信号处理器原理与应用,25,第4章汇编语言程序开发工具,4.3.2汇编程序对段的处理,未初始化段在

15、目标文件中,这些段落中没有确切的内容。由这些段定义的空间仅用作临时存储空间,在程序运行时可以用来存储变量。未初始化的段分为默认段和命名段,它们由汇编指令生成。bss和。分别使用。1。未初始化段,2020年8月13日,数字信号处理器原理与应用,第26卷,第4章汇编语言程序开发工具,(1)。bss伪指令1。未初始化的段,用于在bss段中保留几个空间。格式:bss符号,字数。该符号对应于保留存储空间中第一个单词的变量名。它可以被其他段引用,也可以使用。全球司令部。字数意味着在bss部分或标有名称的部分中保留了几个存储单元。每次。bss伪指令被调用,汇编程序在相应的段中保留更多的空间。2020年8月1

16、3日,数字信号处理器的原理和应用,27,第4章汇编语言程序开发工具,1。未初始化的段,(2)。使用伪指令,用于为指定的命名段保留几个空间。格式:符号。使用“段名”、字数、段名。程序员为未初始化的命名段定义的名称。每当调用usect伪指令时,汇编程序会在指定的命名段中保留更多空间。2020年8月13日,数字信号处理器原理与应用,28,第4章汇编语言程序开发工具,4.3.2汇编程序对段的处理,初始化的段包含可执行代码或初始化数据。这些段的内容都在目标文件中,当程序加载时,目标文件将被放入C54x的内存中。每个初始化的段可以被重新定位,并且可以引用在其他段中定义的符号。链接器在链接时自动处理段之间的

17、交叉引用。初始化的段由三个伪指令创建:文本。数据和。教派。2。初始化部分,2020年8月13日,数字信号处理器原理与应用,第29章,第4章汇编语言程序开发工具,初始化命令语法,2。已初始化的段,文本段起点、数据段起点、段名、段起点和段起点是可选的。如果选择,它为程序段计数器SPC定义一个起始值。默认情况下,统计过程控制从0开始。2020年8月13日,数字信号处理器原理与应用,第30页,第4章汇编语言程序开发工具,4.3.2汇编程序的段处理。当汇编程序遇到。文本或。数据或。命令,它将停止汇编当前段(相当于命令结束当前段的汇编),然后将下面的程序代码或数据汇编到指定的段中,直到它再次完成。当汇编程序遇到。bss或。使用ct命令,它不会结束当前线段的装配,而是暂时从当前线段分离并开始装配新线段。那个。bss和。usect命令可以出现在初始化段的任何位置,而不会影响

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论