Ubuntu16.04安装使用STLINK(rtthread)

        前言:之前都是使用Windows平台开发单片机,自从使用Ubuntu之后,真的太香了。相同电脑硬件配置情况下,Ubuntu流畅的不行,于是开始使用Ubuntu开发单片机。

        之前使用Jlink调试烧录单片机,想着STlink也应该可以,于是网上搜索STlink安装教程,恕我一个小白,尝试了网上论坛的各种方法,都失败了。不是到这步命令错误,就是到最后查看版本或者下载提示没有这条命令。

        总算通过各种尝试,忙活了一小会搞好了(老子才不是搞了一个上午才弄好的)。下面是战术总结。

虚拟机:VirtualBox 6.1

使用系统:Ubuntu16.04

硬件主板:正点原子潘多拉开发板

下载器版本:STMicroelectronics ST-LINK/V2.1 (Nucleo-F103RB)

1、首先进入系统打开终端:

Ubuntu16.04安装使用STLINK(rtthread)_第1张图片

 2、git代码

git clone https://github.com/texane/stlink stlink.git

 3、安装必要依赖包

        说明:可能存在已经安装过的情况,没关系。敲一遍也不影响,系统会识别有没有安装,安装过了它不会再安装一遍。

        遇到提示版本过低,需要升级的,可以直接在网上找方法,大神们都写的很明白,按照大神们的说明一步一步来,你也可以是大神。我在make的时候,就提示版本过低,于是升级了一下版本,如果需要我贴出方法流程的,可以留言。

sudo apt-get install libusb-1.0

sudo apt-get install cmake

sudo apt-get install libgtk-3-dev

4、编译STlink代码

1)进入stlink目录下

$ cd stlink.git

2)我在执行下面第三步的时候,一直没有反应,于是在论坛查到需要安装工具,于是执行以下命令安装工具

sudo apt-get install autoconf automake libtool

3)编译,在stlink目录下,执行一遍make,再分别执行下面两条make语句

$ make

$ make release

$ make debug

执行结果如下:

Ubuntu16.04安装使用STLINK(rtthread)_第2张图片

 这个太多,放不下,就截一部分图哈

Ubuntu16.04安装使用STLINK(rtthread)_第3张图片

4)进入build文件夹

$ cd build

5)分别执行下面语句

$ cmake -DCMAKE_BUILD_TYPE=Debug ..

$ make

cmake -DCMAKE_BUILD_TYPE=Debug ..执行结果如下:

Ubuntu16.04安装使用STLINK(rtthread)_第4张图片

make执行结果如下:

Ubuntu16.04安装使用STLINK(rtthread)_第5张图片

6)下一步进入Release文件夹,执行命令

$ cd Release

$ sudo make install

$ sudo ldconfig

执行结果如下:

Ubuntu16.04安装使用STLINK(rtthread)_第6张图片

 我这边执行sudo ldconfig没有结果输出,供参考。故直接切回stlink目录

Ubuntu16.04安装使用STLINK(rtthread)_第7张图片

 7)切回stlink目录,将文件49-stlinkv2.rules,拷贝到位置:/etc/udev/rules.d/

说明:文件49-stlinkv2.rules在目录stlink.git/config/udev/rules.d/下,我使用的STLINK版本为V2.1

,故将49-stlinkv2.rules拷贝到位置:/etc/udev/rules.d/下。Ubuntu16.04安装使用STLINK(rtthread)_第8张图片

 执行命令:

$ sudo cp ~/stlink.git/config/udev/rules.d/49-stlinkv2.rules /etc/udev/rules.d/

执行后,可以看到文件已经被拷贝:

Ubuntu16.04安装使用STLINK(rtthread)_第9张图片

 8)分别执行下面命令,重新导入规则,接受事件

$ sudo udevadm control --reload-rules

$ sudo udevadm trigger

9)查看安装信息

$ st-info –version

说明:我在执行上述命令之后,提示我因为权限不够,无法打开并被拒绝访问,于是我执行下面语句。

$ sudo st-info -version

执行完之后,没有任何提示信息,于是再执行st-info –version也没有任何提示信息,不知道原因,但是并不影响后面的程序烧录。通过查看USB连接,可以看到我们的STLINK信息。如下:

Ubuntu16.04安装使用STLINK(rtthread)_第10张图片

 5、进入RT-thread的bsp目录下的单片机工程,进行烧写

说明:这是我的路径,命令改成你自己的路径就行了

$ cd test/rt-thread/bsp/stm32/stm32l475-atk-pandora/

执行下面命令进行烧录:

$ st-flash write rtthread.bin  0x8000000

烧录结果如下(烧录成功):

Ubuntu16.04安装使用STLINK(rtthread)_第11张图片

6、写在后面

Jlink可以通过./***.sh方式直接执行文件就可以烧写,那么STlink肯定是也可以的,就不需要每次烧录都要进入工程目录,输命令了,后面找个时间出教程

你可能感兴趣的:(Ubuntn,ubuntu,单片机,stm32)