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

软件开发的目的,就是要产生一个可以由C54x目标系统执行的模块。 然后,可以用软件仿真器(Simulator)或可扩展开发系统硬件仿真器(XDS510)或评价模块(EVM)工具来修正或改进程序。 .text 段,此段通常包含可执行代码; .data 段,此段通常包含初始化数据; .bss 段,此段通常为未初始化变量保留存储空间 段的构成要经过一个反复过程。例如:当汇编器第一次遇到.data命令时,这个.data段是空的。接着将紧跟其后的语句汇编到.data段,直到汇编器遇到一条.text或.sect命令。 如果汇编器再遇到一个.data段,它就将紧跟这条命令的语句汇编后加到已经存在的.data中。这样,就建立了单一的.data段,段内数据都是连续地安排到存储器中的。 汇编器为每个段都安排了一个单独的程序计数器,即段程序计数器(SPC) 下例列出的是一个汇编语言程序经汇编后的.lst文件 在连接过程中,连接器将各个目标文件合并起来,将各个文件的各个段配置到目标系统的存储器中; 对各个符号和段进行重定位,并给它们指定一个最终的地址;解决输入文件之间未定义的外部引用。 在连接时,一般通过连接器选项控制连接操作,在选项前,必须加一短划”-”。下面为常用的C54x连接器选项。 例如: -a:生成一个绝对地址的、可执行的输出模块。 SECTIONS { .text: /* 建立 .text 输出段 */ { f1.obj(.text)/* 链接源于f1.obj的.text段*/ f2.obj(sec1) /*链接源于f2.obj的sec1段*/ f3.obj /*链接源于f3.obj的所有段*/ f4.obj(.text,sec2)/*链接源于f4.obj的.text 段和sec2段 */ } } 用文件名和段名来明确地规定输入段 如果没有利用MEMORY和SECTIONS命令,链接器就按默认算法来定位输出段: MEMORY { PAGE 0: PROG: origin=0x0080, length=0xFF00 PAGE 1: DATA: origin=0x0080, length=0xFF80 } SECTIONS { .text: PAGE=0 .data: PAGE=0 .cinit: PAGE=0 .bss: PAGE=1 } (3) MEMORY和SECTIONS命令的默认算法 所有的.text输入段,链接成一个.text输出段,它是可执行的输出文件; 所有的.data输入段组合成.data输出段 所有的.bss输入段则组合成一个.bss输出段 .text和.data段定位到配置为PAGE 0上的存储器,即程序存储空间。 6.多个文件的链接 例4-8 编写复位向量文件vextors.asm。 * * * * * * * * * * * * * * * * * * * * * * * * Reset vector for example.asm * * * * * * * * * * * * * * * * * * * * * * * * .title “vectors.asm” .ref _c_int00 .sect “.vectors” B _c_int00 .end 引用example.asm中.def _c_int00定义的标号 编写example.asm见例4-1。 假设目标存储器的配置如下: 程序存储器: EPROM E000h~FFFFh(片外) 数据存储器: SPRAM 0060h~007Fh(片内) DARAM 0080h~017Fh(片内) 例4-9 根据例4-1和例4-8编写链接器命令文件example.cmd。 vectors.obj example.obj -o example.out -m example.map -e _c_int00 /*软件仿真器的入口地址*/ 生成一个映象文件example.map 生成可执行的输出文件example.out 汇编生成目标文件example.obj和vectors.obj MWMORY { PAGE 0: EPROM: org=0E000h, len=100h VECS: org=0FF80h, len=04h PAGE 1: SPRAM: org=0060h, len

文档评论(0)

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

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

1亿VIP精品文档

相关文档