链接命令文件(*.cmd)和gel文件的介绍

一个完整的DSP程序至少包含三个部分:程序代码、中断向量表、链接命令文件(或称链接配置文件)(*.cmd)。

链接配置文件确定了程序链接成最终可执行代码时的选项,其中有很多条目,实现不同方面的选项,其中最常用的也是必须的有两条:1.存贮器的分配;2.标明程序入口。如:

 

-e CodeStart

MEMORY {

page 0:    PRAM: org="0100h" len="0F00h"

 

}

SECTIONS{

.text:>PRAM page 0

 

}

 

由于每个程序都需要一个链接配置文件,可以编写一个满足通常需要的链接配置文件。一个比较通用的链接配置文件:

 

-e CodeStart

-m map.map   

MEMORY {

PAGE 0:    VECT: org=0080h len="0080h"

PARAM:     org="100h" len="0F00h"

PAGE 1:    DARAM: org="1000h" len="1000h"

}

SECTIONS {

.text :> PARAM PAGE 0

.vectors :> VECT PAGE 0

stack :> DARAM PAGE 1

.bss :> DARAM PAGE 1

.data :> DARAM PAGE 1

}

 

    MEMORY伪指令在命令文件中的书写方式为:以大写MEMORY开始,后面跟着由大括号括起来的一系列存储器范围说明。每一个存储器区间具有一个名称、起始地址以及存储器的长度。下面的实例为实用MEMORY伪指令的简单例子。在该例中,起始地址为数据存储器中的60H;B1块为256字节的RAM,起始地址为数据存储器中的200H;B0块为256字节的RAM,起始地址为数据存储器中的300H。

MEMORY

{

    PAGE0:     ROM:   origin=0h,length=1000h

    PAGE1:     B2:    origin=60h,length=20h

              B1:    origin=200h,length=100h

              B0:    origin=300h,length=100h

}

 

MEMORY伪指令的一般语法为:

MEMORY

{

    PAGE0:name 1[(attr)]:origin=constant,length=constant

    PAGE1:name n[(attr)]: origin="constant",length=constant

}

其中,PAGE:对一个存储空间加以标记,每一个PAGE代表一个完全独立的地址空间。页号n最大可以为255(因为DSP最大寻址可以到64K),取决于目标存储器的配置。通常PAGE0为程序存储器,PAGE1为数据存储器。如果没有规定

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值