使用MounRiver进行FPU配置

发布时间 2023-09-29 19:29:28作者: ZaiLi

MCU使用FPU时,MRS需要进行配置,具体配置方式如下图:

开启硬件浮点MRS具体配置-Properties -> C/C++ Build -> Setting -> Target Processor-> Floating point 选项配置成 Single precision extension (RVF)

Floating point ABI 选项配置成 Single precision(f)

此外,还需要按照下图配置,勾选上Single precision constants,勾选之后表示浮点常量,按照单精度计算

此外还需要注意,在FreeRTOS下进行浮点计算时,需要将任务堆栈设置为8字节对齐,此外还需要将“freertos_risc_v_chip_specific_extensions.h”中的ARCH_FPU宏打开,该宏的用途是在任务切换时对FPU寄存器进行压栈和弹栈处理。若不打开该宏,浮点寄存器不会被压栈,使用的值是之前计算a时调用FPU寄存器的值。下图为使用FreeRTOS时浮点计算的一些配置方式。