CH32V307如何实现 freertos+硬件浮点下 快速中断函数?

专家您好,我在使用FREERTOS+硬件浮点,此时这里设置为

    /* Enable floating point and interrupt 0x6088 0x7800*/
   	li t0, 0x7800
   	csrs mstatus, t0

,但是快速中断需要将这里设置位0x6088,我设置为0X6088会导致程序无法执行。

由于我有两个定时器中断需要频繁执行大概最快50K-100K的中断频率,因此严重影响速度,请问有什么办法实现硬件浮点下快速中断函数?

您好,关于使用硬件浮点运算配置,可参考一下下链接介绍。关于对于mstatus的配置,如下图,该寄存器位[14:13]是对浮点运算单元的配置,将这两位置1;位[12:11]是对模式的配置,11表示机器模式,可将mstatus寄存器值设置为0x7888。若要提升中断响应时间,可使用免表中断,直达中断函数入口。在CH32V307 EVT有免表中断的例程,可以参考一下。

https://www.cnblogs.com/liaigu/p/17737193.html

image.png?



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