一、前言

最近将整个电脑格式化,改成了linux操作系统

希望这样能让自己在一个新的世界探索技术、提升自己吧~

win上的工具用多了,就不想变化了~

继上一篇《ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

link:http://www.cnblogs.com/zjutlitao/p/5061917.html

遇到的在ubuntu上装虚拟机坑之后,接下来又遇到了一个新的问题——

如何在在ubuntu上安装jlink驱动,并尝试给stm32或者nrf51822烧写程序?

由于,网上无数个说不清的讲解,由于很多讲解都过时了,所以根本找不到相应的版本软件,照着做的时候驴头不对马嘴~

鉴于此我将从下面两方面行文,方便大家快速排错~

1、先用简单明白的语言讲述正确的安装方法

2、再用罗嗦的语言白话文我踩的各种坑

二、jlink驱动在linux上的安装方法

2.1、首先,看你windows上keil中用的JLink的版本(我假设你是从win上转过来的!)

[异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议-LMLPHP

如下:

发现我的keil5中的自带JLink版本为:4.80g, keil4中自带的版本是4.60a

[异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议-LMLPHP

2.2、接着,从segger网站下载与win上版本一样(接近)版本的jlink for linux驱动

在https://www.segger.com/jlink-software.html页面的最下面有:

[异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议-LMLPHP

点击previous进入老版本页面:

JLink for linux是从4.78a到5.10c的各种版本,却没有4.80g版本

如果你的windows上的Jlink版本可以在其中找到对应的for linux的版本是最好的了

如果像我一样不能,就尝试找一个稍微低版本并接近目标版本的下载安装

我当时的选择是:抱着试试看的想法,先下载4.80e试试~

[异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议-LMLPHP

2.3、最后,安装DEB文件并测试行不行

在安装之前你要保证更新了usblib等,这个在别人的介绍的文章中总是第一个提到,不知道怎么弄搜搜别人的看一眼就知道了

DEB比较好安装,双击即可!

安装成功之后——

会在/etc/udev/rules.d中多了个xxjlink.rules文件

会在/opt中安装好SEGGER/JLink

然后,shell中转到该目录下,运行./JLinkExe程序

如果出现以下现象则表示成功(我当时用Jlink链接的是一个contex-m0内核的nrf51822芯片,采用SW模式,你若连接stm32可能会稍有不同)

[异常解决] ubuntu上安装JLink驱动遇到的坑及给后来者的建议-LMLPHP

三、遇到的坑,各位可以借鉴

3.1、让你下载的东西下不到,最后把你带晕

这里不点名是who了,这类的主要策略是这样的——

1、首先update usb什么的;2、然后下载个4.22的版本,解压,删除一些东西,然后start;3、最后运行./JLinkExe然后出现设备信息

3.2、错误的方法和正确的交杂在一起,跟着做相当于冰火两重天

主要步骤和上面类似,不过多了自己遇坑的讲解

由于坑的讲解部分没有给读者提前打个招呼,结果读者也跟着进坑了!

这类的主要步骤是——

1、首先update;2、然后下载个貌似是当时最新版本的linux驱动,解压、删除、配置、安装(说了一大堆);3、然后突然说用这个高版本的会把自己的山寨版的Jlink的固件弄坏;4、又讲到如何给Jlink升级固件;5、最后将最简单的答案告诉别人——下载个和win上相同的版本的就不会出现上面的问题了。。。

注:我的异常类随笔里是安装软件、调试过程中遇到的稍微棘手的问题的总结

@beautifulzzzz 2015-12-21 continue~ 

04-15 13:02