硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1626|回复: 7
收起左侧

[ThreadX全家桶] ac6 linker 的烦恼,经常出错,无计可施,stm32g0 系列芯片

[复制链接]

15

主题

87

回帖

132

积分

初级会员

积分
132
发表于 2022-7-14 15:22:47 | 显示全部楼层 |阅读模式

Error: L6286E: Relocation #REL:0 in tim.o(.text.MX_TIM7_Init) with respect to __arm_cp.6_0. Value(0xfffffeef) out of range(0 - 0xff) for (R_ARM_THM_PC8)

有时候改优化等级没问题,有时候要勾选 link-time optimization

网上搜了一圈,又没有答案,只要 g0 芯片才出这个问题 ,f4,h7之类的没有发现过
你们有碰到过这个问题不?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107585
QQ
发表于 2022-7-14 17:22:56 | 显示全部楼层
这种错误还真没见过。

AC6的检测比较严格,不行还用AC5吧。
回复

使用道具 举报

15

主题

87

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2022-7-14 17:43:10 | 显示全部楼层
用了 threadx ac5又编译不过,速度又慢,真是受不了,这个是链接器的问题
回复

使用道具 举报

6

主题

644

回帖

662

积分

金牌会员

积分
662
QQ
发表于 2022-7-14 21:20:39 | 显示全部楼层
yuntian 发表于 2022-7-14 17:43
用了 threadx ac5又编译不过,速度又慢,真是受不了,这个是链接器的问题

threadx AC6下编译出错?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107585
QQ
发表于 2022-7-15 00:24:42 | 显示全部楼层
yuntian 发表于 2022-7-14 17:43
用了 threadx ac5又编译不过,速度又慢,真是受不了,这个是链接器的问题

AC5这个是最新版port文件的问题。

可以这里加Keil -> Options -> Asm -> Misc Controls中定义这个试试--cpreproc
回复

使用道具 举报

15

主题

87

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2022-11-26 09:07:17 | 显示全部楼层
终于找到缓解这个问题的偏门了,找到出问题 那个文件,点右键,单独设置优化等级,不同的优化等级都试一下,就能解决,有点奇怪,难道只有我碰到这个问题吗?
g0,f401都出现过这个问题,尤其是 汇编 + c +cplusplus的时容易出现,没有规律的出现
回复

使用道具 举报

0

主题

110

回帖

110

积分

初级会员

积分
110
发表于 2022-11-26 13:47:35 | 显示全部楼层
选那个编译器都是用同一个linker的,这个锅人家不背。这个问题之前我也碰过,查资料发现G0的M0内核指令集是ARMv6,指令比M3的ARMv7落后一代。可能是链接时跳转范围超出某些指令的限制所致。可以试试Os或Oz来这两个会针对容量优化的选项。
回复

使用道具 举报

15

主题

87

回帖

132

积分

初级会员

积分
132
 楼主| 发表于 2022-11-27 08:15:45 | 显示全部楼层
链接器不一样的,你可以把两个链接器替换,会发现链接失败,用ac5就不会有问题,就是ac6时不时的出问题,但ac6 codesize 编译选项生成的代码比 ac5小,就是因为这个问题,我都把threadx 换成 freertos了,后者代码植文件简单些
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-7 06:18 , Processed in 0.220866 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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