第四章 开发环境及实验箱_第1页
第四章 开发环境及实验箱_第2页
第四章 开发环境及实验箱_第3页
第四章 开发环境及实验箱_第4页
第四章 开发环境及实验箱_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章第四章DSP的开发环境与实验箱简介的开发环境与实验箱简介 目录目录 一般估计,一个嵌入式系统,开一般估计,一个嵌入式系统,开发的发的80%的努力,以及系统的的努力,以及系统的80%的复杂程度,取决于软件。的复杂程度,取决于软件。 因此,设计人员在为实时系统选因此,设计人员在为实时系统选择处理器时,都极为看重先进的、择处理器时,都极为看重先进的、易于使用的开发环境与工具。易于使用的开发环境与工具。DSP的开发环境和工具大致的开发环境和工具大致可以分为以下几类:可以分为以下几类:v代码生成工具代码生成工具v系统集成及调试环境与工具系统集成及调试环境与工具v实时操作系统实时操作系统4.1.1

2、汇编语言工具汇编语言工具TMS320的汇编语言工具是一个软件的汇编语言工具是一个软件包,其中包括包,其中包括:v汇编器汇编器v连接器连接器v归档器归档器v交叉引用列表器交叉引用列表器v十六进制转换公用程序十六进制转换公用程序汇编器(汇编器(Assembler) 将汇编语言的源程序文件汇编成为机将汇编语言的源程序文件汇编成为机器语言的目标程序文件,其格式为器语言的目标程序文件,其格式为COFF(公用目标文件格式)。汇编语言源程(公用目标文件格式)。汇编语言源程序可以包括汇编语言指令(序可以包括汇编语言指令(instruction)、)、汇编指令(汇编指令(assembler directives

3、)和宏指)和宏指令(令(macro directives)masm55 input_fileobject_filelist_file -options连接器(连接器(Linker) 连接器的基本任务是将目标文件连接在一起,连接器的基本任务是将目标文件连接在一起,产生可执行模块。连接器可以接受的输入文件产生可执行模块。连接器可以接受的输入文件包括汇编器产生的包括汇编器产生的COFF目标文件、命令文件、目标文件、命令文件、库文件、以及已部分连接好了的文件。它所产库文件、以及已部分连接好了的文件。它所产生的可执行生的可执行COFF目标模块可以装入各种开发目标模块可以装入各种开发工具工具,或由或由TM

4、S320器件来执行器件来执行lnk55 -options filename_1, , filename_n归档器(归档器(Archiver) 归档器允许用户将一组文件归入归档器允许用户将一组文件归入一个档案文件(库)。例如,将若一个档案文件(库)。例如,将若干个宏归入一个宏库,汇编器将搜干个宏归入一个宏库,汇编器将搜索这个库,并调用源文件中使用的索这个库,并调用源文件中使用的宏。也可以用归档器将一组目标文宏。也可以用归档器将一组目标文件收入一个目标文件库,连接器将件收入一个目标文件库,连接器将连接库内的成员,并解决外部引用连接库内的成员,并解决外部引用交叉引用列表器交叉引用列表器(Cross-

5、Reference Lister) 交叉引用列表器是一个查错的工交叉引用列表器是一个查错的工具。它接受已经连接好的目标文件具。它接受已经连接好的目标文件作为输入,产生一个交叉引用列表作为输入,产生一个交叉引用列表作为输出。它列出符号、符号的定作为输出。它列出符号、符号的定义、以及它们在已经连接的源文件义、以及它们在已经连接的源文件中的引用中的引用十六进制转换公用程序十六进制转换公用程序(Hex Conversion Utility)将将COFF目标文件转换成为若干种标准目标文件转换成为若干种标准的文件格式:的文件格式:vASCII-十六进制十六进制vExtended TektronixvInt

6、el MCS-86vMotorola ExorciservTI SDSMAC4.1.2 系统集成与调试工具系统集成与调试工具 TI公司为公司为TMS320系统的集成与调系统的集成与调试所提供的工具包括调试器接口试所提供的工具包括调试器接口(C/Assembly source debugger)、)、软仿真器(软仿真器(Simulator)、)、DSP入门入门套件(套件(DSK,DSP Starter Kit)、标)、标准评估模块(准评估模块(EVM)、以及扩展开)、以及扩展开发系统发系统XDS(eXtended Development System)等)等调试器接口调试器接口(C/Assemb

7、ly source debugger)v为嵌入式系统的开发提供了丰富的功能为嵌入式系统的开发提供了丰富的功能与灵活性。该调试器是下面要讨论的软与灵活性。该调试器是下面要讨论的软仿真器、评估模块、在线仿真器等的标仿真器、评估模块、在线仿真器等的标准接口。准接口。v该调试器可以运行在该调试器可以运行在PC或或SPARC等平台等平台上,对用上,对用C 或汇编语言写的程序提供完或汇编语言写的程序提供完全的控制。其代码分析功能通过快速确全的控制。其代码分析功能通过快速确认最费时的程序段,提示应该将开发时认最费时的程序段,提示应该将开发时间集中在什么地方间集中在什么地方代码分析器(代码分析器(CODE P

8、ROFILE)v分别或同时分析分别或同时分析C C代码和汇编代码代码和汇编代码v对全局变量、模块、函数可以在各对全局变量、模块、函数可以在各种层次上建立代码分析区域种层次上建立代码分析区域v广泛的统计功能,向用户提供代码广泛的统计功能,向用户提供代码中瓶颈问题的各种信息(代码的总中瓶颈问题的各种信息(代码的总执行时间、调用子程序的时间等)执行时间、调用子程序的时间等)软仿真器(软仿真器(Simulator)vTMS320软件仿真器是一个软件程序,软件仿真器是一个软件程序,使用主机的处理器和存储器来仿真使用主机的处理器和存储器来仿真TMS320 DSP的微处理器和微计算机的微处理器和微计算机模式

9、,从而进行软件开发和非实时模式,从而进行软件开发和非实时的程序验证。在的程序验证。在PC机上,典型的仿机上,典型的仿真速度为每秒几百条指令真速度为每秒几百条指令软仿真器的性能软仿真器的性能v在主机上执行用户的在主机上执行用户的DSP程序程序v修改和检查寄存器修改和检查寄存器v显示和修改数据及程序存储器显示和修改数据及程序存储器v外设、外设、cache、pipeline的时序仿真的时序仿真v设置断点设置断点v跟踪跟踪ACC、PC、AR、表达式的值、表达式的值v单步执行单步执行软仿真器的性能软仿真器的性能v产生中断产生中断v对非法操作码和无效数据输入等提对非法操作码和无效数据输入等提供出错信息供出

10、错信息v执行批处理文件中的命令执行批处理文件中的命令v文件方式快速存储和调用仿真参数文件方式快速存储和调用仿真参数v反汇编反汇编v周期计数并显示周期计数并显示DSP入门套件入门套件(DSK,DSP Starter Kit)v为初学者设计和生产的为初学者设计和生产的DSK是一种用以是一种用以评价评价DSP平台的廉价的开发工具。在平台的廉价的开发工具。在PC机的机的DOS或或Windows下,用户可以使用下,用户可以使用DSK来作来作DSP的实验,进行诸如控制系的实验,进行诸如控制系统、语音处理等应用;也可以用来编写统、语音处理等应用;也可以用来编写和运行实时源代码,并对其作评估;还和运行实时源代

11、码,并对其作评估;还可以用来调试用户自己的系统可以用来调试用户自己的系统TMS320C5x DSKTMS320C5x DSK评估模块评估模块(EVM,Evaluation Module)vTMS320的评估模块(的评估模块(EVM)是廉)是廉价的开发板,用于器件评估、标准价的开发板,用于器件评估、标准程序检查、以及有限的系统调试。程序检查、以及有限的系统调试。EVM是一个是一个PC插件,包括目标处理插件,包括目标处理器、一个小容量的存储器、和有限器、一个小容量的存储器、和有限的外设。的外设。EVM可以用来实时运行代可以用来实时运行代码,并与外部系统接口码,并与外部系统接口TMS320 EVMT

12、MS320C62 EVMTMS320硬件仿真器硬件仿真器(Emulators)v扩 展 开 发 系 统 (扩 展 开 发 系 统 ( X D S , e x t e n d e d development system)是功能强大的全速)是功能强大的全速仿真器,用以作系统级的集成与调试。仿真器,用以作系统级的集成与调试。v扫描式仿真(扫描式仿真(Scan-Based Emulator)是)是一种独特的、非插入式的系统仿真、集一种独特的、非插入式的系统仿真、集成、调试方法。使用这种方法,程序可成、调试方法。使用这种方法,程序可以从片内或片外的目标存储器实时执行,以从片内或片外的目标存储器实时执行

13、,在任何时钟速度下都不会引入额外的等在任何时钟速度下都不会引入额外的等待状态待状态TMS320边界扫描式仿真器边界扫描式仿真器TMS320边界扫描式仿真器边界扫描式仿真器集成化的集成化的DSP开发环境开发环境CODE COMPOSER STUDIOv为为TI的的C2000, C5000和和C6000而设计而设计v将编辑、调试、项目管理、分析和探测将编辑、调试、项目管理、分析和探测集成在一个环境里集成在一个环境里v代码生成器(代码生成器(C编译器、汇编器与连接器)编译器、汇编器与连接器)v指令集仿真器指令集仿真器v实时的基础软件(实时的基础软件(DSP/BIOS) 集成式开发环境的结构集成式开发

14、环境的结构v主机和目标机之间的实时数据交换(主机和目标机之间的实时数据交换(RTDX)v实时分析和数据可视化实时分析和数据可视化v目前可用于目前可用于WIN95/98/NT/UNIX基于基于WIN的图形化界面的图形化界面实时数据交换(实时数据交换(RTDX)从探测点注入和提取信号从探测点注入和提取信号多目标调试多目标调试eXpressDSP实时软件技术实时软件技术eXpressDSP实时软件技术实时软件技术v使使DSP产品的开发过程得以简化和产品的开发过程得以简化和统一统一v为为OEM厂商提供可重复使用的软件厂商提供可重复使用的软件组成部分组成部分v大大缩短产品的开发时间,可以达大大缩短产品的

15、开发时间,可以达到到50%以上以上eXpressDSP实时软件技术实时软件技术Code Composer StudioCode Composer Studiov开放的、具有强大集成能力的开发环境开放的、具有强大集成能力的开发环境v由先进开发工具组成的直观的系统,可由先进开发工具组成的直观的系统,可以大大缩短以大大缩短DSPDSP的编程时间的编程时间v高级的编码工具,可提供第三方工具接高级的编码工具,可提供第三方工具接入的开放式结构入的开放式结构v开发人员可以采用特定的工具自定义环开发人员可以采用特定的工具自定义环境,满足特殊的设计需要境,满足特殊的设计需要v一个广泛的、可以升级的软件基础一个广

16、泛的、可以升级的软件基础v提供提供DSP应用所必须的基本的运行应用所必须的基本的运行时间系统服务和集成化支持时间系统服务和集成化支持DSP算法接口标准算法接口标准DSP算法接口标准算法接口标准v以公用性为基础的通用软件以公用性为基础的通用软件v它是一套编码协定和应用编程接口它是一套编码协定和应用编程接口(API)v该算法可以由创造者编写,然后被该算法可以由创造者编写,然后被其他系统集成人员广泛引用其他系统集成人员广泛引用v目前已有越来越多的厂商采纳目前已有越来越多的厂商采纳eXpressDSP实时软件技术,编写标准实时软件技术,编写标准化的软件化的软件v随着越来越多应用产品厂商的参与,基随着越

17、来越多应用产品厂商的参与,基于于C2000、C5000、C6000系列系列DSP的的算法库和程序库也就越来越丰富算法库和程序库也就越来越丰富 4.2 汇编程序语法汇编程序语法TMS320的汇编程序包含汇编指令的汇编程序包含汇编指令(伪指令,(伪指令,assembler directives)、)、汇编语言指令(汇编语言指令(assembly language instructions)、宏指令()、宏指令(macro directives)和注释()和注释(comments)。)。C55的指令既可以是的指令既可以是助记符助记符方式,方式,也可以是代数式方式也可以是代数式方式助记符方式汇编程序语

18、法助记符方式汇编程序语法label: mnemonic operand list ;comment标号标号: 助记符助记符 操作数操作数 ;注释;注释汇编程序语法汇编程序语法v所有的语句必须由语句标号、空格、所有的语句必须由语句标号、空格、* *号或号或 ;号开头。;号开头。v语句标号不是必须的,如果用,就必须语句标号不是必须的,如果用,就必须在第一列。在第一列。v语句中的各部分之间,由一个或多个空语句中的各部分之间,由一个或多个空格分开。格分开。v注释不是必须的。注释可以从第一列的注释不是必须的。注释可以从第一列的 * * 号或号或 ;号开头;如果不是从第一列开;号开头;如果不是从第一列开始

19、,就必须用始,就必须用 ;号开头。;号开头。语句标号语句标号 由字母、数字、由字母、数字、_、$组成,最多不组成,最多不超过超过32个字符,对大小写敏感,第个字符,对大小写敏感,第一个字符不能是数字。后跟一个字符不能是数字。后跟 :,但:,但分号不是语句标号的组成部分分号不是语句标号的组成部分。助记符助记符v助记符不允许从第一列开始,否则助记符不允许从第一列开始,否则被认为是语句标号。被认为是语句标号。v助记符可以是机器指令(如助记符可以是机器指令(如ABS,M P Y U , S P H 等 ) 、 伪 指 令等 ) 、 伪 指 令(如(如.data, .list, .set等)、宏指令等)

20、、宏指令(如(如.macro, .var, .mexit等)和宏调用。等)和宏调用。操作数操作数操作数可以是常数、符号或表达式。操作数可以是常数、符号或表达式。当操作数多于一个时,用逗号分开当操作数多于一个时,用逗号分开。常数常数v二进制常数(如二进制常数(如01B或或01b)v八进制常数(如八进制常数(如10Q或或10q)v十进制常数(如十进制常数(如23)v十六进制常数(如十六进制常数(如78H或或78h)v字符常数(如字符常数(如A或或b)v字符串(如字符串(如“sample program”)v汇编时使用的常数汇编时使用的常数表达式表达式v表达式是一个常数、符号、或用算表达式是一个常数

21、、符号、或用算术运算符连接起来的常数或符号。术运算符连接起来的常数或符号。表达式的值的范围为表达式的值的范围为-32768到到327674.3 TMS320C55x目标文件格式目标文件格式COFF文件格式HTI 公司的汇编器和链接器创建的目标文件采用一种称为公司的汇编器和链接器创建的目标文件采用一种称为COFF(Common Object File Format公共目标文件格式)。公共目标文件格式)。H采用这种格式的目的是为了模块化编程的方便。通过这种采用这种格式的目的是为了模块化编程的方便。通过这种格式,程序员可以自己进行格式,程序员可以自己进行代码段代码段的管理和的管理和目标系统存储目标系

22、统存储器器的管理。的管理。H在在COFF文件格式中,程序员在编程时是基于代码段的概文件格式中,程序员在编程时是基于代码段的概念。念。4.3 TMS320C55x目标文件格式目标文件格式4.3.1段及相关的伪指令段及相关的伪指令 目标文件中最小的单元叫做段,一个段就是最终将在存储器映射中占据连续存储空间的数据或程序块。目标文件中的每一个块都相互独立且各不相同。 .bss .text .data .sect .usect 4.3 TMS320C55x目标文件格式目标文件格式1 未初始化段未初始化段.bss symbol, size in word,blocking flag, alignment

23、flag 举例: memptr: .bss A, 64, 1 memptr1: .bss B, 70, 1.bss伪指令在.bss段中保留空间。 未初始化段在处理器的存储器中保留空间,它们通常被分配到RAM中,这些段在目标文件中没有实际的内容,它们只是简单地保留空间。 4.3 TMS320C55x目标文件格式目标文件格式.usect伪指令在一个专门的未初始化的已命名段中保留空间。symbol .usect “section name”, size in word, , blocking flag, alignment flag2 初始化段初始化段 初始化段包含可执行代码和初始化数据。这些段的内

24、容被存储在目标文件中,当程序装载后则被放在处理器的存储器中。每一个始初化段都是可以重定位的,可以引用在其它段定义的标记。4.3 TMS320C55x目标文件格式目标文件格式.text value.datavalue .sect “section name”, value 3 子段子段 子段是大段中的更小一点的段。像段一样,子段能够被链接器操作。用户可以用sect和usect伪指令创建子段。 如:在.text段中创建一个_func的子段。 .sect “.text:_func”4.3 TMS320C55x目标文件格式目标文件格式4.4 .cmd文件和汇编伪指令4.3 TMS320C55x目标文件

25、格式目标文件格式4 链接器如何处理段链接器如何处理段 4.3 TMS320C55x目标文件格式目标文件格式4.4 .cmd文件和汇编伪指令4.3.3 链接器对程序的重新定位链接器对程序的重新定位1 地址的重新定位地址的重新定位举例举例2 运行时间的重新定位运行时间的重新定位4.3 TMS320C55x目标文件格式目标文件格式4.3.4 COFF文件中的符号文件中的符号1外部符号外部符号 外部符号是指定义在一个模块中,而在另一个模块中引用的符号。用户可以使用以下伪指令定义它。举例:4.3 TMS320C55x目标文件格式目标文件格式2符号表符号表4.3 TMS320C55x目标文件格式目标文件格

26、式4.4 TMS320C55x链接器链接器H 链接器的运行H 链接器命令文件的编写与使用H MEMORY指令H SECTIONS指令4.4.1 概述概述lTMS320C55x链接器有两个功能强大的指令,即MEMORY和SECTIONS。lMEMORY指令允许用户定义一个目标系统的存储器映射,可以命名存储器的各个部分,并且指定开始地址和大小。lSECTIONS指令告诉链接器合成输入段为输出段,并且告诉链接器把这些输出段放在存储器的某个位置。4.4.2 链接器的运行链接器的运行l键入命令:键入命令:lnk55 l键入命令:键入命令: lnk55 a.obj b.obj -o link.outl键入

27、命令:键入命令:lnk55 linker.cmd 1、C55x链接器的三种运行方法:链接器的三种运行方法:链接器会提示如下信息:链接器会提示如下信息: Command files:(要求键入一个:(要求键入一个或多个命令文件)或多个命令文件) Object files .obj:(要求键入一:(要求键入一个或多个需要链接的目标文件)个或多个需要链接的目标文件) Output Files a.out:(要求键入:(要求键入一个链接器所生成的输出文件名)一个链接器所生成的输出文件名)Options:(要求附加一个链接选:(要求附加一个链接选项)项)在命令行中指定选项和文件名:在命令行中指定选项和文

28、件名:目标文件:目标文件: a.obja.obj、b.obj b.obj 命令选项:命令选项: -o-o输出文件:输出文件: link.outlink.outlinker.cmd: linker.cmd: 链接命令文件。链接命令文件。 在执行上述命令之前,需将链在执行上述命令之前,需将链接的目标文件、链接命令选项以及接的目标文件、链接命令选项以及存储器配置要求等编写到链接命令存储器配置要求等编写到链接命令文件文件linker.cmdlinker.cmd中中例,链接器命令文件举例。例,链接器命令文件举例。 将两个目标文件a.obj和b.obj进行链接,生成一个映像文件prog.map和一个可执行

29、的输出文件prog.out。a.obj /* 第一个输入文件 */b.obj /*第二个输入文件*/o prog.out /* 产生.out文件选项 */m prog.map /*产生.map文件选项 */2.链接命令选项链接命令选项 选选 项项含含 义义-a-a生成一个绝对地址的、可执行的输出模块。如果既不用生成一个绝对地址的、可执行的输出模块。如果既不用-a选项,也选项,也不用不用-r选项,链接器就像规定选项,链接器就像规定-a选项那样处理。选项那样处理。-ar-ar生成一个可重新定位、可执行的目标模块。这里采用了生成一个可重新定位、可执行的目标模块。这里采用了-a和和-r两个选两个选项项

30、(可以分开写成可以分开写成-a -r,也可以连在一起,也可以连在一起 写作写作-ar),与,与-a选项相比,选项相比,-ar选项还在输出文件中保留有重新定位信息。选项还在输出文件中保留有重新定位信息。-c-c使用使用TMS320C55x C/C+编译器的编译器的ROM自动初始化模型所定义的链自动初始化模型所定义的链接约定接约定-cr-cr使用使用TMS320C55x C/C+编译器的编译器的RAM自动初始化模型所定义的链自动初始化模型所定义的链接约定接约定-e -e global_symboglobal_symbol l定义一个全局符号,该符号指定输出模块的入口地址定义一个全局符号,该符号指定

31、输出模块的入口地址-f fill_vale-f fill_vale对输出模块各段之间的空单元设置一个对输出模块各段之间的空单元设置一个16位数值位数值(fill_value),如果不如果不用用-f选项,则这些空单元都置选项,则这些空单元都置0。 -h-h使所有全局符号均为静态的使所有全局符号均为静态的选选 项项含含 义义-help 或?或?显示链接器所有命令行选项列表显示链接器所有命令行选项列表heap size设置存储器设置存储器heap块的大小(用于块的大小(用于C/C+程序中动态存储器程序中动态存储器分配),缺省值为分配),缺省值为2000字节字节-i dir更改搜索文档库算法,先到更改

32、搜索文档库算法,先到dir(目录)中搜索。此选项(目录)中搜索。此选项必须出现在必须出现在-l选项之前。选项之前。 -l filename命名一个文档库文件作为链接器的输入文件;命名一个文档库文件作为链接器的输入文件;filename为为文档库的某个文件名。此选项必须出现在文档库的某个文件名。此选项必须出现在-i选项之后。选项之后。 -m filename生成一个生成一个.map映像文件,映像文件,filename是映像文件的文件是映像文件的文件名。名。.map文件中说明存储器配置、输入、输出段布局文件中说明存储器配置、输入、输出段布局以及外部符号重定位之后的地址等。以及外部符号重定位之后的地

33、址等。 -o filename 对可执行输出模块命名。如果默认,则此文件名为对可执行输出模块命名。如果默认,则此文件名为a.out。 -r生成一个可重新定位的输出模块。当利用生成一个可重新定位的输出模块。当利用-r选项且不用选项且不用 -a选项时,链接器生成一个不可执行的文件。选项时,链接器生成一个不可执行的文件。 stack size设置主堆栈大小,缺省值为设置主堆栈大小,缺省值为1000字节字节sysstack size设置次级堆栈大小,缺省值为设置次级堆栈大小,缺省值为1000字节字节l在链接时,连接器通过链接命令选项控制链接操作。l链接命令选项可以放在命令行或命令文件中,所有选项前面必

34、须加一短划线“-”。l除-l和-i选项外,其他选项的先后顺序并不重要。l选项之间可以用空格分开。l最常用选项为-m和-o,分别表示输出的地址分配表映像文件名和输出可执行文件名。4.4.3 链接器命令文件的编写与使用链接器命令文件的编写与使用l链接命令文件用来为链接器提供链接信息,可将链接操作所需的信息放在一个文件中,这在多次使用同样的链接信息时,可以方便地调用l在链接命令文件中,可使用MEMORY和SECTIONS伪指令,为实际应用指定存储器结构和地址的映射uMEMORY:用来指定目标存储器结构uSECTIONS:用来控制段的构成与地址分配 l链接命令文件为ASC文件,可包含以下内容:u输入文

35、件名,用来指定目标文件、存档库或其他命令文件u链接器选项,它们在命令文件中的使用方法与在命令行中相同u链接伪指令MEMORY和SECTIONS,用来指定目标存储器结构和地址分配u赋值说明,用于给全局符号定义和赋值4.4.4 MEMORY指令指令MEMORY PAGE 0: name_1(attr):origin=constant,length=constant; PAGE n: name_n(attr):origin=constant,length=constant;PAGE:u 用于识别一个存储空间,可以使用于识别一个存储空间,可以使用多达用多达255个页,具体决定于配置个页,具体决定于配置

36、情况。情况。u 通常页通常页0对应程序存储空间,页对应程序存储空间,页1对应存储器空间。对应存储器空间。u每个页面表现为一个完全独立的每个页面表现为一个完全独立的地址空间。地址空间。u页页0上的已配置空间和页上的已配置空间和页1上的已上的已配置空间可以交叠。配置空间可以交叠。Name:u命名一个存储空间范围。命名一个存储空间范围。u名字可以是一到任意个字符,合名字可以是一到任意个字符,合法字符包括大小写法字符包括大小写26个字母、个字母、$和和_。u存储空间名字仅对链接器有用,存储空间名字仅对链接器有用,在输出文件或者符号里不再保留。在输出文件或者符号里不再保留。u在不同页的存储空间范围可以有

37、在不同页的存储空间范围可以有相同的名字,但在一页内不允许不相同的名字,但在一页内不允许不同空间段有相同名字和交叠。同空间段有相同名字和交叠。Attr:u 指定与命名的存储空间范围相联系的指定与命名的存储空间范围相联系的14个属性,使用时必须放在小括号里。个属性,使用时必须放在小括号里。u 属性限制输出段在存储空间的分配。属性限制输出段在存储空间的分配。如果不使用任何属性,可以把输出段分如果不使用任何属性,可以把输出段分配到任何存储空间范围配到任何存储空间范围u合法的属性包括:合法的属性包括: R:表示该存储空间可读:表示该存储空间可读 W:表示该存储空间可写:表示该存储空间可写 X:表示该存储

38、空间可以包:表示该存储空间可以包含可执行代码含可执行代码 I:表示该存储空间可以初始:表示该存储空间可以初始化化Origin:u 指定存储段的开始地址。指定存储段的开始地址。u 值为值为24位常数,可以是十进位常数,可以是十进制、八进制或十六进制,单位制、八进制或十六进制,单位为字节,也可以写为为字节,也可以写为org或者或者oLengthLength:u 指定存储段的长度指定存储段的长度u 值为值为2424位常数,可以是十进位常数,可以是十进制、八进制或者十六进制,单制、八进制或者十六进制,单位为字节,也可以写位为字节,也可以写lenlen或者或者llFillFill:u 指定存储段的填充字

39、符,为可选参数。指定存储段的填充字符,为可选参数。u 值为值为2 2字节整型数,可以是十进制、八进字节整型数,可以是十进制、八进制或十六进制。制或十六进制。u 填充值用来填充没有分配程序段的存储填充值用来填充没有分配程序段的存储空间,也可以写为空间,也可以写为f f。4.4.5 SECTIONS指令指令SECTIONS name_1:property, property, property name_2:property, property, property name_3:property, property, property 以以name开始的一行定义了一个输出段。段名开始的一行定义了一

40、个输出段。段名name后是属性列表,这些属性定义了段的内容后是属性列表,这些属性定义了段的内容和段如何分配到存储器。和段如何分配到存储器。 l 一个段可能的属性包括:一个段可能的属性包括:uLoad allocation 定义在存储器中段被装载的位置:定义在存储器中段被装载的位置: load=allocation 或或 allocation 或或 allocationuRun allocation 定义在存储器中段运行的位置:定义在存储器中段运行的位置: run=allocation 或或run allocationuInput sections 定义组成输出段的输入段:定义组成输出段的输入段

41、: 句法为句法为 input_sectionsuSection type定义特殊种类段的标志:定义特殊种类段的标志: 句法为句法为 type=COPY 或或 type=DSECT 或或 type=NOLOADuFill value定义用来填充未初始化空间的值:定义用来填充未初始化空间的值: 句法为句法为fill=value或或Name:=value例,链接器的使用。例,链接器的使用。a.obj b.obj /*输入文件 */-o prog.out /* 用-o参数指定输出文件名 */SECTIONS .text: load =ROM, run=800h .const: load=ROM .bs

42、s : load=RAM .vectors: load=FF80h .data: align = 16图图4-5 段在存储器里的分配段在存储器里的分配RAM.bss.dataROM.text.const.vectors00hFF80h分配到RAM边界对齐在16字节的整倍数以0FF80h为边界分配到ROM分配到ROMC55x的内存组织的内存组织(1):RAM600000外部扩展存储空间外部扩展存储空间(CE3)C0000016K异步存储器异步存储器4M同步存储器同步存储器未用未用400400保留保留400208串口寄存器组串口寄存器组400200保留保留400004评估板寄存器组评估板寄存器组4

43、00000外部扩展存储空间外部扩展存储空间(CE2)80000016K异步存储器异步存储器4M同步存储器同步存储器512K*16位位Flash或2M*16SDRAM(分页访问分页访问)200000外部扩展存储空间外部扩展存储空间(CE1)40000016K异步存储器异步存储器4M同步存储器同步存储器2M*16SDRAM002000外部扩展存储空间外部扩展存储空间(CE0)04000016K异步存储器异步存储器4M-256K同步存储器同步存储器008000SARAM010000192K004000DARAM00800032KDARAM /HPI 访问访问0000C032K-192存储器映射寄存器

44、(存储器映射寄存器(MMR)(保留保留)000000192片外扩展片外扩展字地址字地址存储器块存储器块字节地址字节地址块大小字节块大小字节C55x的内存组织的内存组织(2):ROMFFFFFF外部扩展存储空间外部扩展存储空间(CE3)当当MPNMC=1时有效时有效SROM 当当 MPNMC=0SROM=0时有效时有效FFC00016K外部扩展存储空间外部扩展存储空间(CE3)当当MPNMC=1时有效时有效ROM 当当MPNMC=0时有效时有效FF800016K外部扩展存储空间外部扩展存储空间(CE3)当当MPNMC=1时有效时有效ROM 当当MPNMC=0时有效时有效FF000032KC55x

45、的内存组织的内存组织:SDRAMHSDRAM共有4M16位H译码在CE0和CE1空间 CE0空间任意时刻都可访问 CE1空间必须先配置才可访问字地址字地址存储器存储器存储器类型存储器类型大小大小020000-1FFFFFCE0SDRAM(2M -256K)16Bit200000-3FFFFFCE1Flash或或SDRAM配置,缺省配置,缺省为为Flash2M16BitC55x的内存组织:FlashHFlash共有512K16位H译码在CE1空间 共有12根地址线 每次可以访问4K空间 利用寄存器切换 与SDRAM共享这个空间,不能同时访问CE1200000-200FFFFFlash512K16

46、200000-3FFFFFSDRAM2M16PAGE0 PAGE1 PAGE2高位地址高位地址AB18:13C55x的内存组织:扩展控制寄存器地址(字地址)地址(字地址)CE2名称名称400001LED显示寄存器显示寄存器400002SWR拨码开关寄存器拨码开关寄存器400003GPIOERGPIO控制寄存器控制寄存器400004FLASHOECE1配置寄存器配置寄存器400200-400207UART 10 reg串口寄存器串口寄存器400800-400802DA 3 regDA寄存器寄存器C55x的内存组织:控制板寄存器地址地址CE3说明说明0 x600800 CTRSTATUS全局控制寄

47、存器全局控制寄存器0 x600802 CTRLED指示灯控制寄存器指示灯控制寄存器0 x602802 MCTRKEY键盘接收寄存器键盘接收寄存器0 x600803 CTRCLKEY键盘清除寄存器键盘清除寄存器0 x602800 LCDCOMMAND液晶屏幕指令寄存器液晶屏幕指令寄存器0 x600801 LCDDATA液晶屏幕参数寄存器液晶屏幕参数寄存器0 x600800 LCDSTATUS液晶屏幕状态字寄存器液晶屏幕状态字寄存器0 x602801 PIDSPEED电机速度回读寄存器电机速度回读寄存器-w-stack 500-sysstack 500-l rts55x.libMEMORY DAR

48、AM:o=0 x100,l=0 x7f00 VECT : o=0 x8000,l=0 x100 DARAM2: o=0 x8100,l=0 x7f00 SARAM: o=0 x10000,l=0 x30000 SDRAM:o=0 x40000,l=0 x3e0000ICEYECKvc5509Cmd文件文件SECTIONS .text: DARAM .vectors: VECT .trcinit: DARAM .gblinit: DARAM frt: DARAM .cinit: DARAM .pinit: DARAM .sysinit: DARAM .bss: DARAM2 .far: DARA

49、M2 .const: DARAM2 .switch: DARAM2 .sysmem: DARAM2 .cio: DARAM2 .MEM$obj: DARAM2 .sysheap: DARAM2 .sysstack DARAM2 .stack: DARAM2 4.5 VC5509实验箱简介H本套本套DSP系统,为系统,为DSP教学和科研提供了一套教学和科研提供了一套整体解决方案。本套系统最大的特点就是模块整体解决方案。本套系统最大的特点就是模块化设计,既满足了目前教学的需要,又为将来化设计,既满足了目前教学的需要,又为将来产品的升级换代,做了技术上的考虑。同时这产品的升级换代,做了技术上的考虑。

50、同时这种模块化的设计可以应用到多个方面,比如:种模块化的设计可以应用到多个方面,比如:H本科的本科的DSP的实验教学;的实验教学;H基于基于DSP应用的课程设计;应用的课程设计;H基于基于DSP用于图象,语音,网络的毕业设计;用于图象,语音,网络的毕业设计;H基于基于DSP的研究生嵌入式系统的开发;的研究生嵌入式系统的开发; ICETEK DSP教学实验箱的特点和指标 实验箱部分:实验箱部分:H两个独立的信号发生器,可同时提供两种波形、四路输出;信号的波两个独立的信号发生器,可同时提供两种波形、四路输出;信号的波形、频率、幅度可调。形、频率、幅度可调。H- 频率微调:在每个频率段范围内进行频率

51、调整。频率微调:在每个频率段范围内进行频率调整。H- 波形切换:提供波形切换:提供4种波形种波形(方波,三角波,正弦波,白噪声方波,三角波,正弦波,白噪声),可通过,可通过拨动开关进行选择。拨动开关进行选择。H- 幅值微调:幅值微调:03.3V平滑调整。平滑调整。H- 信号接插孔:信号接插孔:4路路A/D输入输入(ADCIN0-3),4路路D/A输出(输出(DACOUT1-4),每路均提供信号和地。),每路均提供信号和地。H多种直流电源输出。多种直流电源输出。+5V(5A),+12V(1A),-12V(0.5A),地。,地。H底板提供插座,可使用插座完成底板提供插座,可使用插座完成DSP评估板

52、上的评估板上的A/D信号输入和信号输入和D/A输出。输出。H测试模块:提供测试模块:提供18个测试点,可以测量个测试点,可以测量PWM输出、输出、AD输入和输入和DA输输出波形。出波形。H双信号发生器设计,更加贴近双信号发生器设计,更加贴近DSP的实际应用,许多实际的情况都是的实际应用,许多实际的情况都是需要对两个信号进行相关分析。需要对两个信号进行相关分析。 通用通用DSP开发系统部分:开发系统部分:HUSB2.0接口开发系统,支持接口开发系统,支持C2000/VC33/C5000/C6000的开发应用。的开发应用。H支持支持CCS。H通用开发系统和DSP控制板分离,有利于将来DSP的升级。

53、同时,也可以脱离实验箱单独从事科研开发使用。DSP主处理板部分:主处理板部分:H支持支持:ICETEK-F2812-A板、ICETEK-VC5509-A板、ICETEK-VC5416-A 板、ICETEK-VC33-AR板、ICETEK-C6713-A板、ICETEK-LF2407-A板等。 通用控制模块部分:通用控制模块部分:H显示输出:H- 液晶显示(LCD):12864点阵图形显示屏,可调整显示对比度。H- 发光二极管显示阵列:88点阵。H- 发光二极管。H音频输出:可由DSP I/O脚控制的蜂鸣器;D/A输出提供音频插座,可直接接插耳机。H键盘:17键数字键盘(标准PS2接口)。H步进

54、电机:四相步进电机,步距角5.625,起动频率300PPS,运行频率900PPS,可由DSP I/O端口控制旋转和方向、速度。H直流电机:空载转速3050转/分,输出功率1.35W,启动力矩21.3N,可以接收DSP输出的PWM控制信号,实现电机的转速和方向控制。H拨动开关(DIP):4路,可实现复位和设置DSP应用板参数。音频插座J8立体声输出J7耳机输出J6立体声输入J5麦克风输入5V电源插座JTAG仿真插口头P1扩展插座P4扩展插座P2扩展插座P3扩展插座将DIP开关的状态存储在指示灯状态上标准RS- 232接口插座U4:四路用户可控状态开关U5:六路拨动开关输入标准USB插座D1-D4

55、用户可控指示灯复位按钮VC5509实验箱的基本结构和连接信号源信号源实验箱控制板实验箱控制板ICETEK-VC5509-A仿真器仿真器JTAGAEMIFGPIO语音输入语音输入输出输出模拟信号源模拟信号源VC5509A板的硬件资源HTMS320VC5509A处理器,处理器,400MIPSH片内存贮空间片内存贮空间128K16Bit;H大容量大容量SDRAM设计:设计:4M16Bit;H2路路10bit片上片上A/D接口;接口;H4路的路的DAC7616/7转换,转换,100K/S,12Bit;HUART串行接口,符合串行接口,符合RS232标准标准H8M bit扩展扩展FLASH,可存储程序和

56、数,可存储程序和数据;据;H设计有用户可以自定义的开关和测试设计有用户可以自定义的开关和测试指示灯指示灯H4组标准扩展连接器,可进行二次开组标准扩展连接器,可进行二次开发发H具有具有IEEE1149.1相兼容的逻辑扫描电相兼容的逻辑扫描电路,该电路用于测试和仿真;路,该电路用于测试和仿真;H+5V电源输入,内部电源输入,内部+3.3V、+1.6V电电源管理;源管理;H高保真语音接口设计,双路语音采集,高保真语音接口设计,双路语音采集,每路每路48K/S;HUSB 2.0接口设计接口设计H自启动功能设计,可以实现脱机工作自启动功能设计,可以实现脱机工作TMS320VC5509APGEJTAGPORT 片上资源:主频:400MIPS,双核A/D RAM:128K*16bitROM:32K*16bitUSBMcBSPDSP总线SDRAM:4M*16bitFLASH:8Mbit扩展DSP引脚: P1,P2,P3,P4D/A:4路,12bitCPLDLED数据地址控制I/OAIC23TL16C550RS2322路音频信号输入2路音频信号输出JTAG2路,10bitUSB(USB板)电源管理:TPS767D301寄存器组发光管拨档开关全局变量VC5509A板的硬件资源:5509AH电源:电源:TPS767D301 分别为分别为DSP的内核的内核

温馨提示

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

评论

0/150

提交评论