嵌入式技术论坛
直播中

其实znvm

9年用户 1275经验值
擅长:电源/新能源
私信 关注
[问答]

怎么解决stm32h743 lcd驱动出现hardfault的问题呢?

使用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

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

回帖(6)

向日葵的花季

2023-2-20 14:44:31
首先尝试调大LCD线程的运行空间。其次可以加载CmBacktrace软件包,可以快速定位问题函数。
举报

其实znvm

2023-2-20 14:44:40
你好,添加上cmbacktrace 软件包后 出现
packageslogmgr-v1.0.0srclogmgr_abort.c(241): error: #20: identifier “FDB_TSDB_CTRL_SET_MAX_SIZE” is undefined
举报

向日葵的花季

2023-2-20 14:44:51
我在我加载过的程序里并未找到您这个定义,你全局查找一下,是不是其他文件定义报错。
举报

其实znvm

2023-2-20 14:45:00
是的,软件包添加乱了,重新整理了一下,
现在屏亮了,在drv_lcd.c中有MSH_CMD_EXPORT(lcd_test, lcd_test);定义,但是在终端中执行时
msh />list_dec 
list_de: command not found.
msh />list_device
device type ref count

lcd Graphic Device 0
uart2 Character Device 0
uart1 Character Device 2
pin Miscellaneous Device 0
msh />lcd_test
lcd_test: command not found.
msh />
command not found 什么意思呢?
举报

向日葵的花季

2023-2-20 14:45:08
MSH_CMD_EXPORT 导出命令没有成功,你看看编译时是否有警告。然后在控制台按下TAB键以确定是否能正常看到命令。
举报

王树林

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

更多回帖

发帖
×
20
完善资料,
赚取积分