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 Embedded Workbench:为什么我会收到链接器错误[Li005]?
IAR代码溢出问题处理section placement failed