想问一下如何调试Load指令访存错误的hardfault

我遇到了一些hardfault,我查阅了《QingKeV4 微处理器手册》,并获取了mcause用于调试。

mcaus的值是5,而根据手册的藐视,非精确异步无法精确定位,我想问一下像这种东西应该如何调试呢?

image.png

补充一下,我使用SPI驱动SD卡进行数据存储,不存储没事,开始存储会随机进入hardfault



再补充一下,我还使用了好几个的DMA。我记得友商的某个片子的DMA有BUG,在同时传输数据的时候会导致数据出错。我想问一下你们这边有没有类似的硬件BUG?或者我在哪可以找到勘误手册,官网上我只找到了参考手册和数据手册。



您好,可以参考下图将mepc、mcause、mtval三个CSR寄存器的值具体打印出来看一下,定位一下问题的具体位置。后续问题可将工程发至我的邮箱(lzs@wch.cn)具体看一下。关于DMA,目前我们无该类问题。

image.png


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