Advertisement

Ubuntu16.04安装使用STLINK(rtthread)

阅读量:

前言:过去一直依赖Windows平台进行单片机开发。自换用Ubuntu以来,则体验非常棒。在同样配置下, Ubuntu运行得极为顺畅, 因此我也转向采用Ubuntu进行单片机开发.

之前通过JLink工具实现单片机的烧录过程;我也怀疑STLink工具是否同样适用;为了进一步验证这一想法,在网络上查找相关安装指南;作为一个新手用户而言;在多个网络论坛上进行了深入探讨;均未成功实施;具体来说, 或许是操作步骤中缺少关键指令, 或者最终检查软件版本时并未包含该命令.

经过一番努力后(其实不然),折腾了一会儿算是完成了(说实话,并非花了一个上午才算搞定)。下面是战术总结

虚拟机:VirtualBox 6.1

使用系统:Ubuntu16.04

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

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

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

2、git代码

复制代码
    git clone https://github.com/texane/stlink stlink.git

3、安装必要依赖包

在软件界面操作时可能会出现提示信息:已存在应用程序或插件的情况无需担心。输入一次后系统将判断当前状态并不再进行重复操作。

当遇到提示信息显示版本不足时,并且需要进行升级操作时,请尝试通过优化软件配置参数的方式来解决问题。很多高手都有详细的步骤指南可供参考,并且这些指南通常会以清晰的方式呈现出来。在安装过程中出现提示信息时,请先对软件进行全面检查并进行相应调整。如果有具体的问题或需要进一步的帮助,请随时留言询问。

复制代码
 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

当我处理第三步时,始终未收到任何反馈信号。后来我发现需要安装特定的工具包,并按照以下步骤进行了操作

复制代码
    sudo apt-get install autoconf automake libtool

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

复制代码
 $ make

    
  
    
 $ make release
    
  
    
 $ make debug

执行结果如下:

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

4)进入build文件夹

复制代码
    $ cd build

5)分别执行下面语句

复制代码
 $ cmake -DCMAKE_BUILD_TYPE=Debug ..

    
  
    
 $ make

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

make执行结果如下:

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

复制代码
 $ cd Release

    
  
    
 $ sudo make install
    
  
    
 $ sudo ldconfig

执行结果如下:

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

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

请查看以下信息:第一部分是关于文件49-stlinkv2.rules位于目录stlink.git/config/udev/rules.d/下的详细说明。

,故将49-stlinkv2.rules拷贝到位置:/etc/udev/rules.d/下。

执行命令:

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

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

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

复制代码
 $ sudo udevadm control --reload-rules

    
  
    
 $ sudo udevadm trigger

9)查看安装信息

复制代码
    $ st-info –version

说明:在执行上述命令后出现提示消息中显示‘由于权限不足’无法打开文件,并且被拒绝访问的情况下,则应当按照以下步骤进行操作。

复制代码
    $ sudo st-info -version

在执行完成后,在命令行界面无任何提示信息的前提下(即无任何提示信息),接着再次运行st-info –version命令同样也未显示任何提示信息(即无法确定原因)。然而这并不会影响后续的程序烧录过程(即不会影响后续的程序烧录)。通过检查USB端口(即查看USB连接),我们能够获取到我们的STLINK信息(即STLINK相关数据)。

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

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

复制代码
    $ cd test/rt-thread/bsp/stm32/stm32l475-atk-pandora/

执行下面命令进行烧录:

复制代码
    $ st-flash write rtthread.bin  0x8000000

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

6、写在后面

Jlink支持通过./***.sh脚本轻松完成文件烧写。相比之下,STlink同样提供了类似的便利操作方式,并无需每次都切换至工程目录即可完成操作。操作相对便捷,并建议在后续时间发布详细的使用指南以供参考。

全部评论 (0)

还没有任何评论哟~