ST 链接代码的 IAR 错误

Posted

技术标签:

【中文标题】ST 链接代码的 IAR 错误【英文标题】:IAR error with ST link code 【发布时间】:2018-01-20 07:09:52 【问题描述】:

我正在尝试使用 ST 的 Sensor Tile。我下载了该项目,但是当我尝试在 ST 中重建它时,它发出了这个错误:

错误[Li005]:“__iar_FSin”没有定义[引用自 motion_fx.o(MotionFX200_CM4F_IAR_ot.a)]

有人知道吗?

【问题讨论】:

您可能需要扩展所有这些专有名词和首字母缩写的含义。这看起来像是一个将库链接到嵌入式系统目标的问题。 我该怎么办?我正在使用新版本的 IAR 嵌入式工作台,因为当我使用旧版本时,代码运行良好 什么是 IAR?什么是ST?为什么这被标记为 C#?这绝对不是 C# 编译器错误。 好吧,如果这似乎是工具版本问题,那么您应该分享有问题的工具版本。我们不得不猜测您正在使用许多人甚至不熟悉的 IAR Workbench。该错误表示特定对象文件中缺少符号或未导出符号。你建立了这个目标文件吗?符号是否存在于目标文件中?你需要做更多的功课。提示:__iar_FSin 感觉像是某种名称混乱的私有入口点。通常这类事情是针对特定目标的。 这是某种工具问题。该符号是 STM 库数学例程。所以看起来您的工具链设置不正确。 【参考方案1】:

您需要使用与您的应用程序相同版本的 EWARM 重新编译 MotionFX200_CM4F_IAR_ot.a 库。

从错误消息看来,您正在尝试将使用 EWARM 7.XX 构建的库链接到使用 EWARM 8.XX 的应用程序中。从 7.XX 到 8.XX 的步骤打破了数字点的二进制兼容性,包括浮点库实现。

【讨论】:

以上是关于ST 链接代码的 IAR 错误的主要内容,如果未能解决你的问题,请参考以下文章

IAR 升级编辑器主题代码完型错误提醒...

IAR Embedded Workbench:为什么我会收到链接器错误[Li005]?

如何修复“[Lp002]:IAR ARM 工具重定位失败?

IAR代码溢出问题处理section placement failed

用st-link在stvp上烧录出现这种错误怎么回事,在IAR上可以正常烧录

[转发]在main()之前,IAR都做了啥?