搜索
bottom↓
回复: 13

AvR单片机使用过程中会丢失程序吗?

[复制链接]

出0入49汤圆

发表于 2021-4-16 12:50:41 | 显示全部楼层 |阅读模式
有个产品维护,很多年前开发的,用的是AvR单片机,目前出现问题的时候就像死掉了一样,输入输出都没反应。断电重启也一样不行,必须每次都要重新烧录程序。有坛友遇到过这种情况吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2021-4-16 12:58:52 来自手机 | 显示全部楼层
好像会,可能是烧录不良,我用高速烧录器烧录,脱机那种,就有这种概率。而用下载线连电脑,用最慢都速度烧录,就不会丢程序了。估计是烧录快了,写的flash不够电压,存储的不结实吧。

出100入113汤圆

发表于 2021-4-16 13:04:32 | 显示全部楼层
我遇到过。

有Bootloader吗?FLASH写保护有锁定吗?
FLASH 写入错误解锁码,复位前FLASH不能再写入。

出0入49汤圆

 楼主| 发表于 2021-4-16 13:26:30 | 显示全部楼层
saccapanna 发表于 2021-4-16 13:04
我遇到过。

有Bootloader吗?FLASH写保护有锁定吗?

程序中只有上电初始化的时候读写一次内部EEPROM,然后主程序只有读EEPROM了,跟这个有关系嘛?

出0入49汤圆

 楼主| 发表于 2021-4-16 13:28:26 | 显示全部楼层
why800 发表于 2021-4-16 12:58
好像会,可能是烧录不良,我用高速烧录器烧录,脱机那种,就有这种概率。而用下载线连电脑,用最慢都速度烧 ...

你的意思是说烧录是成功了,但是会在产品使用过程中flash里的程序丢了,是这个意思嘛?

出0入42汤圆

发表于 2021-4-16 13:37:37 | 显示全部楼层
准确说,会。    处理好复位电路,   还有电源,就没事了。

出200入2554汤圆

发表于 2021-4-16 16:55:03 来自手机 | 显示全部楼层
最简单的,开BOD,开慢上电延时

出0入8汤圆

发表于 2021-4-16 16:55:49 | 显示全部楼层
之前碰到过,加BOD,加6楼方案

出330入1880汤圆

发表于 2021-4-16 17:37:56 | 显示全部楼层
本帖最后由 cne53102 于 2021-4-16 17:39 编辑

程序跑飞把自己给屠了吧,熔丝设置开尽可能高电压的BOD选项,上电延时选最大,对SPM/LPM做限制(BLB01,02,11,12=0,估计楼主的问题在这里)
另外复位和电源电路要做好

出0入0汤圆

发表于 2021-4-16 18:34:35 | 显示全部楼层
huali8412 发表于 2021-4-16 13:28
你的意思是说烧录是成功了,但是会在产品使用过程中flash里的程序丢了,是这个意思嘛?
...

是的,烧录成功了,程序表现正常,但高低温老化后,或出货几个月,几年后,程序运行功能不对,有的死机了。拿回来读FLASH,内容有一点点改变,随机位置的。因为没有bootloder程序,没有写过flash写入指令,不好分析原因了。后来猜测是不是烧录过快,改变了烧录速度,这个问题就消失了。

出0入442汤圆

发表于 2021-4-16 19:16:28 来自手机 | 显示全部楼层
why800 发表于 2021-4-16 18:34
是的,烧录成功了,程序表现正常,但高低温老化后,或出货几个月,几年后,程序运行功能不对,有的死机了 ...

按道理烧录速度是芯片自己控制的啊。跟编程速度怎么会有关系了呢?正常情况下flash烧写过程中是不响应外部请求的,此时cpu应处于死机状态。像spi,24lc等都有个内部编程计数器,没有烧好不响应或返回busy。

出0入0汤圆

发表于 2021-4-16 20:57:05 | 显示全部楼层
wye11083 发表于 2021-4-16 19:16
按道理烧录速度是芯片自己控制的啊。跟编程速度怎么会有关系了呢?正常情况下flash烧写过程中是不响应外 ...

是这样,但AVR的8位mcu好像不是这样做的,他好像是开环的,当然是我自己感觉的,不一定准。所以这个事情不特别确定,但之前总是丢固件,改了后就没有发现了。根据这些,推断的

出0入442汤圆

发表于 2021-4-16 21:26:58 来自手机 | 显示全部楼层
why800 发表于 2021-4-16 20:57
是这样,但AVR的8位mcu好像不是这样做的,他好像是开环的,当然是我自己感觉的,不一定准。所以这个事情 ...

噢,那倒有可能。手动控制时序在二十来年前有可能,当时的eprom好像就是软件延时。

出145入215汤圆

发表于 2021-4-16 21:41:08 来自手机 | 显示全部楼层
huali8412 发表于 2021-4-16 13:26
程序中只有上电初始化的时候读写一次内部EEPROM,然后主程序只有读EEPROM了,跟这个有关系嘛? ...

avr  内部eeprom是独立的一个存储器,与flash无关联吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 08:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表