问题描述:
测试的时候发现程序容易崩溃的问题,使用cmbacktrace定位问题发现,定位出的出错地方不对:

程序出错的时候发现报错的地方为:
rt_hw_interrupt_enable(level);
当我吧这个关闭中断与打开中断部分的函数注释掉之后,发现报错的地方换成了
hw_spi_drv[port].sbuf_tcb.wpos = (hw_spi_drv[port].sbuf_tcb.wpos + 1) % SPI_SBUF_MAX;
查找问题的过程中,对 hw_spi_drv 做了监测,初始值和出错地方的值都没变化

现在这个问题,没有思路了,不知道有没有人指导一下思路,看看如何定位这个BUG
The bus fault occurred address is 200a8ca0 // 这个地址是确实非法现在32的内存空间为 【20000000 ~ 20030000】
这个访问的地址确实不对,根据 cmbacktrace 并没有有效找到位置.但是不知是哪里让程序去方位这个地址?