Embedded System

新版MDK提示the connected jlink is defective 的解决办法

在使用新版MDK调试arm芯片时候,市场上常见的jlink v8会被检测到是克隆版 并弹出the connected jlink is defective 错误。网上一般是用4.9的dll替换最新的驱动,这种方法我在5.26中测试已经失效,由于版本跨度太大而出现 flash download algorithm 找不到的兼容性问题。 另外一个方法是使用出场固件刷jlink,这样对于介于4.9和5.24a之间的MDK管用,再新版比如我用的5.26就又失效了,依旧能被检测到。 所以如果想用最新的MDK的话比如5.26,我经过尝试,将两种方法发融合找到新的解决办法并且亲测可用。 首先将jlink固件刷新更换SN,具体教程推荐我记录下来的这篇: https://shuspieler.com/blog/1242/ 这样jlink能在5.24a之前版本使用,如果用的高于这个版本的话,用我提供的5.11 提取出来的dll驱动覆盖到最新版的安装路径中(比如D:\Keil_v5\ARM\Segger),亲测效果很完美。 注: 我的博客由于安全设置原因不让我上传zip文件,我还没来得及修理,如果有需要的同学可以给我留言我发到你的邮箱。我讨厌CSDN积分下载所以不会让自己成为讨厌的那种人。等之后我解决一下这个资源上传的问题以保证无障碍下载。 更新: 我将所需的固件上传到Github,需要用到的同学可以到这里下载:https://github.com/shuspieler/DIY-RTOS-Learning-tinyOS-/tree/master/Jlink-Fix 读到这里的朋友,记得github给我点一个星星呀,感激不尽。 笔芯♥

新版MDK提示the connected jlink is defective 的解决办法 Read More »

error 65: access violation at 0x40021000 no ‘read’ permission 的解决办法

移植一个程序到我的开发板,新建工程编译正常,但是仿真一直通不过,提示的是上边这个错误。通过查询了解到是仿真参数应该更细化一些,默认是ARM内核统一的参数,对于不同的芯片应该做微调。 具体需要调节的在这里: 下边左边和右边Dialog DLL改为:DARMSTM.DLL 下边的Parameter改为: -pSTM32F103RB 其中我使用的是 STM32F103RB 芯片,这里要根据Device里边选中的芯片类型,以及自己开发板上边的类型具体调整。 Reference: https://blog.csdn.net/he_ning/article/details/20151785 https://zhidao.baidu.com/question/1882082792619328108.html

error 65: access violation at 0x40021000 no ‘read’ permission 的解决办法 Read More »

“stm32f10x_conf.h”: No such file or directory 解决办法

移植一个例程到我手头开发板上,一直提示找不到这个头文件,查找很多帖子都说需要手动将一些MDK的库路径包含进去,或者自己新建stm32f10x_conf.h这个文件然后复制帖子中的内容到那个文件中。可是这样我经过尝试,解决了第一个文件不存在的问题,编译马上就会出现第二个缺失,再手动新建第二个的话又会出现第三个无穷无尽。 试了好多办法,最后在一个帖子看到可能是由于在pack里边没有选中startup包,导致一系列头文件缺失,经过尝试,问题完美解决。 Reference: https://www.hexcode.cn/article/show/issue-keil5-add-startup

“stm32f10x_conf.h”: No such file or directory 解决办法 Read More »

JLINK_V490 卸载报错“Could not open INSTALLLOG file.”

安装了两个版本的jlink想将旧版卸载掉,可是在系统程序管理器点击卸载报如题错误。通过搜索找到解决办法: 打开jlink安装目录,我这里是D:\Program Files (x86)\SEGGER\JLink_V490 将目录下的INSTALL.LOG剪贴到另外一个地址,比如桌面。 然后运行刚才安装目录下的UNWISE.EXE,由于默认路径已经不存在 INSTALL.LOG 这个文件了,所以会弹出一个对话框让选择这个文件,点击刚才移到桌面的文件就好。 点击下一步,按照指示正常卸载。 后续,重要!!! 一定要新建一个文件夹防止 INSTALL.LOG ,不然会将桌面Desktop文件夹也删除掉,别问我是怎么知道的。。。我桌面的文件都丢失了,哭泣。。。 后续,重要!!!!!! MDK Keil 5.26折腾来折腾去,换了好几个SN,都能够被检测到。。。 还是乖乖换回老板的Keil吧。我用的5.11,由于修改过SN,所以直接安装狗就能够正常使用。网上看5.14似乎也可以的。 Reference: https://blog.csdn.net/heyuqian_csdn/article/details/80610641 https://www.khattam.info/could-not-open-installlog-file-problem-solved-2009-04-21.html http://www.openedv.com/posts/list/39328.htm  

JLINK_V490 卸载报错“Could not open INSTALLLOG file.” Read More »

jlink V8 刷最新固件

最近想玩玩ARM开发,由于是淘宝买的第三方jlink v8,在用MDK调试的时候被检测到不是官方的设备,出现 the connected emulator is a j-link clone 或者 the connected jlink is defective 信息。 网上有两种解决方法,比较简单的是替换驱动为老版的。可是我这里有个问题是替换后flash download algorithm找不带STM32片内资源,所以也就不能成功下载程度。另一种方法是对仿真器下手,通过刷固件让MDK不再能检测到是第三方设备。 网上很多jlink v8刷序列号或者固件掉了之后重新刷固件的教程。可是有个严重的问题是几乎所有网页所需要下载的工具都指向了csdn。我非常反感这个网站,很多开源免费或者用户自己分享的资源拿到这里下载就要被网站收费,太讨厌了。所以我这里重新写一份教程,一方面记录我的升级过程以便之后再次用到,其次给大家提供一种不需要csdn积分就能下载所有工具的资源。 其他帖子写得已经够详细了,这里我只记录重点以及要点。 下载安装SAM-BA。这是官网的地址:https://www.microchip.com/developmenttools/ProductDetails/atmel%20sam-ba%20in-system%20programmer 我下载的是最新版SAM-BA 2.18 for Windows亲测可用,不必向一些帖子所说比不下载指定版。这些烧写工具就是为了更方便可靠给芯片写程序,所以开发工程师只会让新版本更加可靠而不是说给用户添麻烦。 下载一个可更改序列号的原始固件: https://gronlier.fr/blog/wp-content/uploads/2015/07/V8_Firmware_NoSerial_crackn.zip这个地址来自一个国外的论坛,对应于一些用户转移到CSDN上边的是叫做 “JlinkV8出厂固件”或者“v8_ID-XXXXXXXX.bin”。 如果这个地址有设置防盗链而失效了,那就到这个网页点击一下下载:https://gronlier.fr/blog/2015/07/unbrick-and-update-an-j-link-v8-clone/ 接着下载jlink驱动,依旧推荐官网: https://www.segger.com/downloads/jlink/ 这里边分类很多,不想找就直接安装集成包:j-Link Software and Documentatin Pack. 点击clock for downloads安装就好了。记得安装时候提示usb driver不要取消掉(默认是安装的,也就是说直接下一步可以) 接下载步骤和其他教程差不多,首先是擦除jLink上flash程序 1)先通电。2)短接ERASE(JP12),保持短接状态一分钟。3)断电。4)移除短接 第二步 1)短接TST(JP13)。2)通电,并保持短接一分钟。3)断电。4)移除短接。其中时间一定要足够,一开始不成功我就是这里的错误。一些教程说20秒以上,国外教程写着一分钟,亲测时间久一点可以成功,如果时间不够错误现象是电脑不能识别usb设备,并且任何驱动都安装不上。 上边两步完成后,重新连接usb,设备会被识别成一个usb serial device并且配备一个com口。这时候打开SAM-BA 将芯片型号选成AT91SAM7S64-ek点击connect。 9. 之后会弹出一个菜单如上边所示,再Flash栏下选择send File Name成为刚才下载的bin文件,然后点击send File。

jlink V8 刷最新固件 Read More »