在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 910|回复: 0

[求助] RISC-V计时器中断

[复制链接]
发表于 2023-3-20 15:57:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小白在看胡振波的《手把手做RISC-V CPU》的书,遇到计时器中断的问题,一直觉得很奇怪,想请问一下大佬:
     
     1,mtime可以通过软件清0吗?
     2,我理解计时器中断产生和撤销的过程是这样的,不知道对不对,希望有大佬指正一下:
                 (1)CSR中mstatus的MIE设置为1;
                 (2)mtimecmp设置为计时长度;
                 (3)mie的MTIE设置为1;
                 (4)mtime清0;
问:有没有可能因为mtime一直在计时,设置mtimecmp的时候正好等于当前的mtime,导致mtime还没清0,马上就触发了计时器中断?
                 (5)等待mtime大于等于mtimecmp;
                 (6)当mtime≥mtimecmp时,mip的MTIP置1;
                 (7)mie的MTIE清0,处理器陷入trap程序;
                 (8)改写mtimecmp使得mtimecmp的值大于mtime(书上说的撤销计时器的方法),并将mip的MTIP清0;
问:mtime一直计时,要是在执行trap时,又大于等于新设置的这个mtimecmp了,岂不是又会使得mip的MTIP置1?为什么要RISC-V设置这个mtime是一直计数的呢?
                 (9)trap程序执行完毕,返回主程序;


微信截图_20230320155658.png
图片1.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-14 15:47 , Processed in 0.016188 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表