打印
[技术问答]

HC32F460KCTA/KETA单片机跑一段时间后,程序就再也不能正常运行了

[复制链接]
192|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tangdengan|  楼主 | 2025-1-25 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tangdengan 于 2025-1-25 16:15 编辑

我们使用HC32F460KCTA/KETA的系统,操作系统是RTT
应用分为bootloader和application,这个产品硬件已经销售了几年了,但现在遇到了一个非常神奇的问题
我们的设备在现场正常工作一段时间后,可能是10天,也可能是一个月或者更长,这个设备会出现不能正常运行的情况
表现出来是 rtt 的主任务提示 task overflow
看到这个,我们一般都认为是 任务的栈空间小了,但是这个出现在  大while还没有到达的时候,并且这个溢出的时候,是在初始化启动其它子任务,并不需要多大的栈开消,况且在没有出故障之前,这个运行是很正常的,其它设备也是这个调用流程,没有问题。这个前面调用的逻辑已经大范围在产品中使用,只有这一批出会现,首先,排险硬件设计和硬件不稳定的情况,我们这批产品之前已经工作了1年多了。

方案1:触发硬件看门狗
一但出现这个情况,我们的外置硬件看门狗会对rst引脚复位,单片机同样是跑到此位置,然后报错。

方案2:现场断电
我们试过在现场将设备断电,过了几分钟后再开启,还是同样的地方报错

方案3:程序对比
通过SWD口将片内程序读出来比较,内部FLASH程序没有被修改

方案4:程序复现
用出现此故障的设备重新刷写与此故障相同的程序,故障现象一致,需要重新刷写一个能正常运行的程序后,再刷回之前版本的程序,又可以正常运行

不知道该故障是否触发单片机的某个“特性”????期待有解决方案。
补充一下FLASH和内存的占用情况
Program Size: Code=133176 RO-data=10464 RW-data=1468 ZI-data=172964  


使用特权

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

本版积分规则

个人签名:专业DTU/RTU开发,上位机开发 hycorp.taobao.com

13

主题

48

帖子

0

粉丝