MDK中三种linker

 

MDK中三种linker

 

1、采用target对话框中的ROM和RAM地址

   采用此方式,需在Linker选项卡中勾选Use Memory Layout from Target Dialog选项(选中这一项实际上是默认在Target中对Flash和RAM的地址配置,编译链接时会产生一个默认的脚本文件),并且在Target中设置好RAM、ROM地址,图2所示。MDK会根据Target选项中设定的RAM和ROM地址自动加载生成一个加载文件。最后链接器会根据此文件中的信息对目标文件进行链接,生成axf镜像文件。

 

MDK中三种linker
 

MDK中三种linker
 

 

2、直接通过Linker选项卡中的R/O  Base和R/W Base来设定链接信息。

    链接器最后可根据此处指定的地址信息进行链接,链接的文件应该是顺序存放了,最多RO和RW分开。此时需要注意的是应将Use  Memory  Layout  from Target  Diaglog前的勾去掉,且保证Scatter File一栏中未包含分散加载文件,并且要在Misc controls中设定镜像文件的入口点,

MDK中三种linker
R/W Base空着没填,意思就是说紧跟着R/O Base地址。

 

 3、最后一种为直接采用分散加载文件。

将R/O Base R/M Base内容去掉,选择使用scatter file文件(分撒加载描述文件),那么其他链接方式的设置自动失效。可以从Linker control string的信息可以看出来。

MDK中三种linker


 

为了将我们裸机代码下载到NandFlash的0地址处,并正确运行,必须得掌握ROM和RAM的地址分配。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值