搜索
bottom↓
回复: 20

STM32单片机正常工作一段时间死机,复位无效,只有重下程序

[复制链接]

出0入0汤圆

发表于 2017-9-1 22:10:22 | 显示全部楼层 |阅读模式
本帖最后由 白白e家 于 2017-9-2 09:57 编辑

最近做项目遇到一个棘手的问题,一根CAN总线上挂了100个STM32F103C8T6,其中有十个左右工作了一段时间会反复出现死机情况,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会变化,怀疑是FLASH这一块的问题,但是具体怎么解决不知道。一旦死机,复位无效,重新上电也无效,加看门狗也不行,只有重新下载程序才可以,但是下过程序之后,再工作几天还是会死机,并且会越来越频繁。求各位大虾帮忙看下,不胜感激 ,补充一下,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会变化,这是一种情况,更多的是死机后,就完全不工作了,屏幕也白屏了,从新下载程序后就好了

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入54汤圆

发表于 2017-9-1 22:13:36 | 显示全部楼层
flash被改掉了?
直接把死机的flash值读出来比较下

出0入0汤圆

发表于 2017-9-2 07:54:12 | 显示全部楼层
硬件焊接问题吧

出0入0汤圆

发表于 2017-9-2 07:59:00 | 显示全部楼层
是Flash模拟的eeprom存储吗?无代码无法判断

出0入475汤圆

发表于 2017-9-2 08:46:39 来自手机 | 显示全部楼层
为什么重新下载之前不把旧程序读出来对比一下?!

出0入0汤圆

发表于 2017-9-2 08:51:48 | 显示全部楼层
是不是运行期间把程序区域都给改写了,出问题的回读比较

出0入0汤圆

发表于 2017-9-2 08:55:38 | 显示全部楼层
读出来用工具比对一下,不就知道了么?如果程序没问题就找硬件了

出0入8汤圆

发表于 2017-9-2 08:58:31 | 显示全部楼层
频繁出现 才好解决,先读取不工作的 程序 来对比

出0入4汤圆

发表于 2017-9-2 09:21:56 | 显示全部楼层
Flash读写尤其要注意,一不小心毁了自身。

出10入8汤圆

发表于 2017-9-2 09:35:30 | 显示全部楼层
那不是死机。是存储数据被改写,硬件上供电加大电容,软件做备份处理,查下是否软件数组越界。

出0入50汤圆

发表于 2017-9-2 09:49:38 | 显示全部楼层
先不要把程序区加密,出问题后可以读取检查下究竟哪个地方被改动了

出0入0汤圆

 楼主| 发表于 2017-9-2 09:58:35 | 显示全部楼层
leiyin 发表于 2017-9-2 07:54
硬件焊接问题吧

应该不是,所有的都能正常工作一段时间

出0入0汤圆

 楼主| 发表于 2017-9-2 09:59:05 | 显示全部楼层
lusson 发表于 2017-9-1 22:13
flash被改掉了?
直接把死机的flash值读出来比较下

,补充一下,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会变化,这是一种情况,更多的是死机后,就完全不工作了,屏幕也白屏了,从新下载程序后就好了,不知道咋解决了

出0入0汤圆

 楼主| 发表于 2017-9-2 09:59:50 | 显示全部楼层
lengqing1309 发表于 2017-9-2 09:35
那不是死机。是存储数据被改写,硬件上供电加大电容,软件做备份处理,查下是否软件数组越界。 ...

硬件上电源进来的有330UF的电解电容和M7防反接

出0入0汤圆

发表于 2017-9-2 10:03:06 | 显示全部楼层
我一般把存储的参数放在同一页中,这一页安排在FLASH的最后一页,最好再用一页做备份,所有参数加上校验字。FLASH是按页操作的,注意FLASH加锁解锁,没出现过问题。

出0入0汤圆

发表于 2017-9-2 10:04:47 | 显示全部楼层
根据现有的描述基本判断是FLASH被写坏了,不是的你用的是内部还是外扩FLASH,FLASH读写是否频繁?有无坏块管理?检查一下FLASH读写相关的程序吧

出0入0汤圆

发表于 2017-9-2 10:07:15 | 显示全部楼层
白白e家 发表于 2017-9-2 09:59
,补充一下,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会 ...

100多个设备,出现几十有问题。先排除硬件问题,这些设备是什么配置参数不一样吧,重新把正常的设备配置成这批出问题的设备,要是出现问题,说明程序方面有问题。

程序那块有逻辑不对的,而且是某些特殊配置下。具体不知道你程序怎么写的。

出0入0汤圆

发表于 2017-9-2 10:09:53 来自手机 | 显示全部楼层
那十个左右,每次都是那是个吗,把100减到80个设备看看什么情况

出0入476汤圆

发表于 2017-9-2 10:19:28 | 显示全部楼层
如果用的是芯片内部的flash的话,建议楼主查程序吧。90%是程序写错了。一般干扰之类的不可能频繁出现的。 还有就是操作flash太频繁被你写坏了,或者操作的时候不注意擦除部分字节前没备份和校验。总之你程序写错的几率很大

出0入0汤圆

发表于 2017-9-2 17:11:55 | 显示全部楼层
建议先把异常的单片机数据读出来  你是flash读出来数据不变  看那个flash区应该不难发现问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 20:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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