5

現在のriscv-toolsを使用して、 PicoRV32コアのファームウェア イメージをビルドしています。ファームウェアには浮動小数点が必要なので、-msoft-float. これは、私が使用しているコンパイラ/リンカー オプションです。

-Os -m32 -march=RV32I -msoft-float -ffreestanding -nostdlib -lgcc

この構成では、__muldf3 は (リンカーの-Map出力によると)によって提供されます。

/opt/riscv/lib/gcc/riscv64-unknown-elf/4.9.2/soft-float/32/libgcc.a(dp-bit.o)

しかし、このコードは RV32I ISA と互換性がありません: それはMULandMULHU命令を使用しています!

プレーンな RV32I ISA のソフトフロートを取得するにはどうすればよいですか? 自分のバージョンの libgcc.a をコンパイルする必要がありますか? これを行う方法に関する指示はどこかにありますか?

4

1 に答える 1