打印
[Kinetis]

【读书笔记/学习心得+Kinetis系列芯片解锁方法】

[复制链接]
4293|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
louyj|  楼主 | 2013-10-25 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Kinetis芯片解锁方法

   估计很多人在开发Kinetis的时候常常会遇到芯片被锁的问题(这点的确让人很头疼,尤其是Kinetis早期版本尤为明显,电压不稳就可能导致flash被锁,这是飞思卡尔出于可靠性设计的考虑),在此列出比较靠谱的几种解决办法(当然如果你想知其所以然的话可以查看Kinetis官方Reference ManualSecurity那一章),方便大家查阅:

   首先说说造成芯片被锁的原因,归为以下几种:
1)电源不稳造成芯片被锁,这是芯片的一种自我保护机制,这个无可厚非,跟硬件环境有关;
2)调试过程中的不规范行为,初学者最常犯的错误就是带电插拔调试器,这是一个陋习,其实很多情况下的芯片被锁都是这个原因造成的。我按照规范模式调试了两年Kinetis,貌似只锁过两次,而且都顺利解锁了;
3)焊接Kinetis的时候电烙铁的温度过高造成芯片内部损坏,这种情况下的死锁一般很难再解开了,建议焊接过程中将温度保持在300度左右,一定不能超过400度;
4)人为的给芯片上锁,这个对量产后的产品是必须的,Kinetis提供了相当可靠地知识产权保护机制;
5)调试器与目标芯片连线过长,造成时序不同步或者不稳定,引起误擦写了芯片内部security的内存部分(0x400~0x40F),从而锁住了芯片。


   说完了被锁,下面该说说怎么解锁了,其实解锁的原理很简单,芯片被锁之后是不允许调试器再对其内部的flash进行读写了,但是Kinetis给我们还是留了条出路的,在芯片被锁之后它是可以通过调试器对flash进行“mass erase”的,即整片擦写,擦写之后就可以还原其初始状态再继续读写了,不过如果芯片被锁到最高级别,即“mass erase”都禁能了,那就基本没救了,不过这种情况很少。下面罗列一下目前较为行之有效的解锁方法。

   目前最常用的是Jlink解锁方式,其实现在支持“mass erase”较好的主要有两种调试器,一个是Jlink,另一个是pgoUSBDM,这两个调试器都提供相对来说比较简单易用的整片擦写能力:


1Jlink解锁方式有三种,其中一种最为简单,连接好硬件平台,然后打开J-Link Commander,在cmd环境下输入unlock kinetis即可,不过这种方式只适用于简单芯片被锁的情况下,如果芯片被锁级别较高,这种方法可能效果不大,但是由于这种方法简单,建议可以先试试;


2Jlink解锁的第二种方法,具体操作如下:
Step 1:  确认使用的开发工具IAR 的版本为6.3 以上;
Step 2:  安装JLINK 仿真驱动Setup_JLinkARM_V436.zip ;
Step 3:  将本目录的erase_all_pin.jlk拷贝到 “C:\Program Files\SEGGER\JLinkARM_V436i” directory (Installation folder for your Segger JLink ARM)
Step 4:  将 Kinetis 芯片的reset pin按键按下不动;
Step 5:  将 Kinetis芯片的开发板上电;
Step 6:  在 PC机的 cmd命令中 ,输入 “C:\Program Files\SEGGER\JLinkARM_V436i” directory and execute  the script by typing “jlink.exe erase_all_pin.jlk”
Step 7: 放开 Kinetis芯片的 reset pin 按键。



3)打开Jlink自带的J-flash ARM解锁,其自带的Erase Flash选项,软件用法见**http://blog.chinaaet.com/detail/26658.html


4USBDM解锁,现在市面上较为流行的调试器(淘宝上大多数版本的Kinetis调试器都是基于USBDM的,剩下的是基于OSBDM的),这得归功于pgo大神的开源精神,硬件简单、固件代码开源且功能强悍,不火才怪呢,呵呵,不过可惜的是目前只支持Codewarrior,以后如果再能扩展到IARKeilIDE那就火大了。USBDM的解锁方式也比较简单,安装好USBDM的软件套件之后,连接好硬件平台,打开USBDM自带的ARM Programmer上位机编程软件,然后再“Target”选项卡中随便选择好一个编译连接好的s19文件,然后再“Detect Chip”一下,最后在“Security”“Device Oprations”中选择如下图所示,最后点击load and go即可解锁;

相关帖子

沙发
KuMo_2011| | 2013-10-25 15:52 | 只看该作者
诶,有没有适合所有环境的解锁方法呢?

使用特权

评论回复
板凳
louyj|  楼主 | 2013-10-25 17:20 | 只看该作者
KuMo_2011 发表于 2013-10-25 15:52
诶,有没有适合所有环境的解锁方法呢?

还没有吧!!!:L

使用特权

评论回复
地板
774729254| | 2014-2-28 18:17 | 只看该作者
louyj 发表于 2013-10-25 17:20
还没有吧!!!

怎么没有图啊?

使用特权

评论回复
5
sdllg| | 2014-7-22 17:45 | 只看该作者
erase_all_pin.jlk没有看到呢?

使用特权

评论回复
6
FSL_TICS_ZJJ| | 2014-7-23 09:58 | 只看该作者
774729254 发表于 2014-2-28 18:17
怎么没有图啊?

你好,这篇**的详细情况,可以参考这个帖子:http://www.freescaleic.org/bbs/article_1280_553023.html
是原作者发出的。

使用特权

评论回复
7
FSL_TICS_ZJJ| | 2014-7-23 09:59 | 只看该作者
sdllg 发表于 2014-7-22 17:45
erase_all_pin.jlk没有看到呢?

你好,这篇**没有拷贝全,详细情况,可以参考这个帖子:http://www.freescaleic.org/bbs/article_1280_553023.html
是原作者发出的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

1234

帖子

2

粉丝