查看: 51036|回复: 75

[讨论] 细说Kinetis芯片解锁方法(欢迎大家来一起讨论)(添加更新v1.0.1)

[复制链接]

该用户从未签到

12

主题

52

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
发表于 2013-7-18 19:57:03 | 显示全部楼层 |阅读模式
细说[url=https://www.freescale.co
m/zh-Hans/webapp/sps/site/homepage.jsp?code=KINETIS]Kinetis芯片[/url]解锁方法
History:
         v1.0.1 添加了第五种芯片被锁的原因;
/***********************************************************************/    
 
        之前一直蜗居在ChinaAET的老巢里,现在随着走进Freescale,也是时候想想到官方社区来落脚了(也感受到EEfocus热闹的气氛了,呵呵),当然自己的老根据地还是依旧镇守的。所以以后会同时在AET和EEfocus连载文章,不足之处欢迎大家提出建议(拍拍砖也木有问题,哈哈),有问题也可以在EEfocus的帖子后面或者AET我的博客里留言(blog.chinaaet.com/jihceng0622,我会尽最大可能解答(咳咳,跟以前的单打独斗不同,现在后面的团队相当强大,所以不会担心解决不了问题,呵呵)。
        好了,废话了不多说了,进入正题。说到飞思卡尔的Kinetis,已经推出了将近3年了(我是整整与它打了2年的交道,呵呵),市场证明他的性能是没有问题的(汽车电子的龙头地位可不是盖的,虽然Renesas合并了NEC之后夺过了头把交椅,不过freescale的技术功底还是靠谱的)。但是估计很多人在开发Kinetis的时候常常会遇到芯片被锁的问题(这点的确让人很头疼,尤其是Kinetis早期版本尤为明显,电压不稳就可能导致flash被锁,这是飞思卡尔出于可靠性设计的考虑),关于这点,之前也有博友问过我,现在网上也是众说纷纭,公说公有理,婆说婆有理,所以这次我干脆把网上的解决方法过滤一下,在此列出比较靠谱的几种解决办法(当然如果你想知其所以然的话可以查看Kinetis官方Reference Manual的Security那一章),方便大家查阅:
   首先说说造成芯片被锁的原因(这是我解决问题的原则,凡事总想知道为什么,咳咳,有点刨根问底的倔),我把它归为以下几种:
 
1)电源不稳造成芯片被锁,这是芯片的一种自我保护机制,这个无可厚非,跟硬件环境有关;
2)调试过程中的不规范行为,初学者最常犯的错误就是带电插拔调试器,这是一个陋习,其实很多情况下的芯片被锁都是这个原因造成的。我按照规范模式调试了两年Kinetis,貌似只锁过两次,而且都顺利解锁了;
3)焊接Kinetis的时候电烙铁的温度过高造成芯片内部损坏,这种情况下的死锁一般很难再解开了,建议焊接过程中将温度保持在300度左右,一定不能超过400度;
4)人为的给芯片上锁,这个对量产后的产品是必须的,Kinetis提供了相当可靠地知识产权保护机制;
5)调试器与目标芯片连线过长,造成时序不同步或者不稳定,引起误擦写了芯片内部security的内存部分(0x400~0x40F),从而锁住了芯片;
 
   说完了被锁,下面该说说怎么解锁了,其实解锁的原理很简单,芯片被锁之后是不允许调试器再对其内部的flash进行读写了,但是Kinetis给我们还是留了条出路的(不然可就没救了,所以说万事还真得给自己留条后路,哈哈),在芯片被锁之后它是可以通过调试器对flash进行“mass erase”的,即整片擦写,擦写之后就可以还原其初始状态再继续读写了,不过如果芯片被锁到最高级别,即“mass erase”都禁能了,那就基本没救了,不过这种情况很少。下面罗列一下目前较为行之有效的解锁方法。
   目前最常用的是Jlink解锁方式,其实现在支持“mass erase”较好的主要有两种调试器,一个是Jlink,另一个是pgo的USBDM,这两个调试器都提供相对来说比较简单易用的整片擦写能力:
 
1)Jlink解锁方式有三种,其中一种最为简单,连接好硬件平台,然后打开J-Link Commander,在cmd环境下输入unlock kinetis即可,不过这种方式只适用于简单芯片被锁的情况下,如果芯片被锁级别较高,这种方法可能效果不大,但是由于这种方法简单,建议可以先试试;
2)Jlink解锁的第二种方法,由于内容较多,我把解锁方法和相关文件打包上传到本博客下面的附件中,建议下下来瞅瞅;
3)打开Jlink自带的J-flash ARM解锁,其自带的Erase Flash选项,软件用法见我的早期的一篇文章http://blog.chinaaet.com/detail/26658.html
 4)USBDM解锁,现在市面上较为流行的调试器(淘宝上大多数版本的Kinetis调试器都是基于USBDM的,剩下的是基于OSBDM的),这得归功于pgo大神的开源精神,硬件简单、固件代码开源且功能强悍,不火才怪呢,呵呵,不过可惜的是目前只支持Codewarrior,以后如果再能扩展到IAR、Keil等IDE那就火大了。USBDM的解锁方式也比较简单,安装好USBDM的软件套件之后,连接好硬件平台,打开USBDM自带的ARM Programmer上位机编程软件,然后再“Target”选项卡中随便选择好一个编译连接好的s19文件,然后再“Detect Chip”一下,最后在“Security”和“Device Oprations”中选择如下图所示,最后点击load and go即可解锁;

 4)此外也可以通过一些开发环境解锁,有兴趣的可以自己探索一下。
 
   有什么问题欢迎及时交流,在本帖或者博客下面留言即可。未完待续~
 
附件为Jlink解锁Kinetis文件

Jlink解锁Kinetis说明.zip

365.97 KB, 下载次数: 2148, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-7-19 11:08:41 | 显示全部楼层

RE:细说Kinetis芯片解锁方法

学习啊,期待楼主有更多帖子分享哦!
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

52

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
 楼主| 发表于 2013-7-19 13:30:27 | 显示全部楼层

回复:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

回复第 2 楼 于2013-07-19 11:08:41发表:
学习啊,期待楼主有更多帖子分享哦!
 
恩,会有的,呵呵~
 
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

92

帖子

0

中级会员

Rank: 3Rank: 3

积分
285
最后登录
2022-4-14
发表于 2013-7-30 10:04:07 | 显示全部楼层

RE:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

相当好,谢谢分享哈!
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

63

帖子

0

注册会员

Rank: 2

积分
180
最后登录
1970-1-1
发表于 2013-7-30 21:02:39 | 显示全部楼层

RE:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

好文笔,收藏,谢谢楼主
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

26

帖子

0

新手上路

Rank: 1

积分
67
最后登录
1970-1-1
发表于 2013-7-31 09:00:17 | 显示全部楼层

RE:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

有用
回复 支持 反对

使用道具 举报

该用户从未签到

17

主题

113

帖子

0

注册会员

Rank: 2

积分
130
最后登录
1970-1-1
发表于 2013-8-4 19:43:20 | 显示全部楼层

回复:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

写的不错,收藏先!
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

21

帖子

0

新手上路

Rank: 1

积分
38
最后登录
2020-4-9
发表于 2013-8-14 08:47:24 | 显示全部楼层

回复:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

贴回来一百多片板(MCU是新的),其中有一块板试了各种方法都解不开(MKL25),后为想了想,估计是人品问题
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-8-14 10:54:48 | 显示全部楼层

回复:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

 会不会是焊接的问题?
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

21

帖子

0

新手上路

Rank: 1

积分
38
最后登录
2020-4-9
发表于 2013-8-15 09:11:38 | 显示全部楼层

回复:细说Kinetis芯片解锁方法(欢迎大家来一起讨论)

 焊接的可能性比较小,焊接难度不大,两块板互换了芯片,
可以烧的芯片焊哪块板都可以,
不可以烧的芯片焊哪块板都不可以
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-4 09:35 , Processed in 0.135958 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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