简单易上手的Kinetis芯片解锁方法操作说明
来源:互联网 发布:男士皮衣品牌推荐 知乎 编辑:程序博客网 时间:2024/05/21 15:36
很多人在开发Kinetis的时候常常会遇到芯片被锁的问题(这点的确让人很头疼,尤其是Kinetis早期版本尤为明显,电压不稳就可能导致flash被锁,这是飞思卡尔出于可靠性设计的考虑),关于这点,之前也有博友问过我,现在网上也是众说纷纭,公说公有理,婆说婆有理,所以这次我干脆把网上的解决方法过滤一下,在此列出比较靠谱的几种解决办法(当然如果你想知其所以然的话可以查看Kinetis官方Reference Manual的Security那一章),方便大家查阅:
首先说说造成芯片被锁的原,我把它归为以下几种:
1)电源不稳造成芯片被锁,这是芯片的一种自我保护机制,这个无可厚非,跟硬件环境有关;
2)调试过程中的不规范行为,初学者最常犯的错误就是带电插拔调试器,这是一个陋习,其实很多情况下的芯片被锁都是这个原因造成的。我按照规范模式调试了两年Kinetis,貌似只锁过两次,而且都顺利解锁了;
3)焊接Kinetis的时候电烙铁的温度过高造成芯片内部损坏,这种情况下的死锁一般很难再解开了,建议焊接过程中将温度保持在300度左右,一定不能超过400度;
4)人为的给芯片上锁,这个对量产后的产品是必须的,Kinetis提供了相当可靠地知识产权保护机制。
说完了被锁,下面该说说怎么解锁了,其实解锁的原理很简单,芯片被锁之后是不允许调试器再对其内部的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选项;
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即可解锁;
5)此外也可以通过一些开发环境解锁,CW貌似是自带的,不过我这个没有做过多研究,有兴趣的可以自己探索一下。
首先说说造成芯片被锁的原,我把它归为以下几种:
1)电源不稳造成芯片被锁,这是芯片的一种自我保护机制,这个无可厚非,跟硬件环境有关;
2)调试过程中的不规范行为,初学者最常犯的错误就是带电插拔调试器,这是一个陋习,其实很多情况下的芯片被锁都是这个原因造成的。我按照规范模式调试了两年Kinetis,貌似只锁过两次,而且都顺利解锁了;
3)焊接Kinetis的时候电烙铁的温度过高造成芯片内部损坏,这种情况下的死锁一般很难再解开了,建议焊接过程中将温度保持在300度左右,一定不能超过400度;
4)人为的给芯片上锁,这个对量产后的产品是必须的,Kinetis提供了相当可靠地知识产权保护机制。
说完了被锁,下面该说说怎么解锁了,其实解锁的原理很简单,芯片被锁之后是不允许调试器再对其内部的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选项;
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即可解锁;
5)此外也可以通过一些开发环境解锁,CW貌似是自带的,不过我这个没有做过多研究,有兴趣的可以自己探索一下。
阅读全文
0 0
- 简单易上手的Kinetis芯片解锁方法操作说明
- 简单易上手的Kinetis芯片解锁方法操作说明
- 细说Kinetis芯片解锁方法
- Stellaris LM3Sxxx------解锁特定引脚与Jlink解锁芯片的几种方法
- 飞思卡尔kinetis L系列芯片之最简单模块watchdog
- 飞思卡尔Kinetis芯片中NVIC模块的中断寄存器的介绍及其应用举例
- 简单的滑动解锁
- Windows手动搭建邮箱服务器教程,操作简单易上手
- 构造方法的简单说明
- 注册表解锁的方法
- kinetis的SPI例程
- kinetis的nfc调试
- git diff 生成patch, git apply patch 打补丁方法说明,以及分支管理的简单操作。
- 【转】Selenium WebDriver的简单操作说明
- Selenium WebDriver的简单操作说明
- Selenium WebDriver的简单操作说明
- python 整除(/)操作符的简单说明
- Selenium WebDriver的简单操作说明
- 小顶堆和大顶堆
- redis源码分析之发布订阅(pub/sub)
- 判断HttpURLConnection与HttpClient请求
- 组合view之接口传递
- 自定义View实现阶梯梯形布局以及二维码的实现
- 简单易上手的Kinetis芯片解锁方法操作说明
- c程课在我眼中的优缺点
- String(Java)重要
- 学习C程的上课方式
- 自定义View进度条
- LeetCode 之 Balanced Binary Tree
- 39. Combination Sum
- Codeforces Round #443 (Div. 2) A. Borya's Diagnosis 水模拟
- 【笔记】简单选择排序