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

相关推荐
国科安芯26 分钟前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
双古1 小时前
步进电机调试记录(先让我的步进电机转起来)
单片机·嵌入式硬件
lixzest1 小时前
STM32开发中,线程启动异常问题排查简述
stm32·嵌入式硬件
程序员JerrySUN2 小时前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
学习噢学个屁2 小时前
基于STM32语音识别柔光台灯
c语言·stm32·单片机·嵌入式硬件·语音识别
欢乐熊嵌入式编程5 小时前
欢乐熊大话蓝牙知识14:用 STM32 或 EFR32 实现 BLE 通信模块:从0到蓝牙,你也能搞!
stm32·单片机·嵌入式硬件
傍晚冰川5 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
SY师弟8 小时前
51单片机基础部分——矩阵按键检测
嵌入式硬件·矩阵·51单片机
Lester_11018 小时前
嵌入式学习笔记 - freeRTOS xTaskResumeAll( )函数解析
笔记·stm32·单片机·学习·freertos
阿超爱嵌入式9 小时前
STM32学习之I2C(理论篇)
stm32·嵌入式硬件·学习