操作设备,操作操作,就死掉,进入HardFault,在里面打印值为: mepc:00003c86 mcause:00000002 mtval:3002a073 查看lst,是 3c86: 3002a073 csrs mstatus,t0
mcause 是2,表示指令访问异常,但是csrs这个指令应该没有问题啊,这会是哪里出现问题呢?
操作设备,操作操作,就死掉,进入HardFault,在里面打印值为: mepc:00003c86 mcause:00000002 mtval:3002a073 查看lst,是 3c86: 3002a073 csrs mstatus,t0
mcause 是2,表示指令访问异常,但是csrs这个指令应该没有问题啊,这会是哪里出现问题呢?
执行复位函数时进异常中断,感觉应该跟工程有关系,可以尝试在工程上做减法,删减代码,看看什么条件下会触发进异常中断。
另外可以打开下面的设置开关,这样后面再查看lst文件时可以精确的显示那条语句出现问题,更方便问题的定位。
您说的是工程建立的问题吗?我按照您的设置了,显示的是/*enable all interrupt*/,这个像是初始化调用的,但是这个是重复不断操作设备着出问题了,这个会是中断引起的吗?
您好,你可以看一下启动文件中关于mstatus寄存器的值是如何配置的,是配置在机器模式下还是在用户模式下,注意不同模式下中断函数的声明方式不一样。若方便,可将工程发至我的邮箱(lzs@wch.cn)具体看一下。