新闻  |   论坛  |   博客  |   在线研讨会
linux交叉编译的库在链接时提示:xxx uses VFP register arguments xxx does not
电子禅石 | 2022-12-22 09:07:18    阅读:8268   发布文章

最终解决办法就是增加:-mfloat-abi=hard

很多时候我们要处理的数据,不仅仅是整数和字符串,还有浮点数即小数。在多媒体数据处理方面表现的更多。是不是所有的CPU都支持,浮点运算呢?答案:不是。


1、问题描述



2、原因

该错误表明使用了不正确或不支持的VFP(virtual float point)浮点运算方式。


不支持的VFP编译:MCU不支持VFP(hard)计算;

不一致的VFP编译:链接的Lib中VFP计算和App中编译VFP计算选项不一致;

3、解决方案

方案1

检查APP的编译选项 CFLAGS 的VFP的计算类型:


FABI := hard //这里把hard改为softfp

CFLAGS += -mfloat-abi=$(FABI)


方案2

更换编译器版本。


方案3

重编译Lib库,CFLAGS中添加或修改-mfloat-abi=hard(须和APP中编译选项一致),一般库是默认软浮点

3e8b1f98ff571008c9cd86403cde724.png


2fecde0453460151eff7619f0279251.png


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客