faye_xzw 发表于 2016-6-21 18:19

长时间不用单片机就不工作了,需要重新刷写程序

最近遇到一很严重的问题,我画的电路板量产了,测试合格后打包入库,卖到客户一段时间后,程序就不会正常运行,返修回来后查看片子里面的hex文件,对比发现hex并未出现变化。我重新刷写程序后又能工作了,出现的概率挺高的,老板发火了,求助啊?什么原因,有没有遇到过啊,求帮忙。我用的是NXP LPC2109/LPC2119的片子。

suoma 发表于 2016-6-21 20:28

程序不翼而飞

suoma 发表于 2016-6-21 20:28

你可以模拟客户那边的环境试一下

faye_xzw 发表于 2016-6-21 21:02

suoma 发表于 2016-6-21 20:28
程序不翼而飞

我把片子里面的代码拷贝出来跟可用的板子对比一下,发现都是一样的,证明程序没飞。

faye_xzw 发表于 2016-6-21 21:04

suoma 发表于 2016-6-21 20:28
你可以模拟客户那边的环境试一下

现在就是程序不执行了。重新烧写就可以执行,不知道什么原因呢。

Charsly 发表于 2016-6-21 21:14

看门狗没开吗

faye_xzw 发表于 2016-6-21 21:36

<div class='shownolgin' data-isdigest='no'>Charsly 发表于 2016-6-21 21:14
看门狗没开吗

看门狗开了的,为了防止跑飞代码加了看门狗的。</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

wajuka 发表于 2016-6-21 21:50

<div class='shownolgin' data-isdigest='no'>模拟客户那的环境长时间测试呢会不会出现这种情况,你这边重新刷固件程序正常那在客户那出问题的板子重启或者复位后出现还正正常不</div><script>showreplylogin();</script>

chunyang 发表于 2016-6-21 22:05

<div class='shownolgin' data-isdigest='no'>反复测试吧,既然程序能读出且内容无变化,说明并非程序丢失。另外注意你所用的MCU是否有涉及影响系统工作的熔丝位,熔丝位被改变的话,后果难料。排除此点,说明是你的设计不良,有参数临界问题。除前述熔丝位外,重点检查时钟和复位电路。MCU用接插件安装的话,注意接触问题。
一般而言,MCU被编程后应进行加密操作,内代码应无法读出才是。</div><script>showreplylogin();</script>

chunyang 发表于 2016-6-21 22:09

<div class='shownolgin' data-isdigest='no'>才注意到,楼主帖部分内容跟三年前的一个帖子相同,这也抄?</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-21 22:14

<div class='shownolgin' data-isdigest='no'>wajuka 发表于 2016-6-21 21:50
模拟客户那的环境长时间测试呢会不会出现这种情况,你这边重新刷固件程序正常那在客户那出问题的板子重 ...

他们是用过了一段时间后不正常了。</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-21 22:15

<div class='shownolgin' data-isdigest='no'>chunyang 发表于 2016-6-21 22:05
反复测试吧,既然程序能读出且内容无变化,说明并非程序丢失。另外注意你所用的MCU是否有涉及影响系统工作 ...

刷写固件用的是Flash Magic,未做保护,所以可读出hex文件。</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-21 22:16

<div class='shownolgin' data-isdigest='no'>chunyang 发表于 2016-6-21 22:09
才注意到,楼主帖部分内容跟三年前的一个帖子相同,这也抄?

主题一样,遇到的问题一致,不知道那哥们解决了没。</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-21 22:20

<div class='shownolgin' data-isdigest='no'>chunyang 发表于 2016-6-21 22:05
反复测试吧,既然程序能读出且内容无变化,说明并非程序丢失。另外注意你所用的MCU是否有涉及影响系统工作 ...

关于时钟这个问题,我之前用过STM32做过测试,只要电路连接正常,晶振是会起振的。
板子刚拿回来的时候,我用示波器测过,正常起振。
关于复位电路,出了上电复位,其他时间未曾复位。
关于熔丝位,这个我不是很清楚,我先学习一下。</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-21 22:32

<div class='shownolgin' data-isdigest='no'>chunyang 发表于 2016-6-21 22:05
反复测试吧,既然程序能读出且内容无变化,说明并非程序丢失。另外注意你所用的MCU是否有涉及影响系统工作 ...

刚看了一些关于熔丝位的一些资料,主要是AVR单片机里面会用到,我用的MCU是NXP LPC2119,没有关于熔丝位的设置。</div><script>showreplylogin();</script>

lyfly_away 发表于 2016-6-21 23:28

<div class='shownolgin' data-isdigest='no'>可读出,没做加密?</div><script>showreplylogin();</script>

chunyang 发表于 2016-6-22 00:03

<div class='shownolgin' data-isdigest='no'>faye_xzw 发表于 2016-6-21 22:32
刚看了一些关于熔丝位的一些资料,主要是AVR单片机里面会用到,我用的MCU是NXP LPC2119,没有关于熔丝位 ...

还是好好测试吧,先别刷程序,就在故障机上测试,事出反常必有因。</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-22 09:06

<div class='shownolgin' data-isdigest='no'>lyfly_away 发表于 2016-6-21 23:28
可读出,没做加密?

没做加密处理,Jlink直接可以拷贝程序出来的。</div><script>showreplylogin();</script>

huaiqiao 发表于 2016-6-22 10:15

<div class='shownolgin' data-isdigest='no'>Flash Magic是isp的方式烧录固件的吧。有没有尝试其他烧录方式,用Jlink或者其他工具烧录,会出现这种固件丢失的状况么</div><script>showreplylogin();</script>

faye_xzw 发表于 2016-6-22 11:16

<div class='shownolgin' data-isdigest='no'>huaiqiao 发表于 2016-6-22 10:15
Flash Magic是isp的方式烧录固件的吧。有没有尝试其他烧录方式,用Jlink或者其他工具烧录,会出现这种固件 ...

我们的烧写分为两步,Flash Magic烧了一个程序进去,里面真正的程序使用实验室内部师兄写的软件来烧写。
我昨天做了一个测试用Jlink烧写之后程序不能正常运行。
</div><script>showreplylogin();</script>
页: [1] 2
查看完整版本: 长时间不用单片机就不工作了,需要重新刷写程序