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

文章目录

  • CLINT
  • 定时器中断
  • mtime
  • mtimecmp
  • 机制
  • 总体框架流程
  • 时间节拍
  • 系统时钟
  • 代码

CLINT

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

定时器中断

在这里插入图片描述

mtime

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

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

mtimecmp

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

机制

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

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

总体框架流程

在这里插入图片描述

时间节拍

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

系统时钟

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

代码

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637002.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器数据恢复—RAID5故障导致SAP+oracle数据丢失的数据恢复案例

服务器存储数据恢复环境: 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 服务器存储故障&分析: 该RAID5阵列中一块硬盘出现故障离线&#xff0…

2024化工制造企业数字化白皮书

来源:蓝凌研究院 中国石油和化学工业联合会发布2023年中国石油和化工行业经济运行情况。数据显示,2023年,我国石化行业实现营业收入15.95万亿元, 同比下降1.1%,利润总额8733.6亿元,行业经济运行总体呈现低…

Jolt Json转换工具的基础教程

Jolt Json转换工具 jolt是一个轻量级的json文件转换库,可以把输入的json按照你编写脚本模板输出成你想要的json文本,能实现同样功能的有我们常用的velocity模板引擎,但jolt跟轻量且更专注于json,且在实现一些简单的格式转换中&am…

springboot no mapping for.....解决办法

这个问题是由于没有加入对应的GET,POST注解,导致映射失败,加入对应注解就ok了

【C++程序员的自我修炼】初识模板

云收天彩色 木叶落秋声 目录 函数模板 函数模板的实现 函数模板的实例化 模板参数的匹配原则 参数模板推不出来的情况 类模板 类模板的定义格式 类模板的实例化 契子 ✨ 我们在学 C语言 的时候应该都写过交换两个数的函数 swap 吧 当时我们只是写了 int 类型,那…

【JAVA】实现只有一个窗口弹出的底层逻辑——单身模式

目录 背景说明 代码实现 手写笔记 背景说明 有的时候,当你点击一个选项时会弹出来多个窗口,而有的时候只会弹出一个。 实际上,弹出多个窗口就是创建了多个相同的对象,而只弹出一个就是我们今天即将分享的单身模式——一个类只产生…

5.Eureka原理分析

消费者如何获取服务提供者具体信息? 1.服务提供者启动时向Eureka注册自己的信息。 2.Eureka保存这些信息。 3.消费者根据服务名称向Eureka拉取提供者信息。 如果有多个服务的提供者,消费者该如何选择? 1.服务消费者利用负载均衡算法&…

ardunio中自定义的库文件

1、Arduino的扩展库都是放在 libraries目录下的。完整路径为:C:\Users\41861\AppData\Local\Arduino15\libraries 所以我们需要在这个目录下创建一个文件夹,比如上面的例子是esp32上led灯控制程序,于是我创建了 m_led文件夹(前面加…

web前端(简洁版)

0. 开发环境 && 安装插件 这里我使用的是vscode开发环境 Auto Rename Tag是语法自动补齐view-in-browser是快速在浏览器中打开live server实时网页刷新 1. HTML 文件基本结构 <html><head><title>第一个页面</title></head><body&g…

存储过程的查询

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 在实际使用中&#xff0c;经常会需要查询数据库中已有的存储过程或者某一个存储过程的内容&#xff0c; 下面就介绍-下如何查询存储过程。 这需要使用到数据字典 user_sou…

关系型数据库的相关概念

表、记录、字段 表 一个实体集相当于一个表记录 一个实体相当于一个记录&#xff0c;在表中表表现为一行数据字段 一个字段相当于数据库表中的列 表的关联关系 一对一(一对一的表可以合并成一张表)一对多多对多 必须创建第三张表&#xff0c;该表通常称为联接表&#xff0c…

实现联系人前后端界面,实现分页查询04.15

实现联系人前后端界面&#xff0c;实现分页查询项目包-CSDN博客 项目结构 数据库中建立两个表&#xff1a; 完整的后端目录 建立联系人People表&#xff0c;分组Type表&#xff0c;实现对应实体类 根据需求在mapper中写对应的sql语句 查询所有&#xff0c;删除&#xff0c;添…