轻松学会DSP——第4章 TMS320C54x软件开发.ppt

轻松学会DSP——第4章 TMS320C54x软件开发.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
轻松学会DSP——第4章 TMS320C54x软件开发.ppt

第四章 DSP软件开发 DSP软件开发流程 编译工具及其使用 汇编语言格式 一、 DSP软件开发流程 1.建立源程序 2.C编译器(C Compiler) 3.汇编器(Assembler) 4.连接器(Linker) 5.调试工具 6.十六进制转换公用程序(Hex Conversion Utility) 我们调试一个程序,首先要编辑一个源文件,这个源文件可以是汇编语言,其后缀名为.asm ,也可以是C语言,其后缀名为.C 。 汇编语言的指令集有两种,助记符指令集(Mnemonic Instruction Set)代数指令集(Algebraic Instruction Set)。 C语言则符合标准C、C++格式。 编辑好汇编语言源文件后,我们需要对这个文件进行“汇编”,从而生成一个.obj后缀的中间文件。 之后,通过一个“链接”动作,把.obj文件生成一个DSP可以执行的文件,后缀为.out。链接的作用是分配执行文件代码在DSP内部程序空间的和数据空间的位置。这些分配,通过一个后缀为.cmd的文件告诉链接命令。 最后,将调试成功的.out代码通过十六进制转换程序转化为可固化在可擦写存储器中,实现DSP自动脱机运行。 二、编译工具及其使用 (一)、编译工具 C编译器 汇编器 归档器 连接器 1 、汇编器 asm500 [ input file [ object file [ listing file] ] ] [ -options] input file: 汇编源文件名,缺省后缀为.asm; object file: 编译输出的OBJ文件名,缺省后缀为.obj; listing file: 产生的列表文件名,缺省后缀为.lst; options: 编译器使用的各种选择。 -c:若使用该选项,编译器忽略字母的大小写。例如abc与ABC是一样的。系统缺省为区分大小写。 -i:设置搜索路径。通知编译器在指定的搜索路径中去查找.copy,.include中的文件。用法举例:-ic:\c54x。 -l: (小写的L)在编译时产生列表文件,缺省后缀为.lst -mg: 汇编源程序使用代数指令集 或在源代码中使用 -s:将所有的符号都放入符号表。若不使用该选项,编译器仅将全局变量放入符号表 -v: 指定版本。特别是需要使用BOOTLOADER时,应加-v548开关 编译指令执行和参数设置,也可在CCS中进行。 2 、归档器 Ar500 [-]command[option]libname[filename] Command: 指示归档器行为 a:加入某文件到库文件中 d:从库文件中删除文件 r:替换库文件中某变量 x:抽取库文件中某变量 归档器 Option:归档器工作 -q :不显示状态栏及相关信息; -s :打印全局变量; Libname: 库文件名 Filename:目标文件 Ar500 -a function sine.obj cos.obj flt.obj 3 、连接器 lnk500 [ -options] filename 1 . ... filename n -e global_symbol:定义程序的进入点; -c:使用C编译器的ROM初始化模式; -cr:使用C编译器的RAM初始化模式; -i dir:指定库文件的路径; -l filename:指定连接时使用的库文件名; -m filename:生成map文件; -o filename:指定生成的out文件名。系统缺省为a.out. 连接器 文件也可以在命令文件中设置,通常使用系统默认值,即不需设置; 选项可以在命令文件中设置,效果一样; 具体执行也是在CCS中; LNK500生成的OUT文件不是纯二进制代码文件,而是包含代码、符号表、代码定位信息的复合文件 通过查看MAP文件可以获得变量、子程序等符号的具体地址。注意:MAP文件只列出全局变量的地址。(用.global说明的符号) (二)、公共目标文件格式 段的概念 汇编器对段的处理 链接器对段的处理 …. 1 COFF文件的基本单元——段 段(sections)是COFF文件中最重要的概念。一个段就是最终在存储器映象中占据连续空间的一个数据或代码块。目标文件中的每一个段都是相互独立的。一般地,COFF目标文件包含3个缺省的段:text段、data段、bss段。 段可以分为两大类,即已初始化段和未初始化段。如图1 所示为目标文件中的段与目标系统中存储器的关系。 2 汇编器对段的处理 2.1 未初始化段 未初始化段主要用来在存储器中保留空间,通常将它们定位到R

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档