制作一个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)!