看官網(wǎng)上CH32V203的簡介, 支持單周期乘法和硬件除法, 請問在代碼中如何實(shí)現(xiàn)? 是否要調(diào)用什么函數(shù)?
您好,若MCU硬件支持單周期乘法和硬件除法(如CH32V203),工程上需要勾選M擴(kuò)展,如下圖1,編譯器會自動將C的乘除法轉(zhuǎn)換為div和mul指令。若不勾選,編譯器會將乘除法轉(zhuǎn)換為庫函數(shù)實(shí)現(xiàn)方式。若你要實(shí)現(xiàn)求正余弦之類功能,需要調(diào)用math.h,同時注意添加math庫路徑,如下圖2 。后續(xù)若有問題,可通過郵箱和我溝通(lzs@wch.cn)
圖1
圖2
您的回答非常有參考價(jià)值,非常感謝!
RVM擴(kuò)展對應(yīng)的編譯選項(xiàng)是什么, -rvm?還是-m?
經(jīng)過對比發(fā)現(xiàn),這個RVM好像是開啟一些內(nèi)置宏。
? ? __riscv_div=1
? ? __riscv_fdiv=1
? ? __riscv_mul=1
? ? __riscv_muldiv=1
不知道對不對
-march=rv32imac這個是傳遞給編譯器的參數(shù),其中的m就是對應(yīng)的RVM乘除法擴(kuò)展。