OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 381|回复: 2

STM32程序编辑,出现如下图错误,请教下大神,怎么操作!

[复制链接]

15

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-3-16
在线时间
30 小时
发表于 2024-7-25 14:52:10 | 显示全部楼层 |阅读模式
1金钱
.\Objects\234_APP.axf: Error: L6985E: Unable to automatically place AT section spara.o(.ARM.__AT_0x0801E800) with required base address 0x0801e800. Please manually place in the scatter file using the --no_autoat option.

最佳答案

查看完整内容[请看2#楼]

谢谢,找到原因了,是代码大小超过128K了,删了一些没用到的功能可以了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-3-16
在线时间
30 小时
 楼主| 发表于 2024-7-25 14:52:11 | 显示全部楼层
A571157242 发表于 2024-7-25 17:01
这个错误消息来自ARM编译器链的链接器(linker),特别是当使用Keil MDK-ARM或类似的工具时。错误L6985E表 ...

谢谢,找到原因了,是代码大小超过128K了,删了一些没用到的功能可以了。
回复

使用道具 举报

4

主题

881

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4195
金钱
4195
注册时间
2019-9-4
在线时间
881 小时
发表于 2024-7-25 17:01:40 | 显示全部楼层
这个错误消息来自ARM编译器链的链接器(linker),特别是当使用Keil MDK-ARM或类似的工具时。错误L6985E表明链接器在尝试自动分配内存区域(section)时遇到了问题,特别是与名为spara.o的目标文件中的.ARM.__AT_0x0801E800段(section)有关。

这个段被标记为需要放置在特定的基地址(base address)0x0801e800,但是链接器的自动放置策略未能找到满足此条件的内存区域。为了解决这个问题,你需要在链接器的scatter文件中手动指定这个段的放置位置。

scatter文件(也称为分散加载描述文件)是一个文本文件,它描述了如何将代码和数据段放置在目标存储器映射中。为了手动放置.ARM.__AT_0x0801E800段,你需要:

    打开你的scatter文件(通常这个文件具有.scf扩展名)。

    创建一个新的执行区域(execution region)或修改现有的执行区域,以包含.ARM.__AT_0x0801E800段,并指定其起始地址为0x0801e800。

    使用--no_autoat选项(或相应的设置,这取决于你使用的工具链和版本)来告诉链接器不要自动处理带有AT属性的段。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 06:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表