赞
踩
个人工作至于捣鼓一些硬件单片机之类的,偶尔需要开发stm32单片机,以前在win7下使用keil开发和调试。近期,家中电脑换成Ubuntu系统,个人比较喜欢尝试新事物,上网查找资料整理出一份完整的给予Ubuntu+Stm32cubeMX+vscode+stlink的开发环境。
此开发环境核心思想是,Stm32cubeMX用来生成基础的单片机代码和框架,vscode通过安装插件来支持c语言代码开发和调试,openocd是开源的GDB服务可以连接stlink调试单片机。
以下进入正题:
下载stm32CubeMx
STM32CubeMX-4.24.0安装包解压后有四个文件
- Readme.html
- SetupSTM32CubeMX-4.24.0.app
- SetupSTM32CubeMX-4.24.0.exe
- SetupSTM32CubeMX-4.24.0.linux
执行SetupSTM32CubeMX-4.24.0.linux安装,提示No such file or directory
- sudo ./SetupSTM32CubeMX-4.24.0.linux
- [sudo] password for user:
- sudo: unable to execute ./SetupSTM32CubeMX-4.24.0.linux: No such file or directory
检查SetupSTM32CubeMX-4.24.0.linux文件类型
- file SetupSTM32CubeMX-4.24.0.linux
- 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安装
- sudo ./SetupSTM32CubeMX-4.24.0.linux
- Please install Java JRE 1.7.0_45 or a more recent version
要求先安装JRE
sudo apt install default-jre
再执行SetupSTM32CubeMX-4.24.0.linux安装就可以了,接下去按照安装向导提示安装即可。
git clone
git://git.code.sf.net/p/openocd/code
cd openocd
./bootstrap
./configure
make
sudo make install
- sudo apt-get install gdb-arm-none-eabi
- sudo apt-get install gcc-arm-none-eabi
sudo vim /etc/udev/rules.d/49-link.rules //按i键入以下内容 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", \ MODE:="0666", \ SYMLINK+="jlink_%n" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", \ MODE:="0666", \ SYMLINK+="stlinkv1_%n" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", \ MODE:="0666", \ SYMLINK+="stlinkv2-1_%n" SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", \ MODE:="0666", \ SYMLINK+="stlinkv2_%n"
以上输入完成后按 :wq回车保存。
使udev生效 sudo /etc/init.d/udev restart
打开Stm32CubeMx选好配置生成代码,注意要生成makefile类型的代码。进入生成好的代码,目录下会有Makefile文件,输入make执行编译命令。
使用vscode打开上一步生成代码的目录;
按照下图在调试界面点击绿色三角,在弹出的对话框中选择Cortex Debug;
在弹出的 launch.json中输入如下内容:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Cortex Debug", "cwd": "${workspaceRoot}", "executable": "./build/test.elf", "request": "launch", "type": "cortex-debug", "servertype": "openocd", "configFiles": [ "interface/stlink-v1.cfg", "target/stm32f0x_stlink.cfg" ] } ] }
再次点击绿色三角形即可调试。
建立一个task,然后在launch.json调试之前依赖此task,具体的留给你们实现,欢迎各位喜欢折腾的朋友一起交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。