CH32V307VC开启F指令集链接失败

使用CH32V307VCT6 MRS版本1.81

在开启了硬件浮点时,无法链接printfloat库

报错为

c:/ide/mounriver/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: C:\MRS_DATA\workspace\CH32V307VCT6\libprintfloat.a(printfloat.o): can't link single-float modules with soft-float modules

1662654359533262.png

1662654359196803.png


您好,MCU使用FPU时,MounRiver需要进行配置,具体配置方式如下图:

开启硬件浮点MRS具体配置-Properties -> C/C++ Build -> Setting -> Target Processor-> Floating point 选项配置成 Single precision extension (RVF)

Floating point ABI 选项配置成 Single precision(f)

 image.png

此外,还需要按照下图配置,勾选上Single precision constants,勾选之后表示浮点常量,按照单精度计算

 image.png

此外,在CH32V307 EVT下有FPU例程,可以参考一下

CH32V307 EVT:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html 

image.png



只有登录才能回复,可以选择微信账号登录