CH32V103指令异常

操作设备,操作操作,就死掉,进入HardFault,在里面打印值为:  mepc:00003c86    mcause:00000002     mtval:3002a073                                                 查看lst,是   3c86: 3002a073         csrs   mstatus,t0 

    mcause  是2,表示指令访问异常,但是csrs这个指令应该没有问题啊,这会是哪里出现问题呢?  094704e431557410532cdf5b76570d4.jpg 

执行复位函数时进异常中断,感觉应该跟工程有关系,可以尝试在工程上做减法,删减代码,看看什么条件下会触发进异常中断。

另外可以打开下面的设置开关,这样后面再查看lst文件时可以精确的显示那条语句出现问题,更方便问题的定位。

image.png


您说的是工程建立的问题吗?我按照您的设置了,显示的是/*enable all interrupt*/,这个像是初始化调用的,但是这个是重复不断操作设备着出问题了,这个会是中断引起的吗?



您好,你可以看一下启动文件中关于mstatus寄存器的值是如何配置的,是配置在机器模式下还是在用户模式下,注意不同模式下中断函数的声明方式不一样。若方便,可将工程发至我的邮箱(lzs@wch.cn)具体看一下。


只有登录才能回复,可以选择微信账号登录