stm32h743 lcd 驱动出现hardfault 问题

发布于 2021-04-22 09:19:27

使用stm32h743 加入sdram 模块和lcd 驱动模块后 ,使用串口终端测试出现如下现象:

sd0      Block Device         1       
uart2    Character Device     0       
uart1    Character Device     2       
pin      Miscellaneous Device 0       
msh />lcd_test
psr: 0x81000000
r00: 0x00000004
r01: 0x00000007
r02: 0x000000f8
r03: 0x89a208f6
r04: 0x00000000
r05: 0x2400d81e
r06: 0x080134b5
r07: 0x2400e870
r08: 0x00000001
r09: 0x00000008
r10: 0xdeadbeef
r11: 0xdeadbeef
r12: 0x00000000
 lr: 0x0801cbe9
 pc: 0x080134c2
hard fault on thread: tshell



thread   pri  status      sp     stack size max used left tick  error
-------- ---  ------- ---------- ----------  ------  ---------- ---
tshell    20  running 0x0000013c 0x00001000    08%   0x00000007 000
mmcsd_de  22  suspend 0x000000a0 0x00000400    62%   0x0000000e 000
tidle0    31  ready   0x00000058 0x00000400    08%   0x00000013 000
timer      4  suspend 0x00000060 0x00000200    18%   0x00000009 000
main      10  suspend 0x00000084 0x00000800    49%   0x00000011 000
bus fault:
SCB_CFSR_BFSR:0x04 IMPRECISERR

这是什么问题呢?如何查找原因呢?没有思路啊

查看更多

关注者
0
被浏览
151
3 个回答
mii
mii 2021-04-22

首先尝试调大LCD线程的运行空间。其次可以加载CmBacktrace软件包,可以快速定位问题函数。http://packages.rt-thread.org/detail.html?package=CmBacktrace

whj467467222
whj467467222 认证专家 2021-04-22

如果你是 stm32h743-atk-apollo 那么需要修改

image.png

flashman2002
flashman2002 2021-04-22

方法:
1、单步调试;
2、使用CmBackrtace软件包判断系统崩溃时的函数调用层次;
3、加大线程栈尺寸;

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览