关于CH32V203的单周期乘法和硬件除法

看官网上CH32V203的简介, 支持单周期乘法和硬件除法, 请问在代码中如何实现? 是否要调用什么函数?

您好,若MCU硬件支持单周期乘法和硬件除法(如CH32V203),工程上需要勾选M扩展,如下图1,编译器会自动将C的乘除法转换为div和mul指令。若不勾选,编译器会将乘除法转换为库函数实现方式。若你要实现求正余弦之类功能,需要调用math.h,同时注意添加math库路径,如下图2 。后续若有问题,可通过邮箱和我沟通(lzs@wch.cn)

image.png

图1

image.png

图2


您的回答非常有参考价值,非常感谢!


RVM扩展对应的编译选项是什么, -rvm?还是-m?


经过对比发现,这个RVM好像是开启一些内置宏。

    __riscv_div=1

    __riscv_fdiv=1

    __riscv_mul=1

    __riscv_muldiv=1


不知道对不对


-march=rv32imac这个是传递给编译器的参数,其中的m就是对应的RVM乘除法扩展。


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