打印
[其他ST产品]

stm32的一个复位问题的定位

[复制链接]
465|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stm32的一个复位问题的定位
1)芯片是:stm32f030c8t6
2)stm32 的程序使用了freertos,导致ram有些紧张。
3)stm32f030c8t6 的串口和 imx6ull 的串口进行连接。

问题现象
芯片运行中概率出现复位情形, 我的板子有个指示灯,狂闪说明复位了。 这个概率也不高。



问题分析

老是概率复位,缩小范围到判断和通讯代码有关系,完全去掉通讯收发代码,保留中断,未发现复位。
添加通讯代码后,概率出现。

一直怀疑了好几天,反复看代码都未发现问题。


使用特权

评论回复
沙发
在水一方00|  楼主 | 2023-11-20 22:28 | 只看该作者
后面设置断点在复位处,keil跟踪调用栈,抓住一次后才定位

使用特权

评论回复
板凳
在水一方00|  楼主 | 2023-11-20 22:28 | 只看该作者
问题解决
问题代码中(下面第一个图),串口发送函数timeout值是0xffff。 之前一直这么用没有出过问题,那么在发送成功不会产生超时,如果偶然有超时触发时就会有问题。
原因分析:硬件发送不出数据后超时,超时触发看门狗复位。

使用特权

评论回复
地板
在水一方00|  楼主 | 2023-11-20 22:29 | 只看该作者
根据我发送的数据50个字节,timeout修改成64后未再出问题。

使用特权

评论回复
5
jf101| | 2023-11-30 12:32 | 只看该作者
楼主这个问题确实跟时间通讯有关系

使用特权

评论回复
6
stormwind123| | 2023-11-30 15:34 | 只看该作者
检查STM32的时钟配置是否正确。

使用特权

评论回复
7
laocuo1142| | 2023-11-30 15:34 | 只看该作者
如果确定是软件复位问题,检查程序代码中是否存在可能导致复位的原因。

使用特权

评论回复
8
probedog| | 2023-11-30 15:34 | 只看该作者
检查复位电路的设计和连接是否正确

使用特权

评论回复
9
stormwind123| | 2023-11-30 15:35 | 只看该作者
检查是否存在电磁干扰(EMI)或其他外部因素可能干扰STM32的正常工作。

使用特权

评论回复
10
classroom| | 2023-11-30 15:35 | 只看该作者
检查电源是否稳定,以及是否存在电压波动或其他电源问题

使用特权

评论回复
11
Undshing| | 2023-11-30 16:13 | 只看该作者
时间的问题吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

567

帖子

0

粉丝