当前位置:   article > 正文

Ubuntu+Stm32cubeMX+vscode+stlink开发_linux stm32cubeide 链接stlink

linux stm32cubeide 链接stlink

个人工作至于捣鼓一些硬件单片机之类的,偶尔需要开发stm32单片机,以前在win7下使用keil开发和调试。近期,家中电脑换成Ubuntu系统,个人比较喜欢尝试新事物,上网查找资料整理出一份完整的给予Ubuntu+Stm32cubeMX+vscode+stlink的开发环境。

此开发环境核心思想是,Stm32cubeMX用来生成基础的单片机代码和框架,vscode通过安装插件来支持c语言代码开发和调试,openocd是开源的GDB服务可以连接stlink调试单片机。

以下进入正题:

一、安装stm32CubeMX

下载stm32CubeMx

http://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

STM32CubeMX-4.24.0安装包解压后有四个文件

  1. Readme.html
  2. SetupSTM32CubeMX-4.24.0.app
  3. SetupSTM32CubeMX-4.24.0.exe
  4. SetupSTM32CubeMX-4.24.0.linux

执行SetupSTM32CubeMX-4.24.0.linux安装,提示No such file or directory

  1. sudo ./SetupSTM32CubeMX-4.24.0.linux
  2. [sudo] password for user:
  3. sudo: unable to execute ./SetupSTM32CubeMX-4.24.0.linux: No such file or directory

检查SetupSTM32CubeMX-4.24.0.linux文件类型

  1. file SetupSTM32CubeMX-4.24.0.linux
  2. SetupSTM32CubeMX-4.24.0.linux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=99f89dc87e2b65d8a610802a4cd6e5de3b6ea957, not stripped

原来是32位的可执行文件,而我的Ubuntu是64位系统。首先安装32位运行时库。

sudo apt install libc6-i386

再执行SetupSTM32CubeMX-4.24.0.linux安装

  1. sudo ./SetupSTM32CubeMX-4.24.0.linux
  2. Please install Java JRE 1.7.0_45 or a more recent version

要求先安装JRE

sudo apt install default-jre

再执行SetupSTM32CubeMX-4.24.0.linux安装就可以了,接下去按照安装向导提示安装即可。

二、安装openocd

git clone
git://git.code.sf.net/p/openocd/code
cd openocd 
./bootstrap
./configure
make
sudo make install

三、安装GDB及gcc

  1. sudo apt-get install gdb-arm-none-eabi
  2. sudo apt-get install gcc-arm-none-eabi

四、配置udev

  1. sudo vim /etc/udev/rules.d/49-link.rules
  2. //按i键入以下内容
  3. SUBSYSTEMS=="usb", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", \
  4. MODE:="0666", \
  5. SYMLINK+="jlink_%n"
  6. SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", \
  7. MODE:="0666", \
  8. SYMLINK+="stlinkv1_%n"
  9. SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", \
  10. MODE:="0666", \
  11. SYMLINK+="stlinkv2-1_%n"
  12. SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", \
  13. MODE:="0666", \
  14. SYMLINK+="stlinkv2_%n"

以上输入完成后按 :wq回车保存。

使udev生效  sudo /etc/init.d/udev restart

五、安装vscode

  1. 下载vscode https://code.visualstudio.com/;
  2. sudo dpkg -i code_1.24.0-1528306776_amd64.deb  安装;
  3. 安装插件  ARM;
  4. 安装插件  C/C++;
  5. 安装插件 C/C++ Clang Comamnd Adapter;
  6. 安装插件 Cortex-Debug;

六、生成代码并且编译

打开Stm32CubeMx选好配置生成代码,注意要生成makefile类型的代码。进入生成好的代码,目录下会有Makefile文件,输入make执行编译命令。

七、在vscode中调试

使用vscode打开上一步生成代码的目录;
按照下图在调试界面点击绿色三角,在弹出的对话框中选择Cortex Debug;

在弹出的 launch.json中输入如下内容:

  1. {
  2. // Use IntelliSense to learn about possible attributes.
  3. // Hover to view descriptions of existing attributes.
  4. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "Cortex Debug",
  9. "cwd": "${workspaceRoot}",
  10. "executable": "./build/test.elf",
  11. "request": "launch",
  12. "type": "cortex-debug",
  13. "servertype": "openocd",
  14. "configFiles": [
  15. "interface/stlink-v1.cfg",
  16. "target/stm32f0x_stlink.cfg"
  17. ]
  18. }
  19. ]
  20. }

再次点击绿色三角形即可调试。

八、调试之前编译源代码

建立一个task,然后在launch.json调试之前依赖此task,具体的留给你们实现,欢迎各位喜欢折腾的朋友一起交流。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/217743
推荐阅读
相关标签
  

闽ICP备14008679号