最近考虑用一下STM32F1x的ARM,弄了个开发板,手上本来有个Jlink但是是盗版。在ST网站上面下了借个样例的工程,用以前装的Keil4打开,设置发现没有对STM32系列的器件支持。看来是版本太低了。网上查了下有2个方法,一个是去ARM的网站上面去下个新的MDK470a,安装好就ok,原来的版本也会备份好,在keil下面的一个叫xx.old的文件夹里面。第二种方法就是就去网上找个支持STM32系列的uv4.cdb,文件替换原来keil安装文件夹下面的CDB文件。附件1就是支持STM32的CDB文件,试过了好用。
安装完成就可以下载调试了,但是问题来了,我安装的是4.10版本的, 驱动识别到jlink后,强烈的推荐你安装新驱动,你安装和不安装都是会悲剧,告诉你的JlinkV8是盗版的,然后程序弹出,结束了。
网上找了下解决办法。下个新的V8的固件,烧录进去。附件2是固件,烧录软件和烧录方法。在CSDN下的。
其中烧录的固件要修改0xff00开始的地址4byte为0xffffffff,这样才能修改SN。网上找的修改方法如下:
转高手的解决方法如下:http://bbs.eeworld.com.cn/viewthread.php?tid=346783
Jlink更新至V4.65d后,Jlink不能使用的问题解决办法
分类: STM322012-11-22 21:06 61人阅读 评论(0) 收藏 举报
这几天在使用STM32F050c6d的MCU进行移植开发,只有最新的版本才对这颗MCU支持,所以被迫更新到了最新的版本。MDK4.6跟Jlin4.56d的下载地址在我的资源里已经共享。安装完以后提示更新,更新之后被告知,Jlink为Clone。
解决办法如下:
1、重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值,只要不为原来的11111117 或 805306163即可,因为更新后的固件对这两个固件SN进行了强制校验,修改为其他值即可完美解决问题。
1.1 另外一种灵活的修改SN的方法:将0xff00为起始地址的4Bytes修改为0xffffffff,更新固件后,打开Commander,不理会更新,在Jlink命令后面输入
exec setsn = xxxxxxxx,所输入的sn为16进制,必须为8个字符如01234567,否则更新升级时会出现错误。
2、此时安装了Segger4.65d的版本,打开JLink Commander,按要求提示更新,更新完之后即可正常使用最新的版本了。
PS:CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用了,还未找到办法。跟ST的FAE联系后,建议使用ST Link的STVP来对Option Byte进行擦除,对RDP进行擦除。
我把SN修改为01234567后,更新了驱动,调试下载都ok了。
用户403664 2013-4-24 17:27