- 前言
笔者最近需要封装一些时间戳相关的API,对于RISC-V架构的CPU定时器相关配置方式基本忘光光了,所以简单复习了一下相关内容。需要深入了解的话可以阅读RISC-V架构手册的卷二第三章。
因为蜂鸟e203MCU仅支持RISC-V架构的机器模式(Machine Mode),本文仅讨论机器模式下的CPU定时器管理。
2.RISC-V架构的CPU 定时器
首先看CPU定时器中断的开启与关闭。
对于机器模式下全局中断的开关,可以通过mstatus寄存器的MIE字段进行控制。
MIE字段对应机器模式下的全局中断开关控制,SIE字段对应的是监督模式下的全局中断开关控制。
RSIC-V架构将中断分为外部中断,定时器中断,软件中断和调试中断四种类型。机器模式下,每种类型的中断发生的时候mcause寄存器会填入对应类型中断的编号,其编号值为:
相应的,每种类型的中断其开关控制可以在CSR寄存器MIE中进行配置。
MIE寄存器的字段格式为:
相关字段可以解释为:
字段 |
功能 |
MEIE |
机器模式下外部中断的中断使能控制 |
MTIE |
机器模式下定时器中断的中断使能控制 |