DSP系统实验05-链接器命令文件.ppt

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

链接器命令文件?链接器 1 链接器 链接器链接COFF目标文件生成可执行的COFF文件 把段定位到目标系统的存储器中 重定位符号和段,为它们分配最终的地址 在输出文件之间解决未定义的外部引用 调用链接器的一般格式 lnk2000 [options] filename1,…,[filename] lnk2000 command_filename 链接器命令文件?链接器命令文件 2 链接器命令文件(cmd文件) 2.1 概述 2.2 MEMORY伪指令 2.3 SECTIONS伪指令 2.4 SECTIONS伪指令的属性 2.5 链接C代码 链接器命令文件?链接器命令文件?概述 2.1 概述 链接器命令文件允许用户把链接信息放在一个文件中,这在经常用相同的信息调用链接器时是非常有用的 链接器命令文件允许使用MEMORY和SECTIONS伪指令定制用户应用,这两个伪指令只能在命令文件中使用,不能在命令行中使用 链接器命令文件?链接器命令文件?概述 链接器命令文件是文本文件(ASCII文件),它包含下列各项中的一项或多项 输入文件名:用来指定目标文件、库或其它命令文件(如果一个命令文件调用其它的命令文件作为输入,则这条语句必须在调用文件的最后,链接器不会从被调用的命令文件中返回) 链接器选项:在命令文件中的使用方法和命令行中的使用方法相同 MEMORY和SECTIONS伪指令:MEMORY伪指令定义目标系统的存储器配置,SECTIONS伪指令控制如何建立和分配段 赋值语句:定义和赋值给全局变量 链接器命令文件?链接器命令文件?概述 例 链接器命令文件?链接器命令文件?概述 保留字 链接器命令文件?链接器命令文件?MEMORY伪指令 2.2 MEMORY伪指令 定义目标系统的存储器配置 系统包含的存储器类型和它们占用的地址范围 链接器分配输出段时保持这种配置,并决定存储器的哪些单元可被目标代码所用。 如果用户没有使用MEMORY 伪指令,链接器根据DSP处理器的体系选择默认的存储器配置 链接器命令文件?链接器命令文件?MEMORY伪指令 MEMORY伪指令格式 链接器命令文件?链接器命令文件?MEMORY伪指令 PAGE n 标识存储器页,可选项 用户最多可指定32767页 PAGE 0 规定程序存储器,PAGE 1 规定数据存储器 如果没有指定PAGE选项,链接器使用PAGE 0 每个PAGE代表一个完全独立的地址空间 name 存储器名 存储器名用于识别存储器 同一PAGE的存储器名不能相同 链接器命令文件?链接器命令文件?MEMORY伪指令 attr 存储器属性,可选项 R 存储器可读 W 存储器可写 X 存储器包含可执行代码 I 存储器可以初始化 存储器属性是可选的,4个属性可以任意组合,使用时必须放在圆括号里面 没有规定属性的存储器具有全部的4个属性 链接器命令文件?链接器命令文件?MEMORY伪指令 origin 存储器区域的起始地址 可以输入origin、org或o constant是十进制、八进制或十六进制的常数 length 存储器区域的长度 可以输入length、len或l constant是十进制、八进制或十六进制的常数 fill 存储器区域的填充字符,可选项 可以输入fill或f constant是十进制、八进制或十六进制的常数 链接器命令文件?链接器命令文件?MEMORY伪指令 例 链接器命令文件?链接器命令文件?SECTIONS伪指令 2.3 SECTIONS伪指令 SECTIONS伪指令格式 链接器命令文件?链接器命令文件?SECTIONS伪指令的属性 2.4 SECTIONS伪指令的属性 装载位置 定义将段装入存储器内何处 运行位置 定义段在存储器内何处运行 输入段 定义构成输出段的输入段 填充值 定义用来填充未初始化的空位值 链接器命令文件?链接器命令文件?SECTIONS伪指令的属性 地址分配 链接器为每一个输出段在目标存储器中分配两个地址 一个是段的装载地址 一个是段的运行地址 通常情况下,它们是同一个地址,可以认为每个输出段只有一个地址 为输出段分配地址的过程称为地址分配 如果没有定义如何为输出段分配地址,链接器将使用默认的算法为输出段分配地址 通过指定一个或多个参数可以控制地址分配 链接器命令文件?链接器命令文件?SECTIONS伪指令的属性 地址分配 绑定(Binding):把段分配在指定的地址 链接器命令文件?链接器命令文件?SECTIONS伪指令的属性 地址分配 调整(对齐)Align:把一个输出段放在一个地址的边界开始,这个地址落在n(n为2的幂次数)个字的边界上 多个参数组合,绑定不能与其它参数组合 链接器命令文件

文档评论(0)

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

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

1亿VIP精品文档

相关文档