硬汉嵌入式论坛

 找回密码
 立即注册
查看: 425|回复: 6
收起左侧

[技术讨论] GD32H7异常死机

[复制链接]

5

主题

18

回帖

33

积分

新手上路

积分
33
发表于 2024-3-21 10:48:06 | 显示全部楼层 |阅读模式
移植了一块GD32H757的板子,驱动和应用程序都移植完成,在进行长时间测试的时候,发现板子总是偶尔出现死机的现象(经常在晚上7-9点死机),死机的现象就是RUN灯不闪,由于程序已经移植了CM_BACKTRACE,也没有任何打印内容(可以判断没有进任何的fault,每个fault中断里也对单片机进行了复位)。
有几次连着JLINK也出现了死机,现象就是系统时间定时器还在工作,但是一旦点X停止调试则立马跳出调试模式(JLINK失去控制)。

目前在删减代码继续测试过程中,发现问题出在串口通讯上,但是把串口硬件屏蔽掉还是会死机,则问题出现在填串口数据包上,但是还是无法定位到详细位置,想请教一下大佬们有什么办法可以详细定位出现死机的地方?或者有什么其他办法来查找这个死机问题?(死机概率太低有什么办法加大死机概率)
回复

使用道具 举报

3

主题

120

回帖

129

积分

初级会员

积分
129
发表于 2024-3-21 11:25:42 | 显示全部楼层
看样子是纯软件问题,先用静态代码分析工具看一下有没有简单错误。在各个功能模块加个判断标志,模块功能结束清除标志,开定时器中断定时检查这些标志,如果长时间卡在某模块就给他打印出来。如果卡住的地方每次都不一样或者出问题不打印,那可能就是中断有问题。jlink退出调试模式可能因为开了看门狗,一暂停芯片就复位了,jlink没法继续连接
回复

使用道具 举报

5

主题

18

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2024-3-21 14:01:36 | 显示全部楼层
相同的程序在RT1061和STM32H7上运行都没有问题,这次是为了研究国产h7才移植至gd32h7的,怎么感觉都跟芯片有关系。
看门狗是没有开启的,但是JLINK还是断了,感觉是芯片异常跑飞了。
回复

使用道具 举报

3

主题

34

回帖

43

积分

新手上路

积分
43
发表于 2024-3-22 10:28:29 | 显示全部楼层
可乐狂魔 发表于 2024-3-21 14:01
相同的程序在RT1061和STM32H7上运行都没有问题,这次是为了研究国产h7才移植至gd32h7的,怎么感觉都跟芯片 ...

底层驱动程序改了吗?不会直接用H7的代码跑吧,这样肯定会有问题的
回复

使用道具 举报

5

主题

18

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2024-3-22 10:55:16 | 显示全部楼层
西域海盗 发表于 2024-3-22 10:28
底层驱动程序改了吗?不会直接用H7的代码跑吧,这样肯定会有问题的

底层驱动程序肯定是改了的呀,应用程序是同一套。
回复

使用道具 举报

5

主题

18

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2024-3-22 10:58:40 | 显示全部楼层
现在板子死机的时候用jlink工具查看PC指针的位置,查出来是0x08046B64,而这个地址正好对应SYSTICK_HARDLER的入口,感觉是一直卡在系统定时器里。
Screenshot-34c9cc52-facd-44ad-93fa-f49bdc3d3204.png
回复

使用道具 举报

5

主题

18

回帖

33

积分

新手上路

积分
33
 楼主| 发表于 2024-3-25 10:03:04 | 显示全部楼层
可乐狂魔 发表于 2024-3-22 10:58
现在板子死机的时候用jlink工具查看PC指针的位置,查出来是0x08046B64,而这个地址正好对应SYSTICK_HARDLER ...

突然发现这张图里寄存器地址中的LR寄存器的地址为0XFFFFFFE9,这个值的话不是应该会进错误中断吗?为什么gd32h7不进错误中断,而是一直卡在系统时间中断里(systick_handler)???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 20:27 , Processed in 0.251270 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表