307 rtthread 浮點(diǎn)無(wú)法編譯

已經(jīng)照這個(gè)設(shè)置配置ide:RISC-V IDE MRS使用筆記(三):提升浮點(diǎn)計(jì)算效率_riscv 浮點(diǎn)計(jì)算 不同的優(yōu)化編譯等級(jí),精確度不一樣_MounRiver_Studio的博客-CSDN博客

但是沒(méi)說(shuō)rtthread怎么配,我就在cpuport.h設(shè)置如下:

/* bytes of register width 浮點(diǎn)開(kāi)啟,還有ide設(shè)置也要開(kāi)啟 */

#define ARCH_RISCV_FPU

//#define ARCH_RISCV_FPU_D

但是還是編譯不過(guò):

G:/svn_new/zx-multifuncbrd/trunk/common/rtthread/libcpu/risc-v/common/context_gcc.S: Assembler messages:

G:/svn_new/zx-multifuncbrd/trunk/common/rtthread/libcpu/risc-v/common/context_gcc.S:47: Error: unrecognized opcode `fsd f0,0*8(sp)'

G:/svn_new/zx-multifuncbrd/trunk/common/rtthread/libcpu/risc-v/common/context_gcc.S:48: Error: unrecognized opcode `fsd f1,1*8(sp)'

G:/svn_new/zx-multifuncbrd/trunk/common/rtthread/libcpu/risc-v/common/context_gcc.S:49: Error: unrecognized opcode `fsd f2,2*8(sp)'

要怎么配呢?


熱門(mén)產(chǎn)品 : CH32X035: 32位USB+USB PD單片機(jī)


只定義 ARCH_RISCV_FPU 和ARCH_RISCV_FPU_S編譯通過(guò)了,但是運(yùn)行還是hardfault


一進(jìn)到任務(wù)切換就掛了



有沒(méi)高手解答一下?


您好,你可以按照下圖將相應(yīng)棧的大小修改一下,如下圖1圖2,

image.png

圖1

image.png

圖2

此外,若要使用浮點(diǎn)打印,還需要按照下圖3配置一下

image.png

圖3

附件為參考例程,可以參考一下,后續(xù)若有問(wèn)題,可通過(guò)郵箱(lzs@wch.cn)和我溝通

icon_rar.gifCH32V307 RT-Thread FPU.zip



好使,非常感謝。有個(gè)疑問(wèn),你最后一個(gè)圖 :

stk? = (rt_uint8_t *)RT_ALIGN_DOWN((rt_ubase_t)stk, REGBYTES);

改成:

stk? = (rt_uint8_t *)RT_ALIGN_DOWN((rt_ubase_t)stk, 8);

那宏定義REGBYTES不用改成8嗎?


您好,不用


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频