全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

U54内核中断控制和状态寄存器

时间:2023-10-08 09:54

人气:

作者:admin

标签: 中断  寄存器 

导读:中断控制和状态寄存器 Machine Status Register (mstatus) mstatus 寄存器跟踪并控制 hart 的当前操作状态,包括是否启用中断。 通过设置 mstatus 中的 MIE 位来启用中断。在写入 mstatus.MIE=1 之前,...

中断控制和状态寄存器

Machine Status Register (mstatus)

mstatus 寄存器跟踪并控制 hart 的当前操作状态,包括是否启用中断。

图片

通过设置 mstatus 中的 MIE 位来启用中断。在写入 mstatus.MIE=1 之前,建议先在 mie 中开启中断。

Machine Trap Vector (mtvec)

mtvec 寄存器有两个主要功能:定义陷阱向量的基地址,以及设置 U54内核处理中断的模式。对于 Direct 和 Vectored模式,中断处理模式在 mtvec 寄存器的 MODE 字段中定义。mtvec 寄存器在表 86 中描述,mtvec.MODE 字段在表 87 中描述。

图片图片

Mode Direct

在直接模式下操作时,所有中断和异常都会捕获到 mtvec.BASE 地址。在陷阱处理程序内部,软件必须读取 mcause寄存器以确定触发陷阱的原因。

在直接模式下操作时,BASE 必须是 4 字节对齐的。

Mode Vectored

在向量模式下运行时,中断将 pc 设置为 mtvec.BASE + 4 ×异常代码(mcause.EXCCODE)。例如,如果发生机器定时器中断,则将 pc 设置为 mtvec.BASE +0x1C。通常,陷阱向量表填充有跳转指令,以将控制转移到特定于中断的陷阱处理程序。

在向量中断模式下,BASE 必须是 256 字节对齐的。

所有机器外部中断(全局中断)都映射到异常代码 11。因此,当启用中断向量时,pc 设置为任何全局中断的地址 mtvec.BASE +0x2C。

Machine Interrupt Enable (mie)

通过设置 mie 寄存器中的相应位来启用各个中断。

图片

Machine Interrupt Pending (mip)

机器中断挂起 (mip) 寄存器指示当前哪些中断处于挂起状态。

图片

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信