参考链接:
https://blog.csdn.net/qq_39738885/article/details/102530414
https://blog.csdn.net/yekui6254/article/details/85272767
https://blog.csdn.net/qq_26904271/article/details/82726657
https://blog.csdn.net/yunjie167/article/details/117998428
https://www.cnblogs.com/xiaoheikkkk/articles/11193741.html
http://blog.chinaunix.net/uid-20788517-id-263475.html
一、起因
起因是在淘宝购买的Jlink,下载程序的时候会弹出警告
然后有时MDK会异常退出。
网上找了相关的解决方法:
1.更换MDK J-link驱动为低版本文件。参考链接1
2.不替换降低jlinkarm.dll版本,利用ollydug反汇编J-Flash,完美解决去掉The connected J-Link is defective提示框和解决不能仿真的问题。参考链接2
3.修复Jlink固件。参考链接3
方法1和2不是从本质上解决问题,每次重新安装软件,都需要设置一次,比较麻烦。方法3是从根本上解决问题,一劳永逸。我选择方法3。
在使用方法3的时候,遇到了问题。Jlink的STM32芯片都打开了写保护,使用Jflash重新刷固件的时候会出现如下错误,导致刷写失败。即使在Jflash里面选择了”Unsecure Chip”,也没有效果
于是继续搜索清除写保护的方法,发现需要STM32的官方ISP工具,Flash Loader Demonstrator。参考链接4、链接5
二、ISP下载
以下记录使用ISP工具去除写保护、重新刷入Jlink V9 bootloader、然后更新Jlink固件的步骤
1.找一个3.3V供电的串口,连接好ISP的串口
Jlink的供电要注意,这里要使用串口的3.3V供电,而不要使用Jlink的数据线接电脑供电。用Jlink的数据线供电,会导致ISP操作不成功
2.Boot0接3.3V上拉、Boot1接GND
3.打开ISP软件,修改对应串口号,其它保持默认设置。
4.用镊子拉低RST信号复位MCU,点击Next
5.清除保护
6.选择MCU Flash大小
7.选择bootloader文件
8.点击Next下载
9.bootloader下载完成
三、更新Jlink固件
打开Jflash,选择“Connect”
系统会提示更新固件
点击确定更新固件
重要说明:<datetime=”2023-05-08T07:36:35+00:00″>
此方法刷写的固件,序列号是固定的。因此只适合个人使用,不适合批量刷写。批量刷写的话,这个序列号估计很快就会列入黑名单。
序列号为-1
https://lexsion.com/index.php/archives/251/
四、修改序列号
exec setsn=11111111
exec addfeature License_RDI_V0_S11111111_E0_K4c4928cc