关于PIC18F掉固件的问题请教
情况 是这样的,公司一直用PIC18F开发产品,几个月前我写了BOOTLOADER进去,程序分BOOT区 、APP区 、APP缓冲区。现在的问题是在样品使用过程中,突然会出现 全MCU程序被擦除的现象,没错,连BOOTLOADER自己都给没了,整个芯片全为FF;
目前猜测:
1、APP程序跑飞,一脚踏在擦FLASH函数上,导致丢固件;
2、芯片下载接口受干扰,直接进入下载模式,把全芯片擦光;
听说以前山寨的JLINK V8也出现过掉固件的情况,然后后来新的BOOTLOADER后就好了,各位可知其中原因? 具体不明,猜测是bootloader的锅 ahfong2006 发表于 2018-9-13 20:38
具体不明,猜测是bootloader的锅
{:mad:} 现在公司主管认为应该是BOOTLOADER的问题,但我是想不出什么情况下会连自己都给擦除。 找PIC的技术支持更靠谱些。{:lol:} 写过很多pic18、pic24、dspic33的boot,未碰到此故障现象。 cheungman 发表于 2018-9-13 22:32
写过很多pic18、pic24、dspic33的boot,未碰到此故障现象。
请问有没有参考例程或都一些防错的措施逻辑;
我在想是否没做边界值 处理,就是写FLASH可能超过FLASH本身大小; 或者是程序跑飞导致的?
目前我用的FLASH操作函数是MPLAB自带的函数。本身貌似没有写FLASH保护这个操作,不知道是不是因为这个问题? 换型号试试呵呵 会不会是上电的时候程序跑飞呢? {:shocked:} 上电瞬间跑飞的事,,,自从有了IAP这种自宫的bug就有偶然出现啊, wkman 发表于 2018-9-14 10:03
上电瞬间跑飞的事,,,自从有了IAP这种自宫的bug就有偶然出现啊, ...
从软件上面有没有好的办法降低跑飞的可能性呢? 18f不是有boot区防写fuses吗 这个十有八九是自己的问题了,软件、硬件 感觉是BOOTLOADER的锅,如果是个别出现掉固件,可以怀疑是进入烧录模式并且刚好又执行了擦除指令。不过烧录模式的握手能成功已经是运气很好了,还要擦除的指令,更是运气好得爆炸! 把BOR加上 大概率是软件或者配置问题。
1、首先要能让故障重现,想尽办法重现。
2、在1的基础上直接写入不带引导的程序,看看问题是否出现。测试过程也有可能出现其他一些问题,要深究是否也会导致丢固件。建议重复上下电看看。
3、如果2没问题就单独写入引导,引导稍加修改让他不会跑入应用程序。建议一直重复上下电看看。
4、再没有找到问题,那就是写个简单的LED闪灯程序。测试看看是否重现。如果出现问题应该为硬件问题。 BOOTLOADER 检查擦写地址,自身地址不处理;FLAS保存几个标志位,标志位对才执行升级程序
页:
[1]