0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

麦辣鸡腿堡 来源:嵌入式Linux充电站 作者:Vincent 2023-10-08 09:54 次阅读

中断控制和状态寄存器

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) 寄存器指示当前哪些中断处于挂起状态。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120230
  • 内核
    +关注

    关注

    3

    文章

    1372

    浏览量

    40278
  • 中断
    +关注

    关注

    5

    文章

    898

    浏览量

    41470
  • RISC
    +关注

    关注

    6

    文章

    462

    浏览量

    83710
  • sifive
    +关注

    关注

    0

    文章

    36

    浏览量

    9458
收藏 人收藏

    评论

    相关推荐

    U0IIR寄存器原理下载

    U0IIR寄存器原理下载 U0IIR寄存器 BIT0: 0:有中断 1:没有中断 BI
    发表于 03-10 14:13 95次下载

    51单片机与中断相关的寄存器

    51单片机与中断相关的寄存器简介中断控制寄存器IE中断优先级
    发表于 11-12 11:36 8次下载
    51单片机与<b class='flag-5'>中断</b>相关的<b class='flag-5'>寄存器</b>

    STM32串口通信相关寄存器中断回调函数

    (USART_CR1)控制寄存器 2 (USART_CR2)控制寄存器 3 (USART_CR3)串口配置串口初始化GPIO配置,开启中断
    发表于 12-28 19:11 7次下载
    STM32串口通信相关<b class='flag-5'>寄存器</b>和<b class='flag-5'>中断</b>回调函数

    ARM通用寄存器状态寄存器详解

    笔者来聊聊ARM通用寄存器以及状态寄存器的认识与理解。
    的头像 发表于 01-06 14:58 7147次阅读

    PLIC平台级中断控制器介绍

    的。 U54内核的平台级中断控制器 (PLIC) 最多可支持 132 个具有 7 个优先级的外部中断源。 Memory Map U54
    的头像 发表于 10-07 17:53 1193次阅读
    PLIC平台级<b class='flag-5'>中断控制器</b>介绍

    LIC内核中断挂起位和中断使能

    中断挂起位 PLIC 内核中断源挂起位的当前状态可以从挂起数组中读取,组织为 32 位的 5 个字。中断 ID 的挂起位存储在字的位中。
    的头像 发表于 10-07 17:57 793次阅读
    LIC<b class='flag-5'>内核</b><b class='flag-5'>中断</b>挂起位和<b class='flag-5'>中断</b>使能

    U54内核PLIC中断处理例子

    Interrupt Claim Process U54 内核 hart 可以通过读取 claim_complete 寄存器(表 115)执行中断请求,该
    的头像 发表于 10-07 18:01 972次阅读
    <b class='flag-5'>U54</b><b class='flag-5'>内核</b>PLIC<b class='flag-5'>中断</b>处理例子

    U54内核上CLINT的内存映射

    ) {// handler code} 此属性将保存和恢复处理程序中使用的寄存器,并在处理程序的末尾插入一条 mret 指令。 CLINT内存映射 下图是U54 内核上 CLINT 的内存映射: 注意
    的头像 发表于 10-08 09:34 520次阅读
    <b class='flag-5'>U54</b><b class='flag-5'>内核</b>上CLINT的内存映射

    RISC-V SiFive U54内核中断介绍

    类型的 RISC-V 中断:本地和全局。 本地中断U54内核的本地中断只有2种,软件中断和定时
    的头像 发表于 10-08 09:39 595次阅读
    RISC-V SiFive <b class='flag-5'>U54</b><b class='flag-5'>内核</b>的<b class='flag-5'>中断</b>介绍

    U54内核中断进入和退出

    专用的堆栈区域。此外,每种特权模式都包含用于陷阱处理的单独控制状态寄存器(CSR)。在用户模式下操作时,需要上下文切换来处理主管模式下的事件。软件为上下文切换设置系统,然后执行 ECALL 指令,将
    的头像 发表于 10-08 09:47 610次阅读
    <b class='flag-5'>U54</b><b class='flag-5'>内核</b><b class='flag-5'>中断</b>进入和退出

    U54内核特权模式中断介绍

    特权模式中断 U54内核支持有选择地将中断和异常定向到S模式。 该功能由中断和异常委托CSR处理:mideleg和medeleg。S模式
    的头像 发表于 10-08 09:59 942次阅读
    <b class='flag-5'>U54</b><b class='flag-5'>内核</b>特权模式<b class='flag-5'>中断</b>介绍

    U54内核不可屏蔽中断信号

    中断 (RNMI)。 mnscratch CSR 拥有一个 64 位读写寄存器,它使 NMI 陷阱处理程序能够保存和恢复被中断的上下文。
    的头像 发表于 10-08 10:05 886次阅读
    <b class='flag-5'>U54</b><b class='flag-5'>内核</b>不可屏蔽<b class='flag-5'>中断</b>信号

    CPSR寄存器和APSR寄存器的组成

    程序状态寄存器的作用就是反映处理状态信息。在程序运行期间我们可以通过查看程序状态寄存器
    的头像 发表于 10-20 11:38 4576次阅读
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的组成

    s3c2410中断控制模块的中断状态寄存器是?

    S3C2410是一款由三星电子公司设计的具有多种功能的嵌入式处理。其中的中断控制模块用于管理系统的中断请求和中断服务程序。在S3C2410
    的头像 发表于 01-05 17:28 716次阅读

    接口的控制状态寄存器什么作用

    接口的控制状态寄存器(Control and Status Registers,简称CSR)是计算机系统中用于控制和监控硬件设备操作的寄存器
    的头像 发表于 10-17 10:42 416次阅读