第4章 MS320C54x软件开发1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 TMS320C54x软件开发 4.1 软件开发过程及开发工具 4.2 公共目标文件COFF的一般概念 4.3 常用汇编伪指令 4.4 链接器命令文件的编写与使用 4.5 汇编语言程序编写方法 4.1 软件开发过程及开发工具 1.建立源程序 2.C编译器(C Compiler) 3.汇编器(Assembler) 4.连接器(Linker) 5.调试工具 6.十六进制转换公用程序(Hex Conversion Utility) 4.2 公共目标文件COFF的一般概念 段(sections)是COFF文件中最重要的概念。一个段就是最终在存储器映象中占据连续空间的一个数据或代码块。目标文件中的每一个段都是相互独立的。一般地,COFF目标文件包含3个缺省的段:text段、data段、bss段。 段可以分为已初始化段和未初始化段。如图5-2所示为目标文件中的段与目标系统中存储器的关系。 段定义伪指令 为便于链接器将程序、数据分段定位于指定的(物理存在的)存储器空间,并将不同的obj文件链接起来。段的使用非常灵活,但常用以下约定: 未初始化段 .bss — 此段存入未初始化的变量。 .usect — 未初始化,有命名, 为变量保留空间 初始化段 .data — 此段存放初始化了的数据。 .text — 此段存放程序代码。 .sect ‘名称’ — 定义一个有名段,放初始化了的数据或程序代码。 1. 未初始化段 (1) .bss 符号, 字数 (2) .usect “段名”,字数 2. 已初始化段 (1) .text [段起点] — 此段存放程序代码。 (2) .data [段起点] — 此段存放初始化了的数据。 (3) .sect “段名” [,段起点] — 定义一个有名段,放初始化了的数据或程序代码。 段命令应用举例 段命令应用举例 2 0000 .data 3 0000 0044 coeff .word 044h,055h,088h 0001 0055 0002 0088 4 0000 .bss buffer, 8 5 0003 0456 prt .word 0456h 6 0000 .text 7 0000 100d add: LD 0Dh, A 8 0001 f010 aloop: SUB #1 , A 0002 0001 9 0003 f842 BC aloop, AGEQ 0004 0001’ 段程序计数器(SPC) 汇编器为每个段安排一个独立的程序计数器,即段程序计数器(SPC)。SPC表示一个程序代码段或数据段内的当前地址。开始时,汇编器将每个SPC置0,当汇编器将程序代码或数据加到一个段内时,相应的SPC增加。如果汇编器再次遇到相同段名的段,继续汇编至相应的段,且相应的SPC在先前的基础上继续增加。 链接器对段的处理有两个功能。首先,它将汇编器产生的COFF目标文件(.obj文件)中的各种段作为输入段,当有多个文件进行链接时,它将输入段组合起来,在可执行的COFF输出模块中建立各个输出段。其次,链接器为输出段选择存储器地址。 4.3 常用汇编伪指令 宏定义和宏调用 TMS320C54x汇编支持宏语言。如果程序中需要多次执行某段程序,可以把这段程序定义(宏定义)为一个宏,然后在需要重复执行这段程序的地方调用这条宏。 宏定义如下: Macname .macro[parameter 1][,…,parameter n] …… [.mexit] .endm 宏定义例子: Add3 .macro P1,P2,P3,ADDRP LD *(P1),A ADD *(P2), A ADD *(P3), A STL A,*(ADDRP) 宏调用例子 : .bss y,1 .bss a1,1 .bss a2,1 .bss a3,1 Add3 a1,a2,a3,y 4.4 链接器命令文件的编写与使用 4.4.1 MEMORY伪指令及其使用 4.4.2 SECTIONS伪指令及其使用 链接器的主要作用是根据链接命令或者命令文件(*.cmd),将一个或者多个COFF文件链接起来,

文档评论(0)

cj80011 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档