如何正确解锁LM3S8962

shilaike   2010-12-23 15:05 楼主
首先我们要认识为什么芯片会被锁,解锁前也必须确认芯片是否真的被锁。
  由于本人所用的是8962的片子,所以就有针对性的讲解一下。
好,废话不多说了。
 
 一般8962被锁是由于JTAG口被当作GPIO口用,当我们POR时,PB7 PC0-PC3是默认为JTAG口,如果我们在程序里面将这5个口当作了GPIO口来操作,那么就会锁死芯片的flash,这也是初学者必须要了解的一件事。
 那么下面我们就介绍一种解锁的方法:
利用FTDI-JTAG来解锁:
 利用这种方法比较麻烦,需要设置LM FLASH PROGRAMMER 这块软件的相关项来实现解锁。具体的操作如下:
首先我们连接好FTDI-JTAG(这是一个基于FTDI2232芯片的一款功能不错的下载调试器),然后打开LM FLASH PROGRAMMER这个软件,如下图:
然后我们就开始配置这个页面,配置的结果如下图:
然后我们进入Program选项卡,在.bin这里面随便加入一个bin文件,再配置如下图:
点击program按键,如下出现下图的情况(在FTDI-JTAG连好的情况下),一般是片子被锁了:
那么我们就跳过flash unities这个选项卡,进入最后一个选项卡:
本人所用的LM3S8962是FURY家族的片子,所以在Debug port unlock项就选中FURY AND DUSTDEVIL CLASSES这一项。当这些都设置好了后,我们就可以开始解锁了,板子上电,按住外部复位键不放开,单击UNLOCK,那么一直到解锁结束,如图:
 
这样,单击确定后,我们给板子断电,然后再上电,这样FLASH里面就为空了。当然这样的话,对于有些片子可能会有损坏,比如说,DK-LM3S9B96等,因为在这些片子的FLASH里面装载了补丁,如果解锁成功的话,那么这些补丁也就丢失了。所以大家请慎重锁片和解锁片子。
本人当时为了验证JTAG口软配成GPIO口实验,结果实验成功了,但由于少写了防JTAG失效和将JTAG口再配置成DEBUG模式,所以片子被锁了,当然对于8962来说,解解锁有利于身心健康,嘿嘿 。。。。
 
并且各位请注意:当时我的用的LM FLASH PROGRAMMER这个软件的版本过低,导致无法识别FTDI-JTAG器件 ,所以当你要用此法解锁的话,请一定下最新版本的LM FLASH PROGRAMMER。
 
 本人就上载一个。
    

回复评论 (12)

好贴,又学了一招

 

点赞  2010-12-23 15:23
谢谢搂主分享!!!
点赞  2010-12-23 16:17
大家可参考8962的sample专案: jtag-gpio,它就提到把jtag pins当gpio用
编程里就埋入能解锁的机制,假如这些机制没事先埋入
即使用flash programmer的解锁也没用的。

这专案的程式码写得挺乱的(看不太懂),
若有牛人能解释各行的道理就好了。
点赞  2010-12-23 21:59
谢谢楼主分享。。
https://bbs.eeworld.com.cn/thread-471646-1-1.html 欢迎加入我的团队
点赞  2010-12-24 13:32
当然,,如4楼兄弟所说,如果事先没有在程序里埋解锁机制,用FTDI JTAG是解锁不了的,即使提示解锁成功也是没法重新烧写程序的。
    我会上载用JLINK和FTDIJTAG联合应用就8962解锁步骤解锁,这样是可以实现解锁的 。请关注。。。。。。。。
只有想不到,没有做不到。
点赞  2010-12-24 13:49
经过实验,实现了用JLINKV6.00对已锁的8962进行解锁,详情请看stellaris--无话不谈

自由联盟
只有想不到,没有做不到。
点赞  2010-12-24 14:48
[quote]原帖由 shilaike 于 2010-12-24 14:48 发表 经过实验,实现了用JLINKV6.00对已锁的8962进行解锁,详情请看

stellaris--无话不谈

自由联盟

只有想不到,没有做不到。
点赞  2010-12-24 14:48

好的,等锁上再来找这贴子

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2010-12-24 16:04

回复 8楼 shilaike 的帖子

绝大多数情况下,都没有埋入解锁机制。有时候主频配置错了,会锁住,是可以用LM Flash Programer解锁的啊。和你上面说的锁住有什么不一样吗?我们把Jtag转换为GPIO来用应用上这个有必要吗?是不是GPIO确实不够用的时候需要这么做呢?不太懂,请指教。
点赞  2010-12-24 16:19

回复 8楼 shilaike 的帖子

绝大多数情况下,都没有埋入解锁机制。有时候主频配置错了,会锁住,是可以用LM Flash Programer解锁的啊。和你上面说的锁住有什么不一样吗?我们把Jtag转换为GPIO来用应用上这个有必要吗?是不是GPIO确实不够用的时候需要这么做呢?不太懂,请指教。
点赞  2010-12-24 16:19

回复 10楼 academic 的帖子

配置锁住了,对于8962是没有什么严重的影响,用FTDI进行解锁,如果不行再用JLINK的V6或V7版本实现。但是如果使用的含有补丁的片子,那么如果配置出错而导致片子锁住了,会对片子的性能产生很大的影响 。比如说:9B9X的片子,如果时钟配置出错,根据DK-LM3S9B96开发套件上的外部晶振为16MHZ,如果配置出错,会锁住片子,但也是可以解锁的,但是这样就清空了FALSH了,导致FLASH内部的补丁丢失,这样会对片子有很大的影响。再一个,我们用8962来做大一点的项目的话,就会出现GPIO口的严重缺乏,42个IO脚再减去5个JTAG口,这样实在不能让人满意,所以有时候进行JTAG配置成GPIO是必须的。
只有想不到,没有做不到。
点赞  2010-12-24 20:14

回复 4楼 tomexou 的帖子

专案的东西都是比较怪的,反正我是看不懂的,不想深究,如果兄弟伙哪天弄出来了,请共享。
只有想不到,没有做不到。
点赞  2010-12-24 20:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复