打印

产品出现怪异问题.....

[复制链接]
2186|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ningling_21|  楼主 | 2012-9-9 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一批产品出现的奇怪的现象: 产品要求有串口升级程序的功能,单片机烧录程序后,在通过串口给单片机升级程序的时候,最后升级结束时,程序并没有升级完成,而是单片机死机。通过读取FLASH发现,应用区代码被擦除了。 把死机的产品程序再烧录一次(换了电脑,烧录的程序文件相同),升级程序的功能恢复正常。  反复升级多次也不会出现升级死机的现象了。

到底会是什么原因呢?

PS:C8051F340

相关帖子

沙发
阿南| | 2012-9-9 20:47 | 只看该作者
不知道该升级代码是否存在Flash中运行,还是有装载到RAM中运行?如果直接在Flash中运行应该是有问题。

使用特权

评论回复
板凳
ningling_21|  楼主 | 2012-9-9 21:55 | 只看该作者
不知道该升级代码是否存在Flash中运行,还是有装载到RAM中运行?如果直接在Flash中运行应该是有问题。
阿南 发表于 2012-9-9 20:47

升级代码和应用代码都是在FLASH中运行的...

使用特权

评论回复
地板
zhuzhu19860316| | 2012-9-9 21:58 | 只看该作者
一步一个坎,同意

使用特权

评论回复
5
NE5532| | 2012-9-9 22:24 | 只看该作者
每台都这样的话,检查软件编写。

使用特权

评论回复
6
airwill| | 2012-9-10 07:19 | 只看该作者
我看是:
1. 负责烧写的上位机的问题据大. 由于 windows 不属于实时系统. 收发数据并没有严格的时序. 如果通信协议里有超时保护, 很容易因超时而执行默认操作;
2. boot 程序也可能有缺陷, 比如会不会存在数据传输超时后, 就不再响应编程命令;
3. 通信协议也可能有缺陷, 比如导致了数据丢失, 没有继续的握手和恢复功能

当然, 只是根据现象猜测, 还有可能其他原因, 我没有说到. 比如串口线问题 等等.

使用特权

评论回复
7
sjnh| | 2012-9-10 08:20 | 只看该作者
个人估计:看门狗的问题
程序执行时打开了看门狗,导致升级过程中复位;
或外部看门狗;
再下载时,程序已经没了或乱了,没打开看门狗,所有就成功了

至于: 反复升级多次也不会出现升级死机的现象了, 不确定,怀疑更改了与看门狗有关的软件、硬件动作方式

使用特权

评论回复
8
joyme| | 2012-9-10 11:12 | 只看该作者
Flash被擦除后,写程序不成功就会出现这种问题
在线升级都有概率出现的,如果出现概率高就需要检查你的bootloader程序及通讯环境
另需要加强出错处理机制,如通讯出错后的重试,没有升级成功千万别退出bootloader

使用特权

评论回复
9
yewuyi| | 2012-9-10 11:51 | 只看该作者
不知道该升级代码是否存在Flash中运行,还是有装载到RAM中运行?如果直接在Flash中运行应该是有问题。
阿南 发表于 2012-9-9 20:47


不是每一种芯片的BOOTLOAD都是在RAM中运行的,很多MCU的BOOTLOAD都是在FLASH中运行的。

使用特权

评论回复
10
yewuyi| | 2012-9-10 11:52 | 只看该作者
这种问题多数是BOOTLOAD代码存在一些BUG造成的,就别当成啥怪异问题对待了。

使用特权

评论回复
11
ayb_ice| | 2012-9-11 11:21 | 只看该作者
明显程序有问题

使用特权

评论回复
12
ningling_21|  楼主 | 2012-9-14 22:49 | 只看该作者
感谢各位,问题已解决,是程序的问题.

使用特权

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

本版积分规则

5013

主题

17740

帖子

51

粉丝