喜欢0次
按照指令集手册,mtvec寄存器的mode=1时,所有狭义异常都进base入口,所有狭义中断都进base+irq_num*4,那么0号中断也会进狭义异常的入口。
这么一来,base入口地址的软件代码,还是免不了要折腾一番,首先要读取mcause的最高位区分是异常还是0号中断,这样的话,好像失去了mode=1的本来设计的意图了啊,既然都要区分中断还是异常,还不如直接mode=0呢。
向各位请教下,我的理解是否正确?你们又是如何处理的?谢谢。