你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407运行半个月后出现死机

[复制链接]
东方人的梦 提问时间:2018-4-10 11:24 /
阅读主题, 点击返回1楼
收藏 评论20 发布时间:2018-4-10 11:24
20个回答
pentral0311 回答时间:2018-4-19 10:58:40
小弟浅见,觉得问题偏向软件部分,
1.可能堆栈异常,例如某个子程序,开的一个变量缓冲不够,一开始也没问题,等频繁调用时,慢慢造成你的PC指针或者溢出。
2. 还有一种就是can使用中断方式,是否使用了过多的操作,因为断开没问题,只有联网通讯才出现。

3.可以只保留CAN通讯功能,把其应用的先删除,再试试,会不会出现,这个可以区分是底层的硬件方面的,还是应用层出的问题,缩小范围吧。 建议多搭几套测试环境,看看是那种环境出来的

以上仅供lz参考, 开发最大的工作就是找思路的DEBUG

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

叔森 回答时间:2018-4-21 16:35:22
我之前遇到过类似问题,后来发现是STM32 CAN通信有个错误计数保护机制,当发现CAN总线错误帧超过128时自动离线。有两个解决办法,CAN芯片初始化或关闭错误计数自动离线功能(在STM32 CAN配置里)。
这个别的没事个别板有问题 原因还是你那CAN总线布线在运行中受干扰问题。最好顺带优化下那CAN线,双绞线首末两端加120欧电阻

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

hello_bug 回答时间:2018-4-21 16:53:22
确定是重启就好了?
那也有2种情况:1、硬件问题。芯片有问题,看看硬件设计和选型上是否有不合理的地方。
2、软件问题,但软件问题可以看产品,如果所有产品都是如此,那就是软件问题,如果有一部分没事,那和软件就没关系了。如果是软件问题,建议加打印输出,然后一直运行,当停止运行时,将当时状态输出查看。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

东方人的梦 回答时间:2018-5-2 16:15:40
pentral0311 发表于 2018-4-19 10:58
小弟浅见,觉得问题偏向软件部分,
1.可能堆栈异常,例如某个子程序,开的一个变量缓冲不够,一开始也没问 ...

恩,现在能排除堆栈异常了,只能继续找问题,开发产品容易,找BUG太困难了。谢谢了
东方人的梦 回答时间:2018-5-2 16:17:39
叔森 发表于 2018-4-21 16:35
我之前遇到过类似问题,后来发现是STM32 CAN通信有个错误计数保护机制,当发现CAN总线错误帧超过128时自动 ...

你好,请问CAN离线能引起整个系统死机?
叔森 回答时间:2020-8-14 11:08:48
东方人的梦 发表于 2018-5-2 16:17
你好,请问CAN离线能引起整个系统死机?

CAN发送失败,循环发送检查是否成功
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版