自学内容网 自学内容网

制作一个RISC-V的操作系统十二-定时器中断

CLINT

产生软件中断和定时器中断
在这里插入图片描述

定时器中断

在这里插入图片描述

mtime

类似计数器,按照硬件对应的固定频率递增

上电后会自动复位为0,有硬件自动完成
在这里插入图片描述

mtimecmp

需要自己设置,也是64位
我们实现的初始化就是根据hartid将对应的mtimecmp设置一个初始值,然后设置一些使能中断位
在这里插入图片描述

机制

mtime按照一定频率递增,当大于等于mtimecmp时会产生一个timer中断

MTIE是mie上m模式的使能计时器中断位
MTIP是mip上模式的代表当前是否发送计时器中断位
在这里插入图片描述

总体框架流程

在这里插入图片描述

时间节拍

硬件定时器的周期:就是多久会触发一次计时器中断
在这里插入图片描述

系统时钟

通过读取当前时间和此时的tick值来计算得到当前最新的时间
在这里插入图片描述

代码

https://github.com/FULLK/risllkos/tree/main/Fullkenerl7


原文地址:https://blog.csdn.net/llovewuzhengzi/article/details/137860421

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!