[技术问答]

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

[复制链接]
1277|3
手机看帖
扫描二维码
随时随地手机跟帖
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  


使用特权

评论回复
tangdengan|  楼主 | 2025-2-3 11:07 | 显示全部楼层
过了一个年,还是没有回复,在网上看到有网友遇到内存跨界指针对齐的问题,也不知道是不是与此有关。

使用特权

评论回复
caigang13| | 2025-2-5 22:02 | 显示全部楼层
这个比较怪,从你描述来看大概率还是软件问题,先烧写一个最简单的程序测试硬件是否有问题。

使用特权

评论回复
tangdengan|  楼主 | 2025-2-6 14:54 | 显示全部楼层
本帖最后由 tangdengan 于 2025-2-6 14:56 编辑
caigang13 发表于 2025-2-5 22:02
这个比较怪,从你描述来看大概率还是软件问题,先烧写一个最简单的程序测试硬件是否有问题。 ...

想过软件问题,但目前我们的测试过程和方案来看,软件的可能性也不大。因为已经完全断电了,重新上电开机还是这样的,我在怀疑是不是他的SRAM有掉电保持功能:就是那个扩展的部分,即使掉电了,但SRAM同样存有数据。
因为触发这个问题后,将重新编译的版本下载下去,片子就正常了,片子正常后,再烧回之前的程序,也能正常跑,这就是神奇的地方,不得解。

使用特权

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

本版积分规则

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

13

主题

52

帖子

0

粉丝