NXP MCU 技术论坛
直播中

无人岛

10年用户 929经验值
擅长:嵌入式技术 制造/封装 控制/MCU
私信 关注
[问答]

如何将RVfplib添加到SDK配置中的编译器选项?

所以...我正在玩“RVfplib - 针对 32 位处理器优化的 RISC-V FP 仿真(SOURCE)

我将以上内容编译为可加载模块,并在我选择的 IDE 中集成到 ESP-IDF 中。很笨拙,但是我用 MinGW 构建了它。

如果我将上面生成的文件放入 ESP-IDF 项目中,该项目将愉快地编译,我可以*手动*调用所述库中的函数而不会出错……但它仍然无法按我预期的方式工作。

我有两个问题...
  • RVfplib 在 SDK 配置的编译器选项“compiler float lib source”中不可用。
  • 当我手动调用时,性能与 libc 没有区别。

我相信我的问题真的只是第一个要点,一旦我解决了第一个要点,另一个问题就会自行解决。从关于此配置选项的文档来看,似乎我应该能够切换到 RVfplib,但这不是选项之一,除了更改此设置外,没有其他说明如何执行此操作。为了臭名昭著,我在这里重复这些信息。

[size=150%]CONFIG_COMPILER_FLOAT_LIB_FROM

    Compiler float lib source


    Found in: Compiler options


    在 libgcc 的 soft-fp 部分,riscv 版本是用 C 编写的,并且处理 IEEE754 中的所有边缘情况,这使得它更大,性能也更慢。

    RVfplib 是针对 32 位整数处理器上的 FP 算法优化的 RISC-V 库,适用于单精度和双精度 FP。RVfplib 是“快速的”,但它有一些 IEEE 754 合规性例外。

    可用选项:

      
  • libgcc (COMPILER_FLOAT_LIB_FROM_GCCLIB)
  • librvfp (COMPILER_FLOAT_LIB_FROM_RVFPLIB)


这就是 ESP-IDF 方面的所有相关信息。那么,我实际上如何获得此选项来填充和工作?我已经编译了库,我可以调用它……还有什么?

更多回帖

发帖
×
20
完善资料,
赚取积分