请教:我的STC的程序,貌似跑飞,回不来了?
前段时间发过一个"关于STC偶尔掉程序问题",先谢谢大家的热情回答。我用到的是STC11F40XE系列 ,程序基本写满了,EEprom 用到了不少(EEPROM是用IAP操作的),程序中有串口通信。
这段时间一直在排查问题,发现,问题其实不是程序掉了,而是程序被篡改了(可能是单片机跑飞后,莫名其妙的篡改了什么数据),
具体表现为:(一下现象都是多次上电复位,表现现象一致)
(1)产品一,我程序开始的地方,有一个595的初始化,用逻辑分析仪抓对应IO,状态都正常(时钟,数据,片选都对),然后就执行下面的程序时跑步过去,然后就一直死在了这个地方(一直重复595的初始化)
(2)产品二,发现一直在对外发送一个固定数据。
量产的产品出现这个问题,是很头痛的。希望大家帮忙分析分析。 595还要初始化?我都是直接就驱动了。 小李非刀 发表于 2015-3-16 17:48
595还要初始化?我都是直接就驱动了。
我后继接的NPN所有上电时先把输出全部置零的。 很笼统,无法判断,我用的是10F04XE,没有用串口。也没有用595。 会不会是该IO口有什么特殊用法你没注意到? 小李非刀 发表于 2015-3-16 17:48
595还要初始化?我都是直接就驱动了。
先给一个固定的状态,不至于初始状态不确定 xiaobendan 发表于 2015-3-16 18:21
很笼统,无法判断,我用的是10F04XE,没有用串口。也没有用595。
个人感觉是,程序中某个BUG,在某种情况下,导致程序被篡改了。想请大家帮忙分析一下,哪些情况会导致篡改到程序 内存或堆栈溢出
使能中断却没写中断服务函数
调用了不存在的函数 STC用内部的所谓EEPROM,一段时间后确实存在这样的问题,建议外扩用作数据存储。
页:
[1]