查看: 8795|回复: 15

[已解决] 无奈了!KL26Z128怎么又锁住了(已解决)

[复制链接]

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
62
最后登录
1970-1-1
发表于 2014-4-14 12:58:41 | 显示全部楼层 |阅读模式
 吐槽篇:
伤透了!KL26Z128VFT4又锁住了!记得刚开始用Freescale芯片时,那时候无知,芯片经常被锁。这次产品准备小批量了,新买的片子,自己焊了两片,由于是QFN封装,用热风枪的吹的,温度控制在300度,焊接完毕,第一次上电用jlink下载程序,锁住。不信邪,换块板子再试,一样被锁。查电路,原理图基本没动,布局稍微改动,应该影响不大。
 
测试篇:
手里只有jlink v8,只能尝试用jlink解锁。
解锁方法,参考https://www.nxpic.org.cn/bbs/article_1280_553023.html
各种尝试,均以失败告终。于是将可下载板子(上一版本)上的芯片与现用芯片对换,发现,可以下载的芯片还是可以下载,排除了板子的问题。
 
描述篇:
[size=10.5000pt]1、使用keil+jlink的方式,点target option ---> Debug,配置如下图所示:
图片1.jpg
点settings,弹出如下窗口:
图片2.jpg
点击确定解锁,不成功。点确定后,窗口变为:
图片3.jpg
在SW Device处,不能找到芯片,解锁失败!
 
 
我知道答案 目前已有14人回答
回复

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
62
最后登录
1970-1-1
 楼主| 发表于 2014-4-14 13:01:18 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

 2、使用Jlink commander来查看,信息如下所示:
  图片4.jpg
根据解锁帖子中提供的方法解锁,失败告终。芯片依然不能被识别!
 
[size=10.5000pt]3、使用J-Flash,选择好芯片之后,点击connect,提醒连接失败。以前研究时发现,提醒connect successufully时,就可成功解锁,现在是连接失败,无法解锁,截图如下:
  图片5.jpg
 
 
请问FAE,针对我这种情况,还可以做哪些尝试?本人真的是黔驴技穷了,眼看项目要完成了,出现这种事情,想想就心烦!
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
62
最后登录
1970-1-1
 楼主| 发表于 2014-4-14 13:15:13 | 显示全部楼层

RE:无奈了!KL26Z128怎么又锁住了

欢迎大家一起讨论,一起解决,一起总结。相信肯定不止我一个人遇到这种情况?
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-4-14 14:00:12 | 显示全部楼层

RE:无奈了!KL26Z128怎么又锁住了

你好,楼主!
我觉得芯片经常性被锁,这一点就挺不正常的,请问你有其他开发板,我建议你用新买的芯片替换一下,看看MCU能否正常烧录。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
62
最后登录
1970-1-1
 楼主| 发表于 2014-4-14 14:17:29 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

回复第 4 楼 于2014-04-14 14:00:12发表:
你好,楼主!
我觉得芯片经常性被锁,这一点就挺不正常的,请问你有其他开发板,我建议你用新买的芯片替换一下,看看MCU能否正常烧录。
 
好的,我试下。另我把最小系统贴出来吧,大家一起来看看,看电路设计上是否有缺陷? 未命名.JPG
 
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
62
最后登录
1970-1-1
 楼主| 发表于 2014-4-14 16:20:53 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

回复第 4 楼 于2014-04-14 14:00:12发表:
你好,楼主!
我觉得芯片经常性被锁,这一点就挺不正常的,请问你有其他开发板,我建议你用新买的芯片替换一下,看看MCU能否正常烧录。
 
 
还是用新板子,将芯片焊接温度控制在275度,能成功下载程序。就算芯片锁住,亦能成功解锁。
只能说该芯片的使用要求确实太高,用过这么多芯片只有它得这么伺候的。
继续用275度焊接测试,验证是否焊接温度引起的?
后续会继续在此贴研究芯片锁住及解锁的问题。
 
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2014-4-14 16:29:06 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

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

提到解锁,你提到的那个贴子里的方法都很详细,但是有一点需要补充的是:可以尝试一直拉低RESET引脚,然后再选择mass erase,可能需要多次操作才会成功!
希望这些信息能够帮到你!
Capture.PNG
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

11

帖子

0

注册会员

Rank: 2

积分
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)
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

65

帖子

0

新手上路

Rank: 1

积分
94
最后登录
1970-1-1
发表于 2014-4-15 09:58:43 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

回复第 8 楼 于2014-04-15 08:43:50发表:
回复第 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引脚未加上拉电阻,只接了一个电容到地,在芯片第一次上电时,是否会导致芯片锁死?
最后分享一个比较好的文档,关于解锁的,希望对大家有帮助。

一样面临这个问题,感谢楼主分享

 
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2014-4-15 10:04:33 | 显示全部楼层

回复:无奈了!KL26Z128怎么又锁住了

像楼主这么认真详细的描述遇见问题真的很难得,也谢谢你分享的文档,很实用!
至于你提到的:假设RST引脚未加上拉电阻,只接了一个电容到地,在芯片第一次上电时,是否会导致芯片锁死?
没有验证过这点我倒不敢完全确认,说一点个人的看法:你发的测试报告有提到过,“复位芯片必须是开漏结构的,不能使用推挽结构的”,之所以要求开漏输出其目的在于外部仿真器,复位电路或者复位芯片可以给RST引脚一个确定电平的电压(不会超过芯片正常工作电压),如果是只接了一个电容到地,从上面分析的角度,我倒觉得问题不大。但是,从芯片启动的角度来看,RST是个双向引脚,复位启动时,芯片会有一个拉低RST引脚的过程,如果直接一个电容到地,不知会不会拉太多的电流出来,而导致无法复位成功!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-7 14:34 , Processed in 0.116897 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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