首先我们要认识为什么芯片会被锁,解锁前也必须确认芯片是否真的被锁。
由于本人所用的是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。
本人就上载一个。