MDK 分散加载文件分析

本文介绍了Realview MDK在链接程序时的两种方式,包括链接控制命令选项和链接脚本文件*.sct。链接脚本文件允许更精确地指定代码段和数据段的存储布局,取代了链接控制命令选项中的段地址描述符。通过分散加载文件(.sct),可以自定义加载和执行区域,并提供了不同示例来说明如何使用链接脚本进行段分配和地址计算。
摘要由CSDN通过智能技术生成


 

1.1      Realview MDK链接程序的两种方式


使用RealviewMDK时不可避免的要涉及到链接脚本文件,特别是编译链接那些大的工程文件时更是如此。在链接脚本中可以指定代码的存储布局,可以将代码段、只读数据段、可读写的数据段分别存放,甚至可以精确地指定代码放置的位置,这一点是很关键的,譬如说启动代码就必须放在可执行文件的开始位置。由于链接脚本重要性,开发者必须掌握其编写的方法。

Realview MDK链接程序使用了两种方式控制程序的链接

1.1.1    链接控制命令选项


当使用链接控制命令选项时,链接器定义了12个段地址描述符, 这12个描述符可以直接在程序中引用.

Image$$ 执行区符号
符号说明
Image$$region_name$$Base 区的执行地址。
Image$$region_name$$Length 执行区长度(以字节为单位),不包括 ZI 长度。
Image$$region_name$$Limit 执行区中非 ZI 部分末尾后面的字节的地址。
Image$$region_name$$RO$$Base 此区中的 RO 输出节的执行地址。
Image$$region_name$$RO$$Length RO输出节的长度(以字节为单位)。
Image$$region_name$$RO$$Limit 执行区中 RO 输出节末尾后面的字节的地址。
Image$$region_name$$RW$$Base 此区中的 RW 输出节的执行地址。
Image$$region_name$$RW$$Length RW 输出节的长度(以字节为单位)。

Image$$region_name$$RW$$Limit 执行区中 RW 输出节末尾后面的字节的地址。

Image$$region_name$$ZI$$Base 此区中的 ZI 输出节的执行地址。
Image$$region_name$$ZI$$Length ZI 输出节的长度(以字节为单位)。
Image$$region_name$$ZI$$Limit 执行区中 ZI 输出节末尾后面的字节的地址。


它的RW长度计算:Length = (Image$$RW$$Limit-Image$$RW$$Base)

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0206ic/Chdcgbjd.html

1.1.1    链接脚本文件*.sct


  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值