首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关VPF寄存器的链接时间警告

有关VPF寄存器的链接时间警告
EN

Stack Overflow用户
提问于 2020-01-30 20:33:51
回答 1查看 51关注 0票数 1

我正在尝试将一个项目从Cortex M0移植到具有硬件浮点扩展的Cortex M4,新的目标系统芯片是nRF52832

我从链接器得到的错误如下

代码语言:javascript
复制
arm-unknown-eabi/bin/ld: error: x.o uses VFP register arguments, firmware does not

其中firmware是链接器的输出文件的名称。

这是一个问题与arm ABI的浮点,我想使用浮点,因为它是由我想使用的FreeRTOS端口请求,但我不知道如何调整我的链接器标志,使其成为可能。

这是我当前使用的链接器标志集

代码语言:javascript
复制
-L/path/to/nrfx/mdk
-Wl, --no-undefined
-Wl,--as-needed -march=armv7e-m+fp -mthumb -mfloat-abi=hard -mabi=aapcs
-Wl, --start-group support/libs/libQRCode.a support/libs/libSPIFFS.a
-Wl, --no-undefined
-Wl, --as-needed
-Wl, --gc-sections --specs=nosys.specs -T/path/to/linker_script.ld /toolchain/path/to/lib/libm.a
-Wl, --end-group
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-01 02:13:32

-mfloat-abi标志是仅供编译器使用的标志,因此没有必要将其传递给链接器。

为了能够构建使用硬浮点ABI的固件映像,传递到链接器的所有目标文件都必须编译为使用该ABI。这个问题很可能是因为您正在向链接器传递一个或多个使用软浮点型ABI编译的目标文件;例如,链接器命令行中的/toolchain/path/to/lib/libm.a文件路径看起来很可疑,您应该使用硬浮点型libm.a版本,您很可能会在工具链库路径的libm.a子文件夹中找到它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59986152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档