第12章 中断之定时器中断
可编程寄存器功能描述内存映射地址
mtimereal-time 计数器(counter)。①系统全局唯一,在 RV32 和 RV64 上都是 64-bit。系统必须保证该计数器的值始终按照一个固定的频率递增。②上电复位时,硬件负责将 mtime 的值恢复为 0。BASE + 0xbff8
mtimecmptimer compare register。①每个 hart 一个 mtimecmp 寄存器,64-bit。上电复位时,系统不负责设置 mtimecmp 的初值。②当 mtime >= mtimecmp 时,CLINT 会产生一个 timer 中断。如果要使能该中断需要保证全局中断打开并且 mie.MTIE 标志位置 1。③当 timer 中断发生时,hart 会设置 mip.MTIP,程序可以在 mtimecmp 中写入新的值清除 mip.MTIP。BASE + 0x4000 + (hart) * 8
comments powered by Disqus