想确认一个问题,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中断定义是不是从新设计过了。