你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Embedded Studio中如何从GCC Linker移植到SEGGER Linker?

[复制链接]
麦克泰技术 发布时间:2021-1-8 10:24
Segger的链接器快速、灵活、使用简单、支持 Cortex-M微控制器,并是专门针对嵌入式开发人员的需求而设计的。其链接程序脚本文件的指令和IAR的相似,从零开始编写,没有任何难度。SEGGER Linker可以轻松地用于在现有项目中取代GNU Linker。
在现有的Embedded Studio项目上移植
+ {- @' `, |3 C0 Q

在标准Embedded Studio项目中,目标的内存布局在* _MemoryMap.xml中定义。可以使用SEGGER Linker重用该内存映射文件,以便在大多数情况下可以直接使用示例链接程序脚本SEGGER_Flash.icf。

SEGGER Linker未使用节放置文件* _placement.xml,而是使用SEGGER链接程序脚本(* .icf)。编写SEGGER链接脚本比GNU链接脚本更简单。

对于只有一个FLASH和一个RAM区域的默认项目,需要完成以下步骤:

1、将SEGGER链接器脚本模板文件从$(StudioDir)/samples/SEGGER_Flash.icf复制到您的项目目录中。

2、将匹配的启动文件从$(StudioDir)/samples/SEGGER_THUMB_Startup.s复制到您的项目目录中。

2.png

3、将项目选项中的链接器选项的Linker设置为“SEGGER”。; F: l1 f) z: X7 _3 R- U

4、将项目选项中链接器选项的Linker Script File设置为项目目录中的链接器脚本。

3.png

5、从项目中删除thumb_crt0.s7 d4 Z0 e: o2 w

6、将SEGGER_THUMB_Startup.s添加到您的项目中

如果在您的内存布局中包含多个FLASH或RAM区域,则可以告诉SEGGER Linker自动放入多个区域:

   place in RAM1 then RAM2 { ... };

如果您在* _placement.xml中添加了其他部分,则也可以在SEGGER Linker脚本中执行以下操作:

place in RAM { ..., .myregion };

SEGGER Linker还提供了更多的功能,可为您提供更广泛的放置选择,以便更好,以便更好地利用你的目标内存。要了解详细情况,请参阅在Embedded Studio中的《SEGGER Linker User Guide》。具体位置如下:从Embedded Studio的菜单Help->Contents-> Using the SEGGER Linker -> SEGGER Linker User Guide

4.png : b' I+ T% o% J# q9 d3 ~
收藏 评论0 发布时间:2021-1-8 10:24

举报

0个回答

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版