单片机/MCU论坛
直播中

vinww特烦恼

8年用户 1142经验值
擅长:存储技术
私信 关注

开发flashdriver时遇到的疑问求解

在开发flashdriver的时候遇到这个问题:ltc E121: relocation error in "task1": relocation value 0x8022e842, type rel24 or abs24, offset 0x54, section ".text.flashdriver.function" at address 0x70100170 is not a valid address in R_TRICORE_24REL. Hint: check the mapfile for a section that occupies this address.尝试了几次后感觉是PSPR中的代码不能使用地址为0x802xxxxx的函数,有大神知道这是为什么吗?                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

回帖(1)

郭大

2024-2-1 16:50:55
这个错误是关于relocation(重定位)的问题。重定位是在链接过程中将目标文件中的符号引用与其它目标文件或库文件中的符号定义进行匹配的过程。它确保在程序运行时正确地解析符号。

错误信息中提到的地址0x802xxxxx是指的一个无效地址,可能是因为在链接过程中找不到对应的函数地址。这可能是由于以下几个原因导致的:

1. 函数定义被删除或者链接到了错误的地址。
2. 缺少引用的库文件,或者库文件包含错误的函数地址。
3. 使用了错误的中间文件或者依赖项。

解决这个问题的方法包括:

1. 检查函数的定义和引用部分,确保它们是一致的。
2. 检查编译和链接过程中使用的库文件,确保它们是正确的。
3. 检查是否有缺少的依赖项或者错误的依赖项。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分