在线时间0 小时
UID1067571
注册时间2007-8-14
NXP金币0
该用户从未签到
注册会员

- 积分
- 62
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2014-4-15 08:43:50
|
显示全部楼层
回复:无奈了!KL26Z128怎么又锁住了
回复第 7 楼 于2014-04-14 16:29:06发表:
之前也有碰到客户的板子芯片被锁,首先,从原理上讲芯片被锁的原因在于Flash的加密位FSEC被置位,它的位置在Flsah的0X40C位,在芯片被复位后会自动加载到FSEC的寄存器中;导致被锁可能原因有很多,最常见的为了保护芯片代码,Users配置了FSEC位,还有一类就是在烧写程序时不恰当的时序导致FSEC位被篡改。如我们就发现部分盗版的JLink其在Reset引脚不是open-drain,从而会在芯片Reset引脚产生一个电压脉冲,如下图甚至有些仿真器会先把Reset引脚拉高,然后才给芯片上电, 所以偶尔会导致芯片被锁。
至于无法擦除,从本质上来讲是Mass erase 被disabled,即FSEC寄存器的MEEN位被置0,这样就会造成无法全擦除;同样导致的原因也有两种,一是人为故意的清0;另外一个错误的时序引起该位被修改。碰见这种问题,首先要确认自己程序对FSEC和Mass erase 的配置,对于KEIL,你可以查看Configuration Wizard的FSEC字节。另外,为防止被锁,还有一些小的细节可以注意:SWD_CLK和SWD_DATA走线不要太长; 烧写时不要连接reset引脚;下载先不要过长等,

提到解锁,你提到的那个贴子里的方法都很详细,但是有一点需要补充的是:可以尝试一直拉低RESET引脚,然后再选择mass erase,可能需要多次操作才会成功!
希望这些信息能够帮到你!
非常感谢您的回复!您的回复很详细。查看了工程的配置,与您图片上的是一致的。
jlink的RST脚,我在电路上通过0欧姆电阻连接,一般状态下,我都让其断开,因此可以排除RST信号引起的影响。
SWD_CLK和SWD_DIO,我的走线长度未超过15mm,应该也在合理的范围之内。
截止目前为止,焊接温度太高是最有可能导致我芯片锁死的原因。
另外,我再咨询一种可能性,假设RST引脚未加上拉电阻,只接了一个电容到地,在芯片第一次上电时,是否会导致芯片锁死?
最后分享一个比较好的文档,关于解锁的,希望对大家有帮助。
FSL芯片解锁测试报告.pdf
(710.83 KB, 下载次数: 71)
|
|