关于CH32V307 mstatus寄存器

发布时间 2023-09-11 19:37:57作者: ZaiLi

关于CSR寄存器中的mstatus寄存器,我们在使用的时候主要需要关注位3MIE位,位7MPIE位,位12:11MPP,位14:13FS,各个位解释如下:

MIE:用于控制打开或者关闭全局中断

当该MIE域的值为1时,表示机器模式下所有的中断全局打开。

当该MIE域的值为0时,表示机器模式下所有的中断全局关闭。

MPIEMPIE域的值被更新为异常发生前MIE域的值。MPIE域的作用是在异常结束之后,能够使用MPIE的值恢复出异常发生之前的MIE值。

MPPMPP的值被更新为异常发生前的模式。MPP域的作用是在异常结束之后,能够使用MPP的值恢复出异常发生之前的工作模式。

FSFS 域用于描述和维护浮点单元状态,所以该域只有在含有硬件浮点功能的青稞 V4F 微处理器上才有意义。当其值为 0 时,表示浮点单元为关闭状态,且如果此时使用浮点指令,将触发异常;若其值为 1 2,当执行了浮点指令后,该域会被更新为 3。若用户在使用 V4F 微处理器时,不期望使用硬件浮点功能,可在机器模式下,手动清除该两位,以关闭硬件浮点并降低功耗。

针对CH32V103以及CH32V307MCU用户模式以及机器模式下对mstatus状态寄存器的配置

CH32V103

用户模式下:mstatus的值为0x88

机器模式下:mstatus的值为0x1888

CH32V307

 

 

用户模式下:mstatus的值为0x6088

机器模式下:mstatus的值为0x7888