目录
- 问题描述
- 问题解决
- 相关资源链接
问题描述
最近又有了一个新的项目,果然新项目必出坑,今天遇到的这个坑还比较基础,也是最让我轻易忽略的问题,使用keil5通过Jlink下载代码时总是出错,错误提示是:
The fireware of the connected J-link (S/N:XXXXXX) does not support the following memory access:Read@0x02000004 。
这个错误出的比较新奇,之前运气比较好一直没有出现,起初一直怀疑是硬件的问题,简单确认了一下电源和线序后确认是软件的问题(嵌入式通病,摔锅硬件),仔细看了一下问题,感觉是JLINK驱动和固件不适配的问题,所以从这一方面着手解决。
问题解决
先上一张图:
从这里看,可以看到,设备其实是被检测到的(右上角的IDCODE),更加确认了我的思路是对的。左边是J-LINK的一些信息,可以看到固件是V9.40 驱动是V5.12f ,心里乐开了花,按我一般的使用习惯,V6.40的驱动是比较适配的,所以问题就变成,把KEIL软件Jlink的设备驱动更换成V6.40就可以了。这个网上有好多方式,我觉得太麻烦,其实核心就是:JLinkARM.dll 这个链接文件 ,只需要把这个文件换成V6.40下的相同文件就可以了,只需要替换这一个,别的不需要。
以我的路径为例:
JLINK V6.40 :C:\Program Files (x86)\SEGGER\JLink_V640\JLinkARM.dll
上述文件替换掉下面路径
C:\Keil_v5\ARM\Segger\JLinkARM.dll
然后重启keil软件,先查一下驱动信息,见图
可以看到已经变成了V6.40,现在点击下载。
搞定!!!
相关资源链接
我这里直接把这个DLL文件的链接贴到这里,有需要的可以直接下载,也可以网上搜一下,下载全部的6.40驱动包
CSDN链接