关于RV32的中断设计问题

Home 论坛 开发和更新问题 关于RV32的中断设计问题

  • This topic has 2 个回复, 2 个参与人, and was last updated 3 years 前 by HowardHoward.
正在查看 3 帖子:1-3 (共 3 个帖子)
  • 作者
    帖子
  • #2793
    GavinGavin
    参与者

    想确认一个问题,RV32的中断是不是被重新设计了。按照RISC-V 官方文档描述的中断信息,mcause寄存器用于反应异常事件编号。

    当最高位为1时,可理解外部中断且前0-11已经被定义好了;当最高位为0时,定义为同步异常且0-15已经被定义好了。

    我在使用RV32板子的时候,比如使用外设LPIT中断,根据RV32M1_ri5cy.h定义的 “ LPIT0_IRQn = 12, /**< LPIT0 interrupt */”

    再中断发生时,我读取了一下mcause,发现值的确是12。

    这个让我产生疑惑,就是RV32这芯片的外部中断(mcause 最高位为1),从编号0开始就已经从新设计了,而不是按照官方文档,从编号 12 开始设计自定义的中断源。要不然的话,当LPIT中断产生时,mcause的中断号应该是12+12=24。

    但我现在看到的是mcause的中断源的值是12,所以想确认RV32中断定义是不是从新设计过了。

     

    #2796
    HowardHoward
    参与者

    RV32中断控制器不是用的CLINT(core local interrupter),终端编号可以参考RM 文档。

    #2795
    HowardHoward
    参与者

    RV32中断控制器不是用的CLINT(core local interrupter),终端编号可以参考RM 文档。

正在查看 3 帖子:1-3 (共 3 个帖子)
  • 抱歉,回复话题必需登录。